1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

OBSDOCS-1698: Distributed Tracing and OpenTelemetry release 3.7

This commit is contained in:
Max Leonov
2025-07-29 10:33:38 +02:00
committed by openshift-cherrypick-robot
parent b652b7de15
commit e6e730d4bd
29 changed files with 297 additions and 3007 deletions

View File

@@ -3233,6 +3233,8 @@ Topics:
Topics:
- Name: Release notes for the Red Hat build of OpenTelemetry
File: otel-rn
- Name: About the Red Hat build of OpenTelemetry
File: otel-architecture
- Name: Installing the Red Hat build of OpenTelemetry
File: otel-installing
- Name: Configuring the Collector

View File

@@ -0,0 +1,14 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="distr-tracing-product-overview_{context}"]
= About this release
{DTShortName} 3.7 is provided through the link:https://catalog.redhat.com/software/containers/rhosdt/tempo-operator-bundle/642c3e0eacf1b5bdbba7654a/history[{TempoOperator} 0.??.0] and based on the open source link:https://grafana.com/oss/tempo/[Grafana Tempo] 2.?.?.
[NOTE]
====
Some linked Jira tickets are accessible only with Red Hat credentials.
====

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-tempo-configuring.adoc
:_mod-docs-content-type: REFERENCE
[id="distr-tracing-tempo-coo-ui-plugin_{context}"]
= Configuring the UI
You can use the distributed tracing UI plugin of the {coo-first} as the user interface (UI) for the {DTProductName}. For more information about installing and using the distributed tracing UI plugin, see "Distributed tracing UI plugin" in _Cluster Observability Operator_.

View File

@@ -1,22 +1,26 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr_tracing_rn/distr-tracing-rn-3-1-1.adoc
// * observability/distr_tracing/distr_tracing_rn/distr-tracing-rn-past-releases.adoc
// * observability/distr-tracing-architecture.adoc
// * service_mesh/v2x/ossm-architecture.adoc
// * serverless/serverless-tracing.adoc
:_mod-docs-content-type: CONCEPT
[id="distr-tracing-product-overview_{context}"]
= Distributed tracing overview
= About {DTShortName}
As a service owner, you can use distributed tracing to instrument your services to gather insights into your service architecture.
You can use the {DTProductName} for monitoring, network profiling, and troubleshooting the interaction between components in modern, cloud-native, microservices-based applications.
You can use {DTProductName} for monitoring, network profiling, and troubleshooting the interaction between components in modern, cloud-native, microservices-based applications.
With the {DTShortName}, you can perform the following functions:
With {DTShortName}, you can perform the following functions:
* Monitor distributed transactions
* Optimize performance and latency
* Perform root cause analysis
You can combine {DTShortName} with other relevant components of the {product-title}:
* {OTELName} for forwarding traces to a TempoStack instance
* Distributed tracing UI plugin of the {coo-first}

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="fixed-issues_{context}"]
= Fixed issues
None.

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="deprecated-features_{context}"]
= Deprecated features
None.

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="new-features-and-enhancements_{context}"]
= New features and enhancements
None.

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="known-issues_{context}"]
= Known issues
None.

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="removed-features_{context}"]
= Removed features
None.

View File

@@ -0,0 +1,12 @@
// Module included in the following assemblies:
//
// * observability/distr_tracing/distr-tracing-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="technology-preview-features_{context}"]
= Technology Preview features
None.
//:FeatureName: Each of these features
//include::snippets/technology-preview.adoc[leveloffset=+1]

View File

@@ -0,0 +1,14 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="otel-product-overview_{context}"]
= About this release
{OTELName} 3.7 is provided through the link:https://catalog.redhat.com/software/containers/rhosdt/opentelemetry-operator-bundle/615618406feffc5384e84400/history[{OTELOperator} 0.XXX.0] and based on the open source link:https://opentelemetry.io/docs/collector/[OpenTelemetry] release 0.XXX.0.
[NOTE]
====
Some linked Jira tickets are accessible only with Red Hat credentials.
====

View File

