全部产品
云市场

添加自定义业务搜索项

更新时间:2019-12-18 20:24:12

在遇到必须使用手机号或流水号来查询链路信息等个性化场景中,可以将这些信息设置为自定义 tag,添加到 span 中。

前置条件

  • 应用必须基于 SOFABoot 技术栈
  • Tracer 必须满足如下条件:
    • 版本>=3.0.5
    • 必须使用主动上报模式
    • 业务代码必须显式依赖 Tracer

说明

  • 主动上报模式:当 Tracer 版本>=3.0.5时,会默认使用该模式,低于该版本时,请先升级版本。
  • 显式依赖 Tracer 指业务类代码中要调用 Tracer 类,如 SofaTraceContext 等。该操作会带来一定侵入性, 请做好封装。

添加方法

您可以通过在业务类中调用 Tracer 类的方式,来设置自定义 tag 及对应的值,示例代码如下:

  1. public void handlerXxx(Map<String, String> request) {
  2. SofaTraceContext ctx = SofaTraceContextHolder.getSofaTraceContext();
  3. SofaTracerSpan span = ctx.getCurrentSpan();
  4. //显式依赖 Tracer,会带来一定侵入性,请做好封装。
  5. if (span != null) {
  6. //将参数添加到自定义tag:xxx_phone 中
  7. span.setTag("xxx_phone", request.get("phone"));
  8. }
  9. // 处理业务逻辑
  10. // ...
  11. }

结果验证

您可通过 链路搜索 功能中的 业务自定义搜索项,输入自定义 tag 及对应的参数,来验证自定义 tag 的添加结果。

假设自定义 tag 为 xxx_phone,对应值为 123,如下所示:

自定义业务 tag

然后,在目标链路的详情页,鼠标悬浮于 服务信息 列上,会弹出 服务信息详情,其中就包含了自定义 tag 及对应参数值,如下所示:

结果验证