From 1c5e214fd99add056d24f88da74115db14bce1d2 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Thu, 18 Dec 2025 10:56:06 +0100 Subject: [PATCH 1/6] Add documentation for OTLP endpoint histogram setting --- .../data-streams/tsds-ingest-otlp.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/manage-data/data-store/data-streams/tsds-ingest-otlp.md b/manage-data/data-store/data-streams/tsds-ingest-otlp.md index 43988e0056..5569dc682e 100644 --- a/manage-data/data-store/data-streams/tsds-ingest-otlp.md +++ b/manage-data/data-store/data-streams/tsds-ingest-otlp.md @@ -95,6 +95,29 @@ By default, metrics are ingested into the `metrics-generic.otel-default` data st The target data stream name is constructed as `metrics-${data_stream.dataset}.otel-${data_stream.namespace}`. +## Configure histogram handling +```{applies_to} +stack: preview 9.3 +``` + +You can configure how OTLP histograms are mapped using the `xpack.otel_data.histogram_field_type` cluster setting. Valid values are: + + - `histogram` (default): Map histograms as T-Digests using the `histogram` field type + - `exponential_histogram`: Map histograms as exponential histograms using the `exponential_histogram` field type + +The setting is dynamic and can be updated at runtime: + +```console +PUT /_cluster/settings +{ + "persistent" : { + "xpack.otel_data.histogram_field_type" : "exponential_histogram" + } +} +``` + +Because both `histogram` and `exponential_histogram` support [coerce](elasticsearch://reference/elasticsearch/mapping-reference/coerce.md), changing this setting dynamically does not risk mapping conflicts or ingestion failures. + ## Limitations * Only the OTLP metrics endpoint (`/_otlp/v1/metrics`) is supported. From 9b760d6b82ab1ad6d75e811701e1fe9f50a967e2 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Fri, 19 Dec 2025 11:20:27 +0100 Subject: [PATCH 2/6] Clarified where setting applies --- manage-data/data-store/data-streams/tsds-ingest-otlp.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/manage-data/data-store/data-streams/tsds-ingest-otlp.md b/manage-data/data-store/data-streams/tsds-ingest-otlp.md index 5569dc682e..087f2c4be7 100644 --- a/manage-data/data-store/data-streams/tsds-ingest-otlp.md +++ b/manage-data/data-store/data-streams/tsds-ingest-otlp.md @@ -8,7 +8,7 @@ products: - id: elasticsearch --- -# OTLP/HTTP endpoint +# OTLP/HTTP endpoint [otlp-http-endpoint] In addition to the ingestion of metrics data through the bulk API, {{es}} offers an alternative way to ingest data through the [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp). @@ -118,6 +118,9 @@ PUT /_cluster/settings Because both `histogram` and `exponential_histogram` support [coerce](elasticsearch://reference/elasticsearch/mapping-reference/coerce.md), changing this setting dynamically does not risk mapping conflicts or ingestion failures. +Note that this setting only applies to metrics ingested via the [Elasticsearch OTLP endpoint](#otlp-http-endpoint). +Documents ingested via other APIs (e.g. using the Elasticsearch exporter for the OpenTelemetry Collector) are not affected. + ## Limitations * Only the OTLP metrics endpoint (`/_otlp/v1/metrics`) is supported. From 23244cb5665681e814f683bf97cd5d672a5c8c58 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Fri, 19 Dec 2025 11:24:34 +0100 Subject: [PATCH 3/6] fix anchor --- manage-data/data-store/data-streams/tsds-ingest-otlp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manage-data/data-store/data-streams/tsds-ingest-otlp.md b/manage-data/data-store/data-streams/tsds-ingest-otlp.md index 087f2c4be7..73d76bdf65 100644 --- a/manage-data/data-store/data-streams/tsds-ingest-otlp.md +++ b/manage-data/data-store/data-streams/tsds-ingest-otlp.md @@ -8,7 +8,7 @@ products: - id: elasticsearch --- -# OTLP/HTTP endpoint [otlp-http-endpoint] +# OTLP/HTTP endpoint In addition to the ingestion of metrics data through the bulk API, {{es}} offers an alternative way to ingest data through the [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp). @@ -118,7 +118,7 @@ PUT /_cluster/settings Because both `histogram` and `exponential_histogram` support [coerce](elasticsearch://reference/elasticsearch/mapping-reference/coerce.md), changing this setting dynamically does not risk mapping conflicts or ingestion failures. -Note that this setting only applies to metrics ingested via the [Elasticsearch OTLP endpoint](#otlp-http-endpoint). +Note that this setting only applies to metrics ingested via the [Elasticsearch OTLP endpoint](#otlphttp-endpoint). Documents ingested via other APIs (e.g. using the Elasticsearch exporter for the OpenTelemetry Collector) are not affected. ## Limitations From 52c2c23f9108818e0a1e68a18f74be2680a43299 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Fri, 19 Dec 2025 11:25:23 +0100 Subject: [PATCH 4/6] Update manage-data/data-store/data-streams/tsds-ingest-otlp.md Co-authored-by: Felix Barnsteiner --- manage-data/data-store/data-streams/tsds-ingest-otlp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manage-data/data-store/data-streams/tsds-ingest-otlp.md b/manage-data/data-store/data-streams/tsds-ingest-otlp.md index 73d76bdf65..addc2ba395 100644 --- a/manage-data/data-store/data-streams/tsds-ingest-otlp.md +++ b/manage-data/data-store/data-streams/tsds-ingest-otlp.md @@ -119,7 +119,7 @@ PUT /_cluster/settings Because both `histogram` and `exponential_histogram` support [coerce](elasticsearch://reference/elasticsearch/mapping-reference/coerce.md), changing this setting dynamically does not risk mapping conflicts or ingestion failures. Note that this setting only applies to metrics ingested via the [Elasticsearch OTLP endpoint](#otlphttp-endpoint). -Documents ingested via other APIs (e.g. using the Elasticsearch exporter for the OpenTelemetry Collector) are not affected. +Documents ingested with the _bulk API (e.g. using the Elasticsearch exporter for the OpenTelemetry Collector) are not affected. ## Limitations From 90a0a5b501ecb5f1d9c515632f0e92cbd5bcd0f0 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Fri, 19 Dec 2025 11:26:55 +0100 Subject: [PATCH 5/6] fix docs warnings --- manage-data/data-store/data-streams/tsds-ingest-otlp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manage-data/data-store/data-streams/tsds-ingest-otlp.md b/manage-data/data-store/data-streams/tsds-ingest-otlp.md index addc2ba395..4a5d749abb 100644 --- a/manage-data/data-store/data-streams/tsds-ingest-otlp.md +++ b/manage-data/data-store/data-streams/tsds-ingest-otlp.md @@ -118,7 +118,7 @@ PUT /_cluster/settings Because both `histogram` and `exponential_histogram` support [coerce](elasticsearch://reference/elasticsearch/mapping-reference/coerce.md), changing this setting dynamically does not risk mapping conflicts or ingestion failures. -Note that this setting only applies to metrics ingested via the [Elasticsearch OTLP endpoint](#otlphttp-endpoint). +This setting only applies to metrics ingested using the [Elasticsearch OTLP endpoint](#otlphttp-endpoint). Documents ingested with the _bulk API (e.g. using the Elasticsearch exporter for the OpenTelemetry Collector) are not affected. ## Limitations From 659a472526298dd9429d57ef62bacf1d5e5ddc50 Mon Sep 17 00:00:00 2001 From: Jonas Kunz Date: Fri, 19 Dec 2025 11:31:43 +0100 Subject: [PATCH 6/6] Next attempt to fix the link --- manage-data/data-store/data-streams/tsds-ingest-otlp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manage-data/data-store/data-streams/tsds-ingest-otlp.md b/manage-data/data-store/data-streams/tsds-ingest-otlp.md index 4a5d749abb..08416c11ff 100644 --- a/manage-data/data-store/data-streams/tsds-ingest-otlp.md +++ b/manage-data/data-store/data-streams/tsds-ingest-otlp.md @@ -118,7 +118,7 @@ PUT /_cluster/settings Because both `histogram` and `exponential_histogram` support [coerce](elasticsearch://reference/elasticsearch/mapping-reference/coerce.md), changing this setting dynamically does not risk mapping conflicts or ingestion failures. -This setting only applies to metrics ingested using the [Elasticsearch OTLP endpoint](#otlphttp-endpoint). +This setting only applies to metrics ingested using the [Elasticsearch OTLP endpoint](./tsds-ingest-otlp.md). Documents ingested with the _bulk API (e.g. using the Elasticsearch exporter for the OpenTelemetry Collector) are not affected. ## Limitations