注解编辑

注解 API 允许您将注解放置在方法之上,以便自动为它们创建跨度。这种创建跨度的方法比使用 API 更容易、更健壮,而且通常性能更高;您不会犯任何错误,比如忘记结束跨度或关闭作用域。

注解单独使用时灵活性较差,但可以与跨度 API 结合使用以增加灵活性。

如何使用注解 API 创建跨度编辑

下面是一个使用 @CaptureSpan 注解为 spanWithAnnotation() 方法创建跨度的示例。该跨度名为 spanName,类型为 ext,子类型为 http

@CaptureSpan(value = "spanName", type = "ext", subtype = "http")
private static void spanWithAnnotation() {
    // do your thing...
}

与跨度 API 结合使用编辑

您可以将注解与跨度 API 结合使用,以提高它们的灵活性。只需获取带注解方法上的当前跨度,然后根据您的喜好自定义跨度即可。

@CaptureSpan 
private static void spanWithAnnotation(String foo) {
    Span span = ElasticApm.currentSpan(); 
    span.setTag("foo", foo); 
}

使用 @CaptureSpan 注解创建跨度

获取当前跨度(通过 @CaptureSpan 注解创建的跨度)

自定义跨度