链路跟踪

1. 请求消息

1.1 topic

Topic
/v1/devices/{DeviceSn}/trace/command

消息发送方

物联网平台

消息接收方

网关设备

1.2 请求消息payload

数据域
数据类型
是否必选
描述

mid

stirng

消息ID,推荐使用uuid, 请求和应答匹配,用来匹配请求和应答消息和去重

msgTime

string

消息发送时间戳,RFC3339标准,例如:1985-04-12T23:20:50.52Z

zone

string

设备部署的区域,例如ZONE3

node

string

设备部署的节点,例如440000

requestId

string

微服务链路追踪用的标识

deviceSn

string

设备ESN码,用于唯一标识设备

deviceId

string

统一物联网平台分配的设备id,据说可能会重复,不能唯一标识设备

service

string

服务名称。这里固定为:diagnostics

cmd

string

具体操作方法,这里固定为:callLinkTrace

params

jsonObject

对象内容

params结构体说明

字段名
必选/可选
类型
参数描述

spanId

必选

string

链路中的当前组件的唯一标识,每次都不一样。此时应该是mqtt的标识id

parentId

必选

string

链路中的上一个组件的唯一标识,每次都不一样。此时应是上一个组件kafka的唯一标识。

请求示例

{
    "mid": 54132,
    "msgTime": "2023-07-06T15:06:38Z",
    "zone":"设备部署的区域",
    "node":"设备部署的节点",
    "requestId":"xxxxxxxxxx",
    "deviceSn": "D23pigXo",
    "deviceId": "A1234456",
    "service": "trace",
    "cmd": "callLinkTrace",
    "params": {
        "spanId": "154245434359165",
        "parentId": "154245434359446"
    }
 }

2. 应答消息

2.1 Topic

Topic
/v1/devices/trace/response

消息发送方

网关设备

消息接收方

物联网平台

2.2  应答消息payload

数据域
数据类型
是否必选
描述

mid

string

消息ID,用于消息去重。

replyId

string

表示响应的是哪条请求指令,为该指令的mid,用来匹配请求和应答

msgTime

string

消息发送时间戳,采用RFC3339标准,例如:1985-04-12T23:20:50.52Z。

zone

string

设备部署的区域,例如ZONE3

node

string

设备部署的节点,例如440000

requestId

string

微服务链路追踪用的标识

deviceSn

string

设备ESN码,用于唯一标识设备

deviceId

string

统一物联网平台分配的设备id,据说可能会重复,不能唯一标识设备

code

uint16

标识应答的返回码

批处理请求时,如果所有处理都成功,返回200

如果有部分失败,返回400。

取值如下:

•200:请求成功。

•400:请求消息错误,例如消息格式错误等。

•404:不支持该操作。

•429:请求太多。

•500:服务端内部错误,由应用定义。

body

List<jsonObject>

详情

body结构体说明

字段名
必选/可选
类型
参数描述

spanId

必选

String

链路中的当前组件的唯一标识,每次都不一样。此时应该是物盾探针应用的标识id

parentId

必选

String

链路中的上一个组件的唯一标识,每次都不一样。此时应是上一个组件mqtt的唯一标识。

inputTime

必选

String

应用接收消息的时间

outputTime

必选

String

应用处理结束时间

应答示例

{
     "mid": "54132",
     "replyId": "54132",
     "code": 100, // 指令接收成功,等待执行完成
     "zone":"设备部署的区域",
     "node":"设备部署的节点",
     "deviceSn": "D23pigXo",
     "deviceId": "A1234456",
     "requestId":"xxxxxxxxxx",
     "msgTime": "2023-07-06T15:06:38Z",
         "body":[{
             "parentId": "sd4dgfh323aafasfasdf",//上一个组件的spanId,emqx
             "spanId":"2345dfssafasf65regg", //当前应用的唯一标识id
             "inputTime": 1689755672693, //应用接收消息的时间
             "outputTime": 1689755672788 //应用处理结束时间
         }]
 }

最后更新于