API/代码
编辑API/代码
编辑使用 span API 手动创建感兴趣方法的跨度。该 API 非常灵活,并提供了自定义跨度的能力,例如添加标签或更改类型、名称或时间戳。
OpenTracing 粉丝?您可以使用 OpenTracing API 来手动创建跨度,而不是使用 Agent API。
如何使用 span API 创建跨度
编辑- 使用
currentSpan()
获取当前跨度,该跨度可能是也可能不是通过自动检测创建的。 - 使用
startSpan()
创建子跨度。 - 使用
activate()
激活跨度。 - 使用 span API 自定义跨度。
import co.elastic.apm.api.ElasticApm; import co.elastic.apm.api.Span; Span parent = ElasticApm.currentSpan(); Span span = parent.startSpan(); try (Scope scope = span.activate()) { span.setName("SELECT FROM customer"); span.addLabel("foo", "bar"); // do your thing... } catch (Exception e) { span.captureException(e); throw e; } finally { span.end(); }
与注解结合使用
编辑您可以将注解与 span API 结合使用以提高其灵活性。只需在带注解的方法上获取当前跨度并根据您的喜好自定义跨度。