协议扩展

本文档介绍了基调听云SDK 基于自定义执行单元相关接口的使用及说明。

创建执行单元

注意:startSpan() 需和 finish() 成对调用。

  • 相关接口
/*
 * @param name 名称,不能为空,长度限制为1024字符,超过截取前1024字符
 * @param operation 数据类型,不能为空,长度限制为128字符,超过截取前128字符 
 */
NBSAppAgent.startSpan(String name, String operation);
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.finish();

完成执行单元

注意:startSpan() 需和 finish() 成对调用。

  • 相关接口
/*
 * @param status 执行状态,默认为 SpanStatus.SPAN_STATUS_OK,可选 SpanStatus.SPAN_STATUS_OK、SpanStatus.SPAN_STATUS_ERROR、SpanStatus.SPAN_STATUS_UNKNOWN 
 */
ISpan.finish()
ISpan.finish(SpanStatus status)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.finish(SpanStatus.SPAN_STATUS_OK);

创建子执行单元

注意:startChild() 需和 finish() 成对调用。

  • 相关接口
/*
 * @param name 名称,不能为空,长度限制为1024字符,超过截取前1024字符
 * @param operation 数据类型,不能为空,长度限制为128字符,超过截取前128字符 
 * @param description 描述信息,长度限制为1024字符,超过截取前1024字符
 */
ISpan.startChild(String name, String operation)
ISpan.startChild(String name, String operation, String description)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
ISpan span_regist = span_login.startChild("regist", "event");
span_regist.finish(SpanStatus.SPAN_STATUS_OK);
span_login.finish(SpanStatus.SPAN_STATUS_OK);

设置 Data 数据

  • 相关接口
/*
 * @param key Data 的 key
 * @param value Data 的 value
 */
ISpan.setData(String key, Object value)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setData("name", "张三");
span_login.finish();

设置 Tag 数据

  • 相关接口
/*
 * @param key Tag 的 key
 * @param value Tag 的 value
 */
ISpan.setTag(String key, String value)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setTag("tag", "login");
span_login.finish();

设置 Metric 数据

  • 相关接口
/*
 * @param key Metric 的 key
 * @param value Metric 的 value
 * @param unit Metric 的单位,可选 Bit、Byte、Kilobytes、Megabytes、Millisecond、Second、Hour、Day、Bitps、Byteps、KBps、MBps,支持自定义
 */
ISpan.setMetric(String key, long value)
ISpan.setMetric(String key, long value, String unit)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setMetric("time", 50, NBSSpanMetricUnit.Millisecond);
span_login.setMetric("size", 100, "Byteps");
span_login.finish();

移除 Data 数据

  • 相关接口
/*
 * @param key Data 的 key
 */
ISpan.removeData(String key)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setData("name", "张三");
span_login.removeData("name");
span_login.finish();

移除 Tag 数据

  • 相关接口
/*
 * @param key Tag 的 key
 */
ISpan.removeTag(String key)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setTag("tag", "login");
span_login.removeTag("tag");
span_login.finish();

移除 Metric 数据

  • 相关接口
/*
 * @param key Metric 的 key
 */
ISpan.removeMetric(String key)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setMetric("time", 100);
span_login.removeMetric("time");
span_login.finish();

设置 Status

  • 相关接口
/*
 * @param status 执行状态,默认为 SpanStatus.SPAN_STATUS_OK,可选 SpanStatus.SPAN_STATUS_OK、SpanStatus.SPAN_STATUS_ERROR、SpanStatus.SPAN_STATUS_UNKNOWN 
 */
ISpan.Status(SpanStatus status)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setStatus(SpanStatus.SPAN_STATUS_OK);
span_login.finish();

设置 Duration

  • 相关接口
/*
 * @param time 执行单元耗时,单位为 ms
 */
ISpan.setDuration(long time)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_loginsetDuration(100)
span_login.finish();

设置 StatusCode

  • 相关接口
/*
 * @param code 状态码,默认为 "0"
 */
ISpan.setStatusCode(String code)
  • 代码示例
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setStatusCode("200");
span_login.finish();
© 2007-2024 北京基调网络股份有限公司 all right reserved,powered by Gitbook本文档更新于: 2024-03-04 10:18

results matching ""

    No results matching ""