Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions redirects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ redirects:
'solutions/observability/apps/real-user-monitoring-rum.md': 'solutions/observability/apm/real-user-monitoring-rum.md'
'solutions/observability/apps/create-upload-source-maps-rum.md': 'solutions/observability/apm/create-upload-source-maps-rum.md'
'solutions/observability/apps/use-opentelemetry-with-apm.md': 'solutions/observability/apm/use-opentelemetry-with-apm.md'
'solutions/observability/apps/upstream-opentelemetry-collectors-language-sdks.md': 'solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md'
'solutions/observability/apps/collect-metrics.md': 'solutions/observability/apm/collect-metrics.md'
'solutions/observability/apps/limitations.md': 'solutions/observability/apm/limitations.md'
'solutions/observability/apps/resource-atrributes.md': 'solutions/observability/apm/resource-attributes.md'
'solutions/observability/apps/upstream-opentelemetry-collectors-language-sdks.md': 'solutions/observability/apm/use-opentelemetry-with-apm.md'
'solutions/observability/apps/collect-metrics.md': 'solutions/observability/apm/use-opentelemetry-with-apm.md'
'solutions/observability/apps/limitations.md': 'solutions/observability/apm/use-opentelemetry-with-apm.md'
'solutions/observability/apps/resource-atrributes.md': 'solutions/observability/apm/use-opentelemetry-with-apm.md'
'solutions/observability/apps/apm-k8s-attacher.md': 'solutions/observability/apm/apm-k8s-attacher.md'
'solutions/observability/apps/monitoring-aws-lambda-functions.md': 'solutions/observability/apm/monitor-aws-lambda-functions.md'
'solutions/observability/apps/integrate-with-jaeger-deprecated.md': 'solutions/observability/apm/jaeger.md'
Expand Down
54 changes: 0 additions & 54 deletions solutions/observability/apm/collect-metrics.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -733,9 +733,9 @@ const apm = initApm({
::::::

::::::{tab-item} OpenTelemetry
Elastic integrates with OpenTelemetry, allowing you to reuse your existing instrumentation to easily send observability data to the {{stack}}.
Elastic integrates with OpenTelemetry using the Elastic Distribution of OpenTelemetry (EDOT), allowing you to reuse your existing instrumentation to easily send observability data to the {{stack}}.

For more information on how to combine Elastic and OpenTelemetry, see [OpenTelemetry integration](/solutions/observability/apm/use-opentelemetry-with-apm.md).
For more information on how to combine Elastic and OpenTelemetry, see the [EDOT documentation](https://elastic.github.io/opentelemetry/).
::::::

:::::::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -773,9 +773,9 @@ const apm = initApm({
::::::

::::::{tab-item} OpenTelemetry
Elastic integrates with OpenTelemetry, allowing you to reuse your existing instrumentation to easily send observability data to the {{stack}}.
Elastic integrates with OpenTelemetry using the Elastic Distribution of OpenTelemetry (EDOT), allowing you to reuse your existing instrumentation to easily send observability data to the {{stack}}.

For more information on how to combine Elastic and OpenTelemetry, see [OpenTelemetry integration](/solutions/observability/apm/use-opentelemetry-with-apm.md).
For more information on how to combine Elastic and OpenTelemetry, see the [EDOT documentation](https://elastic.github.io/opentelemetry/).
::::::

:::::::
Expand Down
49 changes: 0 additions & 49 deletions solutions/observability/apm/limitations.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4476,7 +4476,5 @@ The managed intake service supports two OTLP communication protocols on the same
| OTLP logs intake | `/v1/logs` |

::::{tip}
See our [OpenTelemetry docs](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md) to learn how to send data to the managed intake service from an OpenTelemetry agent OpenTelemetry collector.

See our [OpenTelemetry documentation](https://elastic.github.io/opentelemetry/) to learn how to send data to the managed intake service.
::::

4 changes: 1 addition & 3 deletions solutions/observability/apm/opentelemetry-intake-api.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/observability/current/apm-api-otlp.html
applies_to:
stack:
---

# OpenTelemetry intake API [apm-api-otlp]
Expand Down Expand Up @@ -31,6 +29,6 @@ APM Server supports two OTLP communication protocols on the same port:
| OTLP logs intake | `/v1/logs` |

::::{tip}
See our OpenTelemetry documentation to learn how to send data to the APM Server from an [OpenTelemetry agent](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md#apm-instrument-apps-otel) or [OpenTelemetry collector](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md#apm-connect-open-telemetry-collector).
See our [OpenTelemetry documentation](https://elastic.github.io/opentelemetry/) to learn how to send data to the APM Server.
::::

48 changes: 0 additions & 48 deletions solutions/observability/apm/resource-attributes.md

This file was deleted.

6 changes: 0 additions & 6 deletions solutions/observability/apm/traces.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,6 @@ In this example, Elastic’s Ruby agent communicates with Elastic’s Java agent
:alt: How traceparent propagation works
:::

In this example, Elastic’s Ruby agent communicates with OpenTelemetry’s Java agent. Both support the `traceparent` header, and trace data is successfully propagated.

:::{image} /solutions/images/observability-dt-trace-ex2.png
:alt: How traceparent propagation works
:::

In this example, the trace meets a piece of middleware that doesn’t propagate the `traceparent` header. The distributed trace ends and any further communication will result in a new trace.

:::{image} /solutions/images/observability-dt-trace-ex3.png
Expand Down
23 changes: 0 additions & 23 deletions solutions/observability/apm/transaction-sampling.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,23 +84,6 @@ In the example in *Figure 4*, `Service A` and `Service B` are Elastic-monitored
:title: Using the `restart` trace continuation strategy
:::

### OpenTelemetry [_opentelemetry]

Head-based sampling is implemented directly in the APM agents and SDKs. The sample rate must be propagated between services and the managed intake service in order to produce accurate metrics.

OpenTelemetry offers multiple samplers. However, most samplers do not propagate the sample rate. This results in inaccurate span-based metrics, like APM throughput, latency, and error metrics.

For accurate span-based metrics when using head-based sampling with OpenTelemetry, you must use a [consistent probability sampler](https://opentelemetry.io/docs/specs/otel/trace/tracestate-probability-sampling/). These samplers propagate the sample rate between services and the managed intake service, resulting in accurate metrics.

::::{note}
OpenTelemetry does not offer consistent probability samplers in all languages. OpenTelemetry users should consider using tail-based sampling instead.

Refer to the documentation of your favorite OpenTelemetry agent or SDK for more information on the availability of consistent probability samplers.

::::

% Stateful only for tail-based sampling

## Tail-based sampling [apm-tail-based-sampling]

```{applies_to}
Expand Down Expand Up @@ -133,12 +116,6 @@ In this example, `Service A` initiates four transactions. If our sample rate is
:alt: Distributed tracing and tail based sampling example one
:::

### OpenTelemetry with tail-based sampling [_opentelemetry_with_tail_based_sampling]

Tail-based sampling is implemented entirely in APM Server, and will work with traces sent by either Elastic APM agents or OpenTelemetry SDKs.

Due to [OpenTelemetry tail-based sampling limitations](/solutions/observability/apm/limitations.md#apm-open-telemetry-tbs) when using [tailsamplingprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor), we recommend using APM Server tail-based sampling instead.

### Tail-based sampling performance and requirements [_tail_based_sampling_performance_and_requirements]

Tail-based sampling (TBS), by definition, requires storing events locally temporarily, such that they can be retrieved and forwarded when a sampling decision is made.
Expand Down
Loading
Loading