手动插桩
编辑手动插桩
编辑此功能处于技术预览阶段,可能会在将来的版本中更改或删除。Elastic 会努力修复任何问题,但技术预览版的功能不受官方 GA 功能的支持 SLA 的约束。
Elastic APM Android Agent 自动插桩支持的技术,为每个案例创建有趣的事件的跨度,并且其中一些自动跨度可以配置以更好地满足不同应用程序的需求。但是,如果您需要创建自己的自定义跨度、指标和日志,您可以通过访问此代理构建在其之上的OpenTelemetry Java SDK API来实现。
OpenTelemetry 入口点
编辑完成设置过程后,代理将为您配置 OpenTelemetry 入口点并使其全局可访问。为了访问配置的 OpenTelemetry 实例,您需要使用如下所示的GlobalOpenTelemetry
类。
class MyClass { // Example of how to obtain an OpenTelemetry tracer, meter, and logger to create custom Spans, Metrics and Logs. public void myMethod() { // Span example Tracer tracer = GlobalOpenTelemetry.getTracer("my-tracer-scope-name"); Span span = tracer.spanBuilder("spanName").startSpan(); //... span.end(); // Metric example LongCounter counter = GlobalOpenTelemetry.meterBuilder("meterScope").build().counterBuilder("myCounter").build(); counter.add(1); // Logs example Logger logger = GlobalOpenTelemetry.get().getLogsBridge().get("logScope"); logger.logRecordBuilder().setBody("Log body").emit(); } }
您可以通过遵循OpenTelemetry 的 Java SDK 指南关于手动创建信号的说明,找到有关如何创建和自定义各种信号的更多详细信息。