@@ -1,13 +1,12 @@
// Module included in the following assemblies:
//
// * observability/otel/otel_rn/otel-rn-3-2.adoc
// * observability/otel/otel_rn/otel-rn-past-releases.adoc
// * observability/otel/otel-architecture.adoc
:_mod-docs-content-type: CONCEPT
[id="otel-product-overview_{context}"]
= {OTELName} overview
[id="otel-about-product_{context}"]
= About {OTELName}
{OTELName} is based on the open source link:https://opentelemetry.io/[OpenTelemetry project], which aims to provide unified, standardized, and vendor-neutral telemetry data collection for cloud-native software. {OTELName} product provides support for deploying and managing the OpenTelemetry Collector and simplifying the workload instrumentation.
{OTELName} is based on the open source link:https://opentelemetry.io/[OpenTelemetry project], which aims to provide unified, standardized, and vendor-neutral telemetry data collection for cloud-native software. {OTELName} provides support for deploying and managing the OpenTelemetry Collector and simplifying the workload instrumentation.
The link:https://opentelemetry.io/docs/collector/[OpenTelemetry Collector] can receive, process, and forward telemetry data in multiple formats, making it the ideal component for telemetry processing and interoperability between telemetry systems. The Collector provides a unified solution for collecting and processing metrics, traces, and logs.
@@ -15,7 +14,7 @@ The OpenTelemetry Collector has a number of features including the following:
Data Collection and Processing Hub:: It acts as a central component that gathers telemetry data like metrics and traces from various sources. This data can be created from instrumented applications and infrastructure.
Customizable telemetry data pipeline:: The OpenTelemetry Collector is designed to be customizable. It supports various processors, exporters, and receivers.
Customizable telemetry data pipeline:: The OpenTelemetry Collector is customizable and supports various processors, exporters, and receivers.
Auto-instrumentation features:: Automatic instrumentation simplifies the process of adding observability to applications. Developers do not need to manually instrument their code for basic telemetry data.
@@ -26,3 +25,5 @@ Centralized data collection:: In a microservices architecture, the Collector can
Data enrichment and processing:: Before forwarding data to analysis tools, the Collector can enrich, filter, and process this data.
Multi-backend receiving and exporting:: The Collector can receive and send data to multiple monitoring and analysis platforms simultaneously.
You can use {OTELName} in combination with {TempoName}.

View File

