W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
本模塊提供了端側(cè)業(yè)務(wù)流程調(diào)用鏈跟蹤的打點(diǎn)能力,包括業(yè)務(wù)流程跟蹤的啟動、結(jié)束、信息埋點(diǎn)等能力。
本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
跟蹤標(biāo)志組合類型枚舉。
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.HiviewDFX.HiTrace。
名稱 | 值 | 說明 |
---|---|---|
DEFAULT | 0 | 缺省標(biāo)志。 |
INCLUDE_ASYNC | 1 | 異步調(diào)用標(biāo)志。啟動跟蹤時,缺省只跟蹤同步調(diào)用。設(shè)置該標(biāo)志,同時跟蹤同步、異步調(diào)用。 |
DONOT_CREATE_SPAN | 1 << 1 | 無分支標(biāo)志。啟動跟蹤時,在同步、異步調(diào)用時缺省自動創(chuàng)建分支信息。設(shè)置該標(biāo)志,指示不創(chuàng)建分支。 |
TP_INFO | 1 << 2 | 埋點(diǎn)標(biāo)志。啟動跟蹤式時,缺省不進(jìn)行埋點(diǎn)。調(diào)試場景下設(shè)置該標(biāo)志,在同步、異步調(diào)用的收發(fā)側(cè)自動埋點(diǎn),輸出埋點(diǎn)信息和時間戳。收發(fā)埋點(diǎn)按照client、server分為client send(CS)、server receive(SR)、server send(SS)、client receive(CR)四類信息。一次同步調(diào)用輸出CS/SR/SS/CR,一次異步調(diào)用輸出CS/SR/SS三個埋點(diǎn)信息。 |
NO_BE_INFO | 1 << 3 | 無起始結(jié)束標(biāo)志。啟動跟蹤時,缺省打印啟動及結(jié)束跟蹤信息。設(shè)置該標(biāo)志,指示不打印啟動及結(jié)束跟蹤信息。 |
DISABLE_LOG | 1 << 4 | 日志關(guān)聯(lián)標(biāo)志。設(shè)置該標(biāo)志,指示隱藏日志中的跟蹤信息。 |
FAILURE_TRIGGER | 1 << 5 | 故障觸發(fā)標(biāo)志。預(yù)置標(biāo)志,暫時沒有作用。 |
D2D_TP_INFO | 1 << 6 | 設(shè)備間埋點(diǎn)標(biāo)志。TP_INFO的一個子集,設(shè)置該標(biāo)志,只進(jìn)行設(shè)備間的調(diào)用埋點(diǎn)。 |
跟蹤埋點(diǎn)類型枚舉。
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.HiviewDFX.HiTrace。
名稱 | 值 | 說明 |
---|---|---|
CS | 0 | 客戶端發(fā)送類型,標(biāo)識client側(cè)的發(fā)送埋點(diǎn)。 |
CR | 1 | 客戶端接收類型,標(biāo)識client側(cè)的接收埋點(diǎn)。 |
SS | 2 | 服務(wù)端發(fā)送類型,標(biāo)識server側(cè)的發(fā)送埋點(diǎn)。 |
SR | 3 | 服務(wù)端接收類型,標(biāo)識server側(cè)的接收埋點(diǎn)。 |
GENERAL | 4 | 一般類型,標(biāo)識CS、CR、SS、SR四種場景之外的埋點(diǎn)。 |
跟蹤通信類型枚舉。
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.HiviewDFX.HiTrace。
名稱 | 值 | 說明 |
---|---|---|
DEFAULT | 0 | 缺省通信類型 |
THREAD | 1 | 線程間通信類型 |
PROCESS | 2 | 進(jìn)程間通信類型 |
DEVICE | 3 | 設(shè)備間通信類型 |
此接口為HiTraceId對象接口。
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.HiviewDFX.HiTrace。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
chainId | bigint | 是 | 跟蹤鏈標(biāo)識。 |
spanId | number | 否 | 分支標(biāo)識。 |
parentSpanId | number | 否 | 父分支標(biāo)識。 |
flags | number | 否 | 跟蹤標(biāo)志組合。 |
begin(name: string, flags?: number): HiTraceId
開始跟蹤,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 跟蹤業(yè)務(wù)名。 |
flags | number | 否 | 跟蹤標(biāo)志組合,具體可參考HiTraceFlag。 |
返回值:
類型 | 說明 |
---|---|
HiTraceId | HiTraceId實(shí)例。 |
示例:
- let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
end(id: HiTraceId): void
結(jié)束跟蹤,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
id | HiTraceId | 是 | HiTraceId實(shí)例。 |
示例:
- let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.DEFAULT);
- // 若干業(yè)務(wù)邏輯完成后,結(jié)束跟蹤。
- hiTraceChain.end(asyncTraceId);
getId(): HiTraceId
獲取跟蹤標(biāo)識,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
返回值:
類型 | 說明 |
---|---|
HiTraceId | HiTraceId實(shí)例。 |
示例:
- let traceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.DEFAULT);
- // 若干業(yè)務(wù)邏輯完成后,獲取當(dāng)前HiTraceId。
- let curTraceId = hiTraceChain.getId();
setId(id: HiTraceId): void
設(shè)置跟蹤標(biāo)識,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
id | HiTraceId | 是 | HiTraceId實(shí)例。 |
示例:
- let asyncTraceId;
- let traceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.DEFAULT);
- // 若干業(yè)務(wù)邏輯完成后,設(shè)置當(dāng)前HiTraceId。
- hiTraceChain.setId(asyncTraceId);
clearId(): void
清除跟蹤標(biāo)識,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
示例:
- let traceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.DEFAULT);
- // 若干業(yè)務(wù)邏輯完成后,清除當(dāng)前HiTraceId。
- hiTraceChain.clearId();
createSpan(): HiTraceId
創(chuàng)建跟蹤分支,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
返回值:
類型 | 說明 |
---|---|
HiTraceId | HiTraceId實(shí)例。 |
示例:
- let traceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.DEFAULT);
- // 若干業(yè)務(wù)邏輯完成后,創(chuàng)建跟蹤分支。
- let spanTraceId = hiTraceChain.createSpan();
tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTraceId, msg?: string): void
信息埋點(diǎn),同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
mode | HiTraceCommunicationMode | 是 | 信息埋點(diǎn)需要指定的跟蹤通信模式。 |
type | HiTraceTracepointType | 是 | 信息埋點(diǎn)需要指定的跟蹤埋點(diǎn)類型。 |
id | HiTraceId | 是 | 實(shí)施信息埋點(diǎn)操作的HiTraceId實(shí)例。 |
msg | string | 否 | 信息埋點(diǎn)操作傳入的trace說明信息。 |
示例:
- let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
- // 若干業(yè)務(wù)邏輯完成后,觸發(fā)信息埋點(diǎn)操作。
- hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.THREAD, hiTraceChain.HiTraceTracepointType.SS, asyncTraceId, "Just a example");
isValid(id: HiTraceId): boolean
判斷HiTraceId對象是否有效,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
id | HiTraceId | 是 | 需要判斷是否有效的HiTraceId實(shí)例。 |
返回值:
類型 | 說明 |
---|---|
boolean | 返回true表示HiTraceId有效,否則無效。 |
示例:
- let traceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.DEFAULT);
- let traceIdIsvalid = hiTraceChain.isValid(traceId);
isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean
判斷HiTraceId對象中指定的跟蹤標(biāo)志是否已置位,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
id | HiTraceId | 是 | 需要判斷指定跟蹤標(biāo)志是否置位的HiTraceId實(shí)例。 |
flag | HiTraceFlag | 是 | 指定的跟蹤標(biāo)志。 |
返回值:
類型 | 說明 |
---|---|
boolean | 返回true標(biāo)識HiTraceId已置位指定的flag,否則沒有置位。 |
示例:
- let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
- // enabledDoNotCreateSpanFlag為true
- let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
enableFlag(id: HiTraceId, flag: HiTraceFlag): void
置位HiTraceId對象中指定的跟蹤標(biāo)志,同步接口。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
id | HiTraceId | 是 | 需要置位指定跟蹤標(biāo)志的HiTraceId實(shí)例。 |
flag | HiTraceFlag | 是 | 指定的跟蹤標(biāo)志。 |
示例:
- let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
- hiTraceChain.enableFlag(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
- // enabledDoNotCreateSpanFlag為true
- let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: