Collect application data

edit
Language-specific options
edit

Use Elastic APM agents or an OpenTelemetry language SDK to instrument a service in the language its written in:

  • Elastic APM agents: Elastic APM agents are instrumentation libraries written in the same language as your service.
  • OpenTelemetry: OpenTelemetry is an open source set of APIs, SDKs, tooling, and integrations that enable the capture and management of telemetry data from your services and applications.

    • This option includes Elastic Distributions of OpenTelemetry, which are customized versions of OpenTelemetry language SDKs that are optimized to work with an Elastic backend.

Not sure which method is right for you? Compare the available options below.

Capabilities
edit
Elastic APM agent Elastic Distribution of OpenTelemetry

Support level

Fully supported

Mixed support
Refer to the availability table

Data protocol

Elastic protocol

OpenTelemetry protocol (OTLP)

Central configuration

Supported
Refer to APM agent central configuration

Not supported

Availability
edit

Language

Elastic APM agent

Elastic Distributions of OpenTelemetry (EDOT)

Android

Android agent

Not available

Go

Go agent

Not available

iOS

iOS agent

Not available

Java

Java agent

EDOT Java

.NET

.NET agent

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. EDOT .NET

Node.js

Node.js agent

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. EDOT Node.js

PHP

PHP agent

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. EDOT PHP

Python

Python agent

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. EDOT Python

Ruby

Ruby agent

Not available

Service-specific options
edit

Elastic also offers several tools to help you collect data from specific services:

  • Kubernetes: The Elastic APM attacher for Kubernetes simplifies the instrumentation and configuration of your application pods. Read more in the APM attacher for Kubernetes docs.
  • AWS Lambda Functions: Helps you monitor your AWS Lambda functions. Read more in the APM Architecture for AWS Lambda docs.
  • [8.15.0] Deprecated in 8.15.0. Jaeger: Helps you to switch an existing Jaeger setup from the default Jaeger backend to the Elastic Stack. Read more in Integrate with Jaeger.