@@ -0,0 +1,74 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-collector/
:_mod-docs-content-type: REFERENCE
[id="otel-processors-probabilistic-sampling-processor_{context}"]
= Probabilistic Sampling Processor
If you handle high volumes of telemetry data and seek to reduce costs by reducing processed data volumes, you can use the Probabilistic Sampling Processor as an alternative to the Tail Sampling Processor.
The processor samples a specified percentage of trace spans or log records statelessly and per request.
The processor adds the information about the used effective sampling probability into the telemetry data:
* In trace spans, the processor encodes the threshold and optional randomness information in the W3C Trace Context `tracestate` fields.
* In log records, the processor encodes the threshold and randomness information as attributes.
The following is an example `OpenTelemetryCollector` custom resource configuration for the Probabilistic Sampling Processor for sampling trace spans:
[source,yaml]
----
# ...
config:
processors:
probabilistic_sampler: # <1>
sampling_percentage: 15.3 # <2>
mode: "proportional" # <3>
hash_seed: 22 # <4>
sampling_precision: 14 # <5>
fail_closed: true # <6>
# ...
service:
pipelines:
traces:
processors: [probabilistic_sampler]
# ...
----
<1> For trace pipelines, the source of randomness is the hashed value of the span Trace ID.
<2> Required. Accepts a 32-bit floating-point percentage value at which spans are to be sampled.
<3> Optional. Accepts a supported string value for a sampling logic mode: the default `"hash_seed"`, `"proportional"`, or `equalizing`. The `hash_seed` mode applies the FowlerNollVo (FNV) hash function to the trace ID and weighs the hashed value against the sampling percentage value. You can also use the `hash_seed` mode with other units of telemetry than the trace ID. The `"proportional"` mode samples a strict, probability-based ratio of the total span quantity, and is based on the OpenTelemetry and World Wide Web Consortium specifications. The `equalizing` mode is useful for lowering the sampling probability to a minimum value across a whole pipeline or applying a uniform sampling probability in Collector deployments where client SDKs have mixed sampling configurations.
<4> Optional. Accepts a 32-bit unsigned integer, which is used to compute the hash algorithm. When this field is not configured, the default seed value is `0`. If you use multiple tiers of Collector instances, you must configure all Collectors of the same tier to the same seed value.
<5> Optional. Determines the number of hexadecimal digits used to encode the sampling threshold. Accepts an integer value. The supported values are `1`-`14`. The default value `4` causes the threshold to be rounded if it contains more than 16 significant bits, which is the case of the `proportional` mode that uses 56 bits. If you select the `proportional` mode, use a greater value for the purpose of preserving precision applied by preceding samplers.
<6> Optional. Rejects spans with sampling errors. Accepts a Boolean value. The default value is `true`.
The following is an example `OpenTelemetryCollector` custom resource configuration for the Probabilistic Sampling Processor for sampling log records:
[source,yaml]
----
# ...
config:
processors:
probabilistic_sampler/logs:
sampling_percentage: 15.3 # <1>
mode: "hash_seed" # <2>
hash_seed: 22 # <3>
sampling_precision: 4 # <4>
attribute_source: "record" # <5>
from_attribute: "<log_record_attribute_name>" # <6>
fail_closed: true # <7>
# ...
service:
pipelines:
logs:
processors: [ probabilistic_sampler/logs ]
# ...
----
<1> Required. Accepts a 32-bit floating-point percentage value at which spans are to be sampled.
<2> Optional. Accepts a supported string value for a sampling logic mode: the default `"hash_seed"`, `equalizing`, or `"proportional"`. The `hash_seed` mode applies the FowlerNollVo (FNV) hash function to the trace ID or a specified log record attribute and then weighs the hashed value against the sampling percentage value. You can also use `hash_seed` mode with other units of telemetry than trace ID, for example to use the `service.instance.id` resource attribute for collecting log records from a percentage of pods. The `equalizing` mode is useful for lowering the sampling probability to a minimum value across a whole pipeline or applying a uniform sampling probability in Collector deployments where client SDKs have mixed sampling configurations. The `"proportional"` mode samples a strict, probability-based ratio of the total span quantity, and is based on the OpenTelemetry and World Wide Web Consortium specifications.
<3> Optional. Accepts a 32-bit unsigned integer, which is used to compute the hash algorithm. When this field is not configured, the default seed value is `0`. If you use multiple tiers of Collector instances, you must configure all Collectors of the same tier to the same seed value.
<4> Optional. Determines the number of hexadecimal digits used to encode the sampling threshold. Accepts an integer value. The supported values are `1`-`14`. The default value `4` causes the threshold to be rounded if it contains more than 16 significant bits, which is the case of the `proportional` mode that uses 56 bits. If you select the `proportional` mode, use a greater value for the purpose of preserving precision applied by preceding samplers.
<5> Optional. Defines where to look for the log record attribute in `from_attribute`. The log record attribute is used as the source of randomness. Accept the default `"traceID"` value or the `"record"` value.
<6> Optional. The name of a log record attribute to be used to compute the sampling hash, such as a unique log record ID. Accepts a string value. The default value is `""`. Use this field only if you need to specify a log record attribute as the source of randomness in those situations where the trace ID is absent or trace ID sampling is disabled or the `attribute_source` field is set to the `record` value.
<7> Optional. Rejects spans with sampling errors. Accepts a Boolean value. The default value is `true`.

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="fixed-issues_{context}"]
= Fixed issues
None.

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="deprecated-features_{context}"]
= Deprecated features
The OpenCensus Receiver, which provided backward compatibility with the OpenCensus format, is deprecated and might be removed in a future major release.

View File

@@ -0,0 +1,11 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="new-features-and-enhancements_{context}"]
= New features and enhancements
Network policy to restrict API access:: With this update, the {OTELOperator} creates a network policy for itself and the OpenTelemetry Collector to restrict access to the used APIs.
Native sidecars:: With this update, the {OTELOperator} uses native sidecars on {product-title} 4.16 or later.

View File

@@ -0,0 +1,9 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="known-issues_{context}"]
= Known issues
None.

View File

