【问题标题】:How to track spring controller api response in brave trace object如何在勇敢的跟踪对象中跟踪弹簧控制器 api 响应
【发布时间】:2019-05-29 08:51:16
【问题描述】:

我们使用基于注解的跨度标签来标记控制器中的方法值和请求对象。我们已经看到了两种行为

  • 当出现错误或运行时异常时,跟踪对象获取 http 状态 500 和预期的错误消息。
  • 当 API 调用成功时,它不会在 span 对象中显示任何 http 状态代码标记,应该是 200 ok。

我们无法在 span 中包含 api 响应对象。 控制器 API 调用是这样的:

  @PostMapping(path = "/{reuqestParam}/submit")
  @ContinueSpan(log = "submit")
  public IngestionResponse submit(final InputStream inputStream,
      @SpanTag("reuqestParam") @PathVariable String reuqestParam,
      @SpanTag("HttpHeaders") @RequestHeader HttpHeaders httpHeaders) {
    LOGGER.info("[Upload to Stream]: Begin");
    final IngestionResponse ingestionResponse = ingestionService
        .ingestInputStream(inputStream, reuqestParam, httpHeaders);
    LOGGER.info("[Upload to Stream]: Completed");
    return ingestionResponse;
  }

Span 对象包含方法参数/方法名称,但 HTTP 状态代码也缺少响应对象。无论 api 成功或失败,我们都需要捕获这两个信息。

【问题讨论】:

    标签: spring-cloud-sleuth zipkin


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2012-01-27
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    相关资源
    最近更新 更多