手动插桩

编辑

此功能处于技术预览阶段,可能会在将来的版本中更改或删除。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 指南关于手动创建信号的说明,找到有关如何创建和自定义各种信号的更多详细信息。