@@ -0,0 +1,11 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="removed-features_{context}"]
= Removed features
The LokiStack Exporter, which exported data to a LokiStack instance, is removed and no longer supported. You can export data to a LokiStack instance by using the OTLP HTTP Exporter instead.
The Routing Processor, which routed telemetry data to an exporter is removed and no longer supported. You can route telemetry data by using the Routing Connector instead.

View File

@@ -0,0 +1,13 @@
// Module included in the following assemblies:
//
// * observability/otel/otel-rn.adoc
:_mod-docs-content-type: REFERENCE
[id="technology-preview-features_{context}"]
= Technology Preview features
Probabilistic Sampling Processor (Technology Preview):: This release introduces the Probabilistic Sampling Processor as a Technology Preview feature for the {OTELShortName} Collector. The Probabilistic Sampling Processor samples a specified percentage of trace spans or log records statelessly and per request. You can use the Probabilistic Sampling Processor if you handle high volumes of telemetry data and seek to reduce costs by reducing processed data volumes.
:FeatureName: The Probabilistic Sampling Processor
//:FeatureName: Each of these features
include::snippets/technology-preview.adoc[leveloffset=+1]

View File

@@ -17,7 +17,13 @@ It is valuable for understanding serialization, parallelism, and sources of late
A _span_ represents a logical unit of work in {DTProductName} that has an operation name, the start time of the operation, and the duration, as well as potentially tags and logs. Spans may be nested and ordered to model causal relationships.
include::modules/distr-tracing-product-overview.adoc[leveloffset=+1]
You can combine the {DTProductName} with other relevant components of the {product-title}:
* xref:../../observability/otel/otel-rn.adoc#otel_rn[{OTELName}] for xref:../../observability/otel/otel-forwarding-telemetry-data.adoc#otel-forwarding-telemetry-data[Forwarding traces to a TempoStack instance]
* xref:../../observability/cluster_observability_operator/ui_plugins/distributed-tracing-ui-plugin.adoc#distributed-tracing-ui-plugin[Distributed tracing UI plugin] of the {coo-first}
include::modules/distr-tracing-tempo-product-overview.adoc[leveloffset=+1]
include::modules/distr-tracing-features.adoc[leveloffset=+1]

File diff suppressed because it is too large Load Diff

View File

@@ -33,6 +33,12 @@ include::modules/distr-tracing-tempo-config-query-frontend.adoc[leveloffset=+1]
.Additional resources
* xref:../../nodes/scheduling/nodes-scheduler-taints-tolerations.adoc#nodes-scheduler-taints-tolerations-about_nodes-scheduler-taints-tolerations[Understanding taints and tolerations]
include::modules/distr-tracing-tempo-coo-ui-plugin.adoc[leveloffset=+1]
[role="_additional-resources"]
.Additional resources
* xref:../../observability/cluster_observability_operator/ui_plugins/distributed-tracing-ui-plugin.adoc#distributed-tracing-ui-plugin[Distributed tracing UI plugin]
include::modules/distr-tracing-tempo-config-spanmetrics.adoc[leveloffset=+1]
[role="_additional-resources"]

View File

@@ -0,0 +1,9 @@
:_mod-docs-content-type: ASSEMBLY
include::_attributes/common-attributes.adoc[]
[id="otel-architecture"]
= About {OTELName}
:context: otel-architecture
toc::[]
include::modules/otel-about.adoc[leveloffset=+1]

View File

