### 实现方式
1、VTM在调用外部接口时，传递北斗链路信息。
- 需传递数据如下
```
struct HttpClientTraceLink {
    char X_B3_BusinessId[33];  // 业务ID
    char X_B3_TraceId[33];     // 跟踪ID
    char X_B3_SpanId[17];       // 跨度ID
    char X_B3_ParentSpanId[17]; // 父跨度ID
    char X_B3_Timestamp[17];    // 时间戳
};
```
2、首先VTM生成当前的头结点，规则如下：
- BusinessId为32位终端特定信息
- traceId为32位uuid，传递到下一跳时不变
- spanId为16位uuid
- parentSpanId为"0"
3、VTM自行发送头节点
4、更新链路节点，以（1）的形式发送给服务器。
5、BussinessId说明：
LR0402getTerminalCfg
LR0402getVTMErrCfg
LR0402getToken
LR0402getVtmErr
LR0402uploadTerminalVersion
LR0402sessionkey
LR0402wkupdate
LR0402access
LR0402initmk
LR0402SendAlarm
LR0402alarm
LR0402registerCard
LR0402syncMaterialCount
LR0402cardType
LR0402uploadVersion
LR0402updateVersion
LR0402syncCenter
LR0402getCentersetting
LR0402CallRoute
LR0402handShake
LR0402imgCheck
LR0402bringnessInfo
LR0402record
LR0402sendSM3
LR0402updateTaskStatus
LR0402queryTask
LR0402perTask
LR0402queryNewTask
LR0402queryTaskStatus
LR0402DownloadFile
LR0402UploadFile
LR0402queryTempFile
LR0402updateState
LR0402updateFail
LR0402queryPlan


### 需要注意的部分
1、与特性时不同，除了日志接口外，其他接口都支持链路追踪，包含文件下载和文件上传。
- 日志接口不行，是因为会造成重复循环引用。
2、guardian中，添加了北斗上送的功能，涉及到的接口为gettoken
3、并非所有接口都能看到完整链路信息，部分只能看到头节点。
- 调用access-proxy接口能看到完整链路信息
- 其他的，服务器未处理，所以看不到完整链路信息
4、如需要查看北斗链路信息，可通过链路单条查询和北斗链路查询结合来看。