This is an automated email from the ASF dual-hosted git repository.
sumitagrawl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone-site.git
The following commit(s) were added to refs/heads/master by this push:
new e6f4f1f1f0 HDDS-16159. HDDS-13679 Distributed tracing improvement
(#527)
e6f4f1f1f0 is described below
commit e6f4f1f1f02780938a8cf0db12fd7b9bcd2dd6f2
Author: sravani <[email protected]>
AuthorDate: Wed Aug 12 18:55:18 2026 +0530
HDDS-16159. HDDS-13679 Distributed tracing improvement (#527)
---
.../09-observability/06-distributed-tracing.md | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git
a/docs/05-administrator-guide/03-operations/09-observability/06-distributed-tracing.md
b/docs/05-administrator-guide/03-operations/09-observability/06-distributed-tracing.md
index e57d49e196..a1c027444c 100644
---
a/docs/05-administrator-guide/03-operations/09-observability/06-distributed-tracing.md
+++
b/docs/05-administrator-guide/03-operations/09-observability/06-distributed-tracing.md
@@ -45,6 +45,10 @@ This is controlled by:
spans normally; application-aware mode does not change that behavior.
- Set `ozone.tracing.endpoint` on the Ozone side to the same OTLP collector
endpoint used by your application.
+> **Note:** For application-aware tracing in-process, the application must
register its OpenTelemetry SDK with
+`GlobalOpenTelemetry` before creating the Ozone client so Ozone can adopt it.
If no
+global tracer is registered, Ozone initializes its own SDK and uses the
`ozone` tracer instead.
+
## Configuration Priorities
When resolving configurations for endpoints and sampling strategies, Ozone
evaluates sources in the following order of priority:
@@ -104,6 +108,17 @@ export OTEL_TRACES_SAMPLER_ARG=0.01
### 2. Span-Level Sampling
This allows you to set sampling for specific, high-interest operations. It
accepts a comma-separated list of `spanName:rate` pairings.
+The table below shows common span naming patterns with examples. Use the exact
span name (case-sensitive) in your config. Client and server spans often use
different names for the same operation.
+
+| Pattern | Typical layer | Examples |
+| ------- | ------------- | -------- |
+| `{Interface}.{method}` | Client → OM/SCM |
`OzoneManagerClientProtocol.openKey`, `OzoneManagerClientProtocol.commitKey`,
`ScmBlockLocationProtocol.allocateBlock` |
+| `{RequestType}` | OM/SCM server | `CreateKey`, `CommitKey`, `InfoVolume`,
`AllocateScmBlock` |
+| `XceiverClient{Transport}.{CmdType}` | Client → Datanode |
`XceiverClientRatis.WriteChunk`, `XceiverClientRatis.PutBlock`,
`XceiverClientGrpc.WriteChunk` |
+| `{CmdType}` | Datanode server | `WriteChunk`, `PutBlock`, `ReadChunk` |
+| `{EndpointClass}.{method}` | S3 Gateway | `ObjectEndpoint.put`,
`ObjectEndpoint.get` |
+| `ofs {operation}` | Ozone FileSystem | `ofs create`, `ofs open`, `ofs
delete` |
+| `{command} {args...}` | Shell / CLI | `ozone sh key put vol1/buck1/key1
/path/to/file` |
#### Via `ozone-site.xml`
@@ -136,6 +151,11 @@ Trace context is propagated across service boundaries via
gRPC and W3C context p
| Ozone Client | `client` (when Ozone initializes tracing in the
JVM) |
| CLIs (Shell / FS / Freon) | `shell`, `FsShell`, `freon` |
+Ozone uses the OpenTelemetry tracer name **`ozone`** by default for all
components. The `service.name`
+values in the table above are set at component initialization. OpenTelemetry
defines `OTEL_SERVICE_NAME`
+for configuring `service.name`, but Ozone does not support overriding service
names through this
+environment variable.
+
> **Note:** If an application registers OpenTelemetry first, client spans are
> exported under that application's service name, not `client`.
## Dynamic Reconfiguration
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]