@@ -18,7 +18,6 @@ Currently, the following General Availability and Technology Preview processors
- xref:../../../observability/otel/otel-collector/otel-collector-processors.adoc#span-processor_otel-collector-processors[Span Processor]
- xref:../../../observability/otel/otel-collector/otel-collector-processors.adoc#kubernetes-attributes-processor_otel-collector-processors[Kubernetes Attributes Processor]
- xref:../../../observability/otel/otel-collector/otel-collector-processors.adoc#filter-processor_otel-collector-processors[Filter Processor]
- xref:../../../observability/otel/otel-collector/otel-collector-processors.adoc#routing-processor_otel-collector-processors[Routing Processor]
- xref:../../../observability/otel/otel-collector/otel-collector-processors.adoc#cumulativetodelta-processor_otel-collector-processors[Cumulative-to-Delta Processor]
- xref:../../../observability/otel/otel-collector/otel-collector-processors.adoc#groupbyattrsprocessor-processor_otel-collector-processors[Group-by-Attributes Processor]
- xref:../../../observability/otel/otel-collector/otel-collector-processors.adoc#transform-processor_otel-collector-processors[Transform Processor]
@@ -372,40 +371,6 @@ include::snippets/technology-preview.adoc[]
<2> Filters the spans that have the `container.name == app_container_1` attribute.
<3> Filters the spans that have the `host.name == localhost` resource attribute.
[id="routing-processor_{context}"]
== Routing Processor
The Routing Processor routes logs, metrics, or traces to specific exporters. This processor can read a header from an incoming gRPC or plain HTTP request or read a resource attribute, and then direct the trace information to relevant exporters according to the read value.
:FeatureName: The Routing Processor
include::snippets/technology-preview.adoc[]
.OpenTelemetry Collector custom resource with an enabled OTLP Exporter
[source,yaml]
----
# ...
config:
processors:
routing:
from_attribute: X-Tenant # <1>
default_exporters: # <2>
- jaeger
table: # <3>
- value: acme
exporters: [jaeger/acme]
exporters:
jaeger:
endpoint: localhost:14250
jaeger/acme:
endpoint: localhost:24250
# ...
----
<1> The HTTP header name for the lookup value when performing the route.
<2> The default exporter when the attribute value is not present in the table in the next section.
<3> The table that defines which values are to be routed to which exporters.
Optionally, you can create an `attribute_source` configuration, which defines where to look for the attribute that you specify in the `from_attribute` field. The supported values are `context` for searching the context including the HTTP headers, and `resource` for searching the resource attributes.
[id="cumulativetodelta-processor_{context}"]
== Cumulative-to-Delta Processor
@@ -924,6 +889,8 @@ You can choose and combine policies from the following list:
* link:https://opentelemetry.io/blog/2022/tail-sampling/[Tail Sampling with OpenTelemetry: Why its useful, how to do it, and what to consider] (OpenTelemetry Blog)
* link:https://opentelemetry.io/docs/collector/deployment/gateway/[Gateway] (OpenTelemetry Documentation)
include::modules/otel-processors-probabilistic-sampling-processor.adoc[leveloffset=+1]
[role="_additional-resources"]
[id="additional-resources_{context}"]
== Additional resources

View File

@@ -593,6 +593,11 @@ subjects:
The OpenCensus Receiver provides backwards compatibility with the OpenCensus project for easier migration of instrumented codebases. It receives metrics and traces in the OpenCensus format via gRPC or HTTP and Json.
[WARNING]
====
The OpenCensus Receiver is deprecated and might be removed in a future major release.
====
.OpenTelemetry Collector custom resource with the enabled OpenCensus Receiver
[source,yaml]
----

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@ toc::[]
Distributed tracing records the path of a request through the various services that make up an application. It is used to tie information about different units of work together, to understand a whole chain of events in a distributed transaction. The units of work might be executed in different processes or hosts.
ifdef::openshift-enterprise[]
include::modules/distr-tracing-product-overview.adoc[leveloffset=+1]
include::modules/distr-tracing-tempo-product-overview.adoc[leveloffset=+1]
endif::[]
ifdef::openshift-enterprise[]

View File

@@ -38,7 +38,7 @@ Jaeger records the execution of individual requests across the whole stack of mi
A *span* represents a logical unit of work in Jaeger that has an operation name, the start time of the operation, and the duration. Spans may be nested and ordered to model causal relationships.
include::modules/distr-tracing-product-overview.adoc[leveloffset=+2]
include::modules/distr-tracing-tempo-product-overview.adoc[leveloffset=+2]
include::modules/jaeger-architecture.adoc[leveloffset=+2]

View File

@@ -37,7 +37,7 @@ The {JaegerShortName} records the execution of individual requests across the wh
A *span* represents a logical unit of work that has an operation name, the start time of the operation, and the duration. Spans may be nested and ordered to model causal relationships.
include::modules/distr-tracing-product-overview.adoc[leveloffset=+2]
include::modules/distr-tracing-tempo-product-overview.adoc[leveloffset=+2]
include::modules/distr-tracing-architecture.adoc[leveloffset=+2]