跳到主要内容
版本:3.7.0

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
参数说明
usedtrue 使用自定义结束 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追加的keykey长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效);当次设置无效
valuekey对应的valuevalue小于512,超过则截取当次设置无效
  • 元服务API

该接口已支持在元服务SDK中使用

  • 示例
Bonree.addUserExtraInfo("age","18");

移除用户附加信息

  • 移除用户附加信息
static removeUserExtraInfo(key: string);
参数说明参数限制失败结果
key追加的keykey长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效);当次设置无效
  • 元服务API

该接口已支持在元服务SDK中使用

  • 示例
Bonree.removeUserExtraInfo("age");

累加用户数值信息

  • 累加用户数值信息
static increaseUserExtraInfo(key: string, value: number);
参数说明参数限制失败结果
key追加的keykey长度小于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效);当次设置无效
valuekey对应的valuevalue 仅支持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要添加信息的keykey长度小于等于256,超过则该key无效,且不包含特殊字符(只允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@,空或空串无效);当次设置无效
value要添加信息的valuevalue长度小于等于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_UNKNOWNSPAN_STATUS_OKSPAN_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);
  • 接口说明
参数名说明参数限制失败结果
keyData对应的key值(必要)字符串长度大于0,小于等于200,大小写不敏感, 允许字母、下划线、连字符、英文句号,且必须以字母开始、字母结束接口调用无效
valueData值(必要)字符串长度大于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);
  • 接口说明
参数名说明参数限制失败结果
keyTag对应的key值(必要)字符串长度大于0,小于等于200,大小写不敏感。允许字母、下划线、连字符、英文句号,且必须以字母开始、字母结束接口调用无效
valueTag值(必要)字符串长度大于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);
  • 接口说明
参数名说明参数限制失败结果
keyMetric对应的key值(必要)字符串长度大于0,小于等于200,大小写不敏感。允许字母、下划线、连字符、英文句号,且必须以字母开始、字母结束接口调用无效
valueMetric值(必要)--
unitMetric的单位名称(可选)字符串长度大于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_UNKNOWNSPAN_STATUS_OKSPAN_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);