HarmonyOS NEXT API说明
一、启动配置接口
<#Config地址#> 与 <#AppID#> 请于平台上获取,获取方式参见《如何查询AppID和Config地址?》。如有问题请联系技术支持。
启动配置类的接口通过链式调用方式随Bonree.withAppID("<#AppID#>").start(this.context.getApplicationContext());一同配置,需要在调用start函数之前withAppID之后进行相关配置,可同时配置多项,start函数后配置无效。
设置config地址
One平台或私有化部署用户启动时需要设置私有部署的config地址。
- 接口说明
withConfigAddress(configAddress: string): Bonree
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| configAddress | 私有化config地址 | 字符串长度大于0,小于等于2083,否则接口调用失败 | 探针停止 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.withAppID("<#AppID#>")
.withConfigAddress("<#Config地址#>")
.start(this.context.getApplicationContext())
设置自定义APP版本
通过此方法设置了自定义设备App版本号,那么SDK将会上报此版本号,不再使用默认获取的版本号.
- 接口说明
withAppVersion(version: string): Bonree
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| version | 自定义的版本号 | 字符串长度大于0,小于等于64,否则接口调用失败 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.withAppID("<#AppID#>")
.withAppVersion("custom app version")
.start(this.context.getApplicationContext());
设置自定义应用环境
通过此方法设置应用环境字段
withAppEnvironment(environment: string): Bonree
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| environment | 应用环境字符 | 字符串长度大于0,小于等于256,超过截取,不包含特殊字符(允许存在空格(不允许纯空格)、字母、中文、数字、-、_、.、@、/、:、*、#、!) | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.withAppID("<#AppID#>")
.withAppEnvironment("PROD")
.start(this.context.getApplicationContext());
使用自定义冷启动结束时间
是否使用自定义冷启动结束时间
- 接口说明
withUseCustomLaunch(used: boolean): Bonree
| 参数 | 说明 |
|---|---|
| used | true 使用自定义结束 false 不使用 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.withAppID("<#AppID#>")
.withUseCustomLaunch(true)
.start(this.context.getApplicationContext());
设置SDK自身请求Header
本接口用于设置对于SDK自身发起的网络请求中添加自定义请求头
- 接口说明
withSDKRequestHeaders(headers: Map<string, string>): Bonree
| 参数 | 说明 | 失败结果 |
|---|---|---|
| headers | 要设置的请求头键值对(最多设置64个,key长度限制256个字符,value长度限制512个字符) | key,value长度限制则单条数据无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
const headers:Map<string,string> = new Map();
headers.set("headerKey1","headerValue1");
headers.set("headerKey2","headerValue2");
headers.set("headerKey3","headerValue3");
Bonree.withAppID("<#AppID#>")
.withSDKRequestHeaders(headers)
.start(this.context.getApplicationContext());
开启加密并设置加密信息
本接口用于设置是否使用国密加密SDK自身请求。
加密功能当前仅支持One平台。使用该功能前请务必先与技术支持或实施沟通获取加密Key,保证与平台配置一致,否则会导致SDK数据请求异常。
withEnableGMSM4Encrypt(secretKey: Uint8Array, identifier: string):Bonree
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| secretKey | 加密密钥 | 必填,byte[] 类型,key长度必须完全等于16个字节 | 加密功能失效 |
| identifier | 密钥标识符 | 必填,字符串不可为空或空串。 字符串小于等于256,且不包含特殊字符(仅支持字母数字下划线_连接符-) | 加密功能失效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let secretKey = new Uint8Array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]);
//assert secretKey.length == 16;务必保证字符实际长度为16字节,请勿使用< > & ' " %特殊字符
let identifier :string ="v30";
Bonree.withAppID("<#AppID#>")
.withEnableGMSM4Encrypt(secretKey,identifier)
.start(this.context.getApplicationContext());
或
let secretKeyStr="1234567890123456"
let textEncoder = new util.TextEncoder('utf-8');
let secretKey = textEncoder.encodeInto(secretKeyStr);
//assert secretKey.length == 16;务必保证字符实际长度为16字节,请勿使用< > & ' " %特殊字符
let identifier :string ="v30";
Bonree.withAppID("<#AppID#>")
.withEnableGMSM4Encrypt(secretKey,identifier)
.start(this.context.getApplicationContext());
设置用户渠道ID
区分应用发布的渠道, 渠道信息会在平台的性能数据中做展示
- 接口说明
withChannelID(channelID: string): Bonree
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| channelID | 自定义的渠道号 | 符串长度大于0,小于等于256,否则接口调用失败 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.withAppID("<#AppID#>")
.withChannelID("channelID")
.start(this.context.getApplicationContext());
开启会话回放上报
在会话回放功能打开的前提下,SDK默认在产生问题时才会上报回放数据,若客户端主动调用该接口会立刻开启会话回放的持续上报能力。
static startSessionReplayUpload();
- 示例
ItemButton({ btnName: "浏览" }).onClick(() => {
Bonree.startSessionReplayUpload();
}).width('20%')
二、数据获取接口
获取设备ID
如果在SDK启动时设置了 withDeviceID 接口,那么会返回自定义的ID
- 接口说明
static getDeviceID(): string
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
const deviceID = Bonree.getDeviceID();
console.log("BRSDK: "+deviceID);
获取SDK当前版本
获取当前SDK的版本
- 接口说明
static getSdkVersion(): string
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
const sdkVersion = Bonree.getSdkVersion();
console.log("BRSDK: "+sdkVersion);
三、自定义信息设置接口
自定义用户信息
BonreeSDK支持设置与用户相关的信息,从而完成性能数据与实际用户相关联的需求场景。
设置用户信息有两种方式:
- 设置用户ID,以字符串形式给用户做标识
setUserID(userID: string);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| userID | 以字符串形式给用户做标识 | 字符串可为空或空串。 字符串小于等于256,且不包含特殊字符(只允许数字、字母、中文、冒号、空格、斜杠、下划线、连字符、英文句号、星号、叹号、@、#,空或空串无效),否则接口调用失败 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.setUserID("18988888888");
设置用户附加信息
- 设置用户更加详细的附加信息。
static setUserExtraInfo(extraInfo: Map<string, Object>);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| extraInfo | 用户附加信息 | Map中kv最多64对 超过则保留其中64个,key长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效);value小于512,超过则截取 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
const userInfo = new Map<string, Object>();
userInfo.set("phoneNumber", "18988888888");
userInfo.set("clientID", "harmony device id");
userInfo.set("type", "vip");
Bonree.setUserExtraInfo(userInfo);
追加用户附加信息
- 追加用户附加信息
static addUserExtraInfo(key: string, value: Object);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | 追加的key | key长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效); | 当次设置无效 |
| value | key对应的value | value小于512,超过则截取 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.addUserExtraInfo("age","18");
移除用户附加信息
- 移除用户附加信息
static removeUserExtraInfo(key: string);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | 追加的key | key长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效); | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.removeUserExtraInfo("age");
累加用户数值信息
- 累加用户数值信息
static increaseUserExtraInfo(key: string, value: number);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | 追加的key | key长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效); | 当次设置无效 |
| value | key对应的value | value 仅支持Number类型 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.increaseUserExtraInfo("number",1);
添加事件的公共属性
- 添加事件的公共属性
static addEventAttributes(attributes: Map<string, Object>, isSaveLocal: boolean);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| attributes | 要添加的信息,相同的key会覆盖之前的设置 | map中kv最多64对 超过则保留其中64个;key长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效); | 当次设置无效 |
| isSaveLocal | 是否持久化本地,true:公共属性会持久化到本地,下次打开应用还会带上公共属性。false:仅本次使用期间生效 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
const attributes = new Map<string, Object>();
attributes.set("onclick", "1");
attributes.set("page", "1");
attributes.set("type", "vip");
Bonree.addEventAttributes(attributes, true);
添加单条事件的公共属性
- 添加单条事件的公共属性
static addEventAttribute(key: string, value: Object, isSaveLocal: boolean);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | 要添加信息的key | key长度小于等于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效); | 当次设置无效 |
| value | 要添加信息的value | value长度小于等于512,超过则截取 | 当次 |
| isSaveLocal | 是否持久化本地,true:公共属性会持久化到本地,下次打开应用还会带上公共属性。false:仅本次使用期间生效 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.addEventAttribute("onclick",1,true);
移除事件公共属性
- 移除事件公共属性
static removeEventAttribute(keys: string[])
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| keys | 要删除key的数组 | key长度小于等于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效); | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
const removeKeys=["name","age"];
Bonree.removeEventAttribute(removeKeys);
移除所有事件公共属性
- 移除所有事件公共属性
static removeAllEventAttributes();
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.removeAllEventAttributes();
自定义异常
调用接口并传入相应参数,可完成自定义异常数据的统计功能。
static setCustomException(error: Error); //推荐使用,直接将Exception或Throwable对象传入即可
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| throwable | 异常对象 | 系统抛出的异常对象,非null | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
try {
throw new Error("Test");
} catch (err) {
Bonree.setCustomException(err);
}
//此重载配置更灵活,可用于业务型异常上报,有关参数可填充符合参数限制的任意内容,平台直接展示。
static setCustomException(errorType: string, causeBy?: string, errorDump?: string);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| exceptionType | 异常类型(必要) | 字符串长度大于0,小于等于256,否则接口调用失败。 | 当次设置无效 |
| causeBy | 异常原因 | 字符串可为空或空串。 字符串小于等于512,超长截取。 | - |
| errorDump | 异常信息 | 超出10000字符时会被切割 | 字符串可为空或空串。 字符串小于等于10000,超长截取。 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
try {
throw new Error("Test");
} catch (err) {
if (err instanceof Error) {
Bonree.setCustomException(err.name, err.message, err.stack);
}
}
自定义视图
调用接口并传入相应参数,可完成自定义视图数据统计功能。
//自定义视图-页面开始,与页面结束需成对调用,一般调用位置:onPageShow name视图名称为必填字段,如果为空则调用失败。
static setCustomPageStart(pageName: string, param?: string);
//自定义视图-页面结束,与页面开始成对调用,一般调用位置:onPageHide
static setCustomPageEnd(pageName: string, param?: string);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| pageName | 视图名字(必要) | 字符串长度大于0,小于等于256,否则接口调用失败。 | 当次设置无效 |
| param | 附加信息,可设置为视图别名 | 字符串可为空或空串。 字符串小于等于256,超长截取。 | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
onPageShow() {
Bonree.setCustomPageStart("Index", "首页");
}
onPageHide() {
Bonree.setCustomPageEnd("Index", "首页");
}
自定义事件(完整版)
分别调用开始与结束接口并传入相应参数,可完成自定义事件数据与事件持续时间的统计功能。
static setCustomEventStart(eventID: string, name?: string, label?: string, param?: string, info?: Map<string, string>)
static setCustomEventEnd(eventID: string, name?: string, label?: string, param?: string, info?: Map<string, string>);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| eventID | 事件ID(必要) | 字符串长度大于0,小于等于256,否则接口调用失败。 | 当次设置无效 |
| name | 事件名称 | 字符串可为空或空串。 字符串小于等于256,超长截取。 | - |
| label | 事件标签 | 字符串可为空或空串。 字符串小于等于256,超长截取。 | - |
| param | 事件附加信息 | 字符串可为空或空串。 字符串小于等于7000,超长截取。 | - |
| info | 事件业务信息 | 可为空,转JSON后长度在7000字符以内,否则接口调用失败。 | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.setCustomEventStart("vip-login","验证码发送","登录");
Bonree.setCustomEventEnd("vip-login","验证码发送","登录");
//带有info字段的调用
const info = new Map<string, string>();
info.set("eventNumber", "10001");
info.set("eventName", "bonree");
info.set("eventXX", "xx");
Bonree.setCustomEventStart("vip-login", "验证码发送", "登录", undefined, info);
Bonree.setCustomEventEnd("vip-login", "验证码发送", "登录", undefined, info);
自定义事件(精简版)
调用接口并传入相应参数,可完成自定义事件数据统计功能。
static setCustomEvent(eventID: string, name?: string, label?: string, param?: string, info?: Map<string, string>);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| eventID | 事件ID(必要) | 字符串长度大于0,小于等于256,否则接口调用失败。 | 当次设置无效 |
| name | 事件名称 | 字符串可为空或空串。 字符串小于等于256,超长截取。 | - |
| label | 事件标签 | 字符串可为空或空串。 字符串小于等于256,超长截取。 | - |
| param | 事件附加信息 | 字符串可为空或空串。 字符串小于等于7000,超长截取。 | - |
| info | 事件业务信息 | 可为空,转JSON后长度在7000字符以内,否则接口调用失败。 | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.setCustomEvent("001","注册");
const info = new Map<string, string>();
info.set("eventNumber", "10001");
info.set("eventName", "bonree");
info.set("eventXX", "xx");
Bonree.setCustomEvent("vip-login", "登录失败", undefined, undefined, info);
自定义日志
调用接口并传入相应参数,可完成自定义日志数据统计功能。
static setCustomLog(logInfo: string);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| logInfo | 日志信息(必要) | 字符串长度大于0,否则接口调用失败。 字符串小于等于10000,超长截取。 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.setCustomLog("login successful...");
自定义指标
调用接口并传入相应参数,可完成自定义指标数据统计功能。
static setCustomMetric(name: string, value: number)
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| name | 指标名称(必要) | 字符串长度大于0,小于等于256,否则接口调用失败。 | 当次设置无效 |
| value | 指标值(必要) | Long.MAX_VALUE | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.setCustomMetric("自定义指标",systemDateTime.getTime(false));
自定义方法
调用接口并传入相应参数,可完成自定义指标数据统计功能。自定义方法埋点多用于不在SDK自动采集范围内的业务方法或异步方法的手动埋点。
static setCustomMethodStart(name: string);
static setCustomMethodEnd(name: string);
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| name | 方法名称(必要) | 字符串长度大于0,小于等于256,否则接口调用失败。 | 当次设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
onNetworkLoad(){
Bonree.setCustomMethodStart("onNetworkLoad");
//do something
Bonree.setCustomMethodEnd("onNetworkLoad");
}
自定义网络
调用接口并传入相应参数,可完成自定义指标数据统计功能。自定义方法埋点多用于不在SDK自动采集范围内的业务方法或异步方法的手动埋点。
static setCustomNetwork(networkCustomEvent: NetworkCustomEvent.NetworkCustomEventBean)
| 参数 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| networkCustomEvent | 实体结构(必要) | 指标结构对象。必传参数。 | 当次设置无效 |
@param requestUrl:string //请求地址
@param method:HttpMethod //请求方式
@param targetIp:string | undefined //目标IP
@param targetPort:number //目标端口
@param dnsTimeUs:number //dns查询时间
@param connectTimeUs:number //tcp建连时间
@param sslTimeUs:number //ssl时间
@param requestTimeUs:number //请求时间
@param responseTimeUs:number //响应时间
@param downloadTimeUs:number //下载用时
@param downloadSizeByte:number //响应数据大小
@param protocolType:ProtocolType //协议类型
@param cnameArray:Array<string> | undefined //cname的集合
@param errorCode:number | undefined //错误码
@param errorMessage:string | undefined //错误描叙信息
@param errorOccurrentProcess:ErrorOccurrentProcess | undefined //错误发生的过程阶段
@param requestDataSize:number | undefined //请求大小的字段
@param resourceType:string | undefined //资源类型
@param requestHeader:Map<string, string> | undefined //请求header
@param responseHeader:Map<string, string> | undefined; //响应header
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.setCustomNetwork(
new NetworkCustomEvent.NetworkCustomEventBean("https://www.bonree.com",
NetworkCustomEvent.HttpMethod.GET,
"127.0.0.1",
443, 20000,
10000,
50000,
20000,
500000,
10000,
55,
NetworkCustomEvent.ProtocolType.HTTPS));
自定义冷启动结束
在启动配置中配置了withUseCustomLaunch 接口后,调用此自定义接口可以设置当前时刻为自定义冷启动事件的结束点
static recordCustomLaunchEnd();
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
Bonree.recordCustomLaunchEnd();
四、协议扩展接口
本章节介绍基于协议扩展相关接口的使用及说明。
创建扩展协议实例
调用创建接口,返回实现了Span协议的实例对象,失败则返回undefined。
static startSpan(name: string, type: string): Span | undefined;
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| name | 协议扩展的名称(必要) | 字符串长度大于0,小于等于256,超过截取,只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效 | 接口调用无效,返回undefined |
| type | 协议扩展的类型(必要) | 字符串长度大于0,小于等于256,超过截取,只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效 | 接口调用无效,返回undefined |
| 返回值类型 | 说明 |
|---|---|
Span | 协议扩展的实例对象 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
//创建Span
let span:Span = Bonree.startSpan("name","type");
注意:创建接口即startSpan需和完成接口即finish(spanStatus?:SpanStatus)成对调用。
协议扩展完成
完成该协议扩展数据,完成后调用其他实例方法无效。
finish(spanStatus?:SpanStatus);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| spanStatus | 协议扩展状态(可选) | 取值SPAN_STATUS_UNKNOWN,SPAN_STATUS_OK,SPAN_STATUS_ERROR | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
//...
//完成该Span
span.finish();
//or
span.finish(SpanStatus.SPAN_STATUS_OK);
创建子协议扩展实例
在一个协议扩展对象上创建一个子协议扩展对象,返回实现Span协议的实例。
startChild(name:string,type:string):Span | undefined;
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| name | 协议扩展的名称(必要) | 字符串长度大于0,小于等于256,超过截取。只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效 | 接口调用无效,返回undefined |
| type | 协议扩展的类型(必要) | 字符串长度大于0,小于等于256,超过截取。只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效(需与父span类型一致,否则沿用父span类型) | 接口调用无效,返回undefined |
| 返回值类型 | 说明 |
|---|---|
Span | 协议扩展的实例对象 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
let childSpan:Span = span.startChild("childName","chindType");
注意:完成父协议扩展对象时会自动将其所有子协议扩展对象完成(若没设置过状态的默认为SPAN_STATUS_OK)
当前仅支持单层协议扩展,即顶层Span可以创建子Span,但是不支持子Span下的子Span。
当Span类型为socket或websocket两个预留类型之一时,暂不支持其下创建子Span。
设置Data数据
设置协议扩展内的Data数据
setData(key:string,value:string);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | Data对应的key值(必要) | 字符串长度大于0,小于等于200,大小写不敏感, 允许字母、下划线、连字符、英文句号,且必须以字母开始、字母结束 | 接口调用无效 |
| value | Data值(必要) | 字符串长度大于0,小于等于7000,超过截取 | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
//...
//添加Data数据
span.setData("key","value");
移除Data数据
移除协议扩展内的Data数据
removeData(key:string);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | 根据key值,移除对应的Data数据(必要) | - | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
span.setData("key","value");
//...
//删除Data数据
span.removeData("key");
设置Tag数据
设置协议扩展内的Tag数据
setTag(key:string,value:string);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | Tag对应的key值(必要) | 字符串长度大于0,小于等于200,大小写不敏感。允许字母、下划线、连字符、英文句号,且必须以字母开始、字母结束 | 接口调用无效 |
| value | Tag值(必要) | 字符串长度大于0,小于等于7000,超过截取 | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span =Bonree.startSpan("name","type");
//...
//添加Tag数据
span.setTag("key","value");
移除Tag数据
移除协议扩展内的Tag数据
removeTag(key:string);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | 根据key值,移除对应的Tag数据(必要) | - | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
span.setTag("key","value");
//...
//删除Tag数据
span.removeTag("key");
设置Metric数据
设置协议扩展内的Metric数据
setMetric(key: string, value: number, unit?: SpanMetricUnit | string);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | Metric对应的key值(必要) | 字符串长度大于0,小于等于200,大小写不敏感。允许字母、下划线、连字符、英文句号,且必须以字母开始、字母结束 | 接口调用无效 |
| value | Metric值(必要) | - | - |
| unit | Metric的单位名称(可选) | 字符串长度大于0,小于等于256。只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@ ,可使用预置枚举单位(SpanMetricUnit) | 仅单位设置无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
//...
//添加Metric数据
span.setMetric("key",1000,"tcp");
//or
span.setMetric("key",1000,SpanMetricUnit.Byte);
注意:SDK内部预置了unit单位,预置单位类型见SpanMetricUnit枚举类,支持string自定义单位。
移除Metric数据
移除协议扩展内的Metric数据
removeMetric(key:string);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| key | 根据key值,移除对应的Metric数据(必要) | - | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
span.setMetric("key",1000,"ms");
//...
//删除Metric数据
span.removeMetric("key");
设置Status
设置协议扩展的状态。
setStatus(status:SpanStatus);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| status | 协议扩展实例状态,取值SPAN_STATUS_UNKNOWN,SPAN_STATUS_OK,SPAN_STATUS_ERROR(必要) | - | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
//...
//设置Status状态
span.setStatus(SpanStatus.SPAN_STATUS_OK);
设置StatusCode
设置协议扩展的状态码。
setStatusCode(code:string);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| code | 状态码值(必要) | 字符串长度大于0,小于等于7000,超过接口调用无效 | 接口调用无效 |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
//...
//设置Status状态码
span.setStatusCode("200");
设置Duration
主动设置span耗时,如果未主动调用该方法,则span耗时为从start到finish的时长。
setDuration(duration:number);
- 接口说明
| 参数名 | 说明 | 参数限制 | 失败结果 |
|---|---|---|---|
| duration | 协议扩展耗时,单位:微秒(us)(必要) | - | - |
- 元服务API
该接口已支持在元服务SDK中使用
- 示例
let span:Span = Bonree.startSpan("name","type");
//...
//设置持续时长
span.setDuration(100);