注解

编辑

使用 注解 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 注解创建的跨度)

自定义跨度