Skip to content

Commit a3c8f70

Browse files
MrAliasotelbot[bot]Copilottheletterf
authored
docs(obi): Update OBI documentation for v0.7.0 release. (#9557)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Fabrizio Ferri-Benedetti <algernon@fastmail.com>
1 parent 576346c commit a3c8f70

File tree

10 files changed

+311
-59
lines changed

10 files changed

+311
-59
lines changed

content/en/docs/zero-code/obi/_index.md

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ cascade:
99
OTEL_RESOURCE_ATTRIBUTES_APPLICATION: obi
1010
OTEL_RESOURCE_ATTRIBUTES_NAMESPACE: obi
1111
OTEL_RESOURCE_ATTRIBUTES_POD: obi
12-
cSpell:ignore: CAP_PERFMON
12+
cSpell:ignore: asyncio CAP_PERFMON uvloop
1313
---
1414

1515
OpenTelemetry libraries provide telemetry collection for popular programming
@@ -40,17 +40,51 @@ OBI offers the following features:
4040
- **Visibility into encrypted communications**: Capture transactions over
4141
TLS/SSL without decryption
4242
- **Context propagation**: Propagate trace context across services automatically
43-
- **Protocol support**: HTTP/S, gRPC, gRPC-Web, MQTT, and more
43+
- **Protocol support**: HTTP/S, gRPC, gRPC-Web, MQTT, Memcached, and more
4444
- **Database instrumentation**: PostgreSQL (including pgx driver), MySQL,
4545
MongoDB, Redis, Couchbase (N1QL/SQL++ and KV protocol)
46+
- **GenAI instrumentation**: Trace and metrics for OpenAI and Anthropic Claude
47+
API calls with automatic payload extraction
4648
- **Low cardinality metrics**: Prometheus-compatible metrics with low
4749
cardinality for cost reduction
48-
- **Network observability**: Capture network flows between services
50+
- **Network observability**: Capture network flows between services with
51+
host-level TCP RTT statistics
4952
- **Enhanced service discovery**: Improved service name lookup with DNS
5053
resolution
5154
- **Collector integration**: Run OBI as an OpenTelemetry Collector receiver
5255
component
5356

57+
## Recent highlights (v0.7.0)
58+
59+
OBI v0.7.0 introduces several significant improvements:
60+
61+
- **StatsO11y**: New statistical metrics pipeline for host-level network
62+
statistics, starting with TCP RTT metrics
63+
- **Expanded protocol coverage**: Added Memcached protocol tracing support
64+
- **Enhanced GenAI instrumentation**: Added support for Anthropic Claude with
65+
automatic payload extraction
66+
- **Python asyncio improvements**: Added context propagation support for Python
67+
asyncio workloads using `uvloop`
68+
- **New example scenario**: Added an NGINX example covering direct routing,
69+
reverse proxying, and route-based telemetry across Docker, Kubernetes, and
70+
standalone deployments
71+
- **Prometheus exemplars**: Support for exemplars in metrics export for better
72+
correlation with traces
73+
- **New span types**: SQL instrumentation now emits server spans for database
74+
calls
75+
- **Operational controls**: Added configurable `log_format` and Kubernetes API
76+
reconnect interval settings
77+
- **Network diagnostics**: Added `obi_bpf_network_ignored_packets_total` for
78+
troubleshooting dropped network packets
79+
- **Release artifacts**: CycloneDX SBOMs now included in release packages for
80+
supply chain security
81+
82+
For a complete list of changes and upgrade notes, see the
83+
[release notes](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/tag/v0.7.0).
84+
85+
If you want to explore the new NGINX example, see the
86+
[example walkthrough](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/tree/v0.7.0/examples/nginx).
87+
5488
## Requirements
5589

5690
OBI requires the following to run:

content/en/docs/zero-code/obi/configure/export-data.md

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description:
66
and OpenTelemetry traces
77
weight: 10
88
# prettier-ignore
9-
cSpell:ignore: AsterixDB couchbase jackc memcached pgxpool pyserver spanmetrics
9+
cSpell:ignore: AsterixDB couchbase genai jackc memcached pgxpool pyserver spanmetrics
1010
---
1111

1212
OBI can export OpenTelemetry metrics and traces to a OTLP endpoint.
@@ -27,15 +27,16 @@ metrics:
2727
features: ['network', 'network_inter_zone']
2828
```
2929
30-
| YAML<br>environment variable | Description | Type | Default |
31-
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ----------------- |
32-
| `features`<br>`OTEL_EBPF_METRICS_FEATURES` | The list of metric groups OBI exports data for, refer to [metrics export features](#metrics-export-features). Accepted values `application`, `application_span`, `application_host`, `application_service_graph`, `network` and `network_inter_zone`. | list of strings | `["application"]` |
30+
| YAML<br>environment variable | Description | Type | Default |
31+
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ----------------- |
32+
| `features`<br>`OTEL_EBPF_METRICS_FEATURES` | The list of metric groups OBI exports data for, refer to [metrics export features](#metrics-export-features). Accepted values `all`, `*`, `application`, `application_span`, `application_host`, `application_service_graph`, `network` and `network_inter_zone`. | list of strings | `["application"]` |
3333

3434
### Metrics export features
3535

3636
The OBI metrics exporter can export the following metrics data groups for
3737
processes matching entries in the [metrics discovery](./) configuration.
3838

39+
- `all` or `*`: All metric groups (convenience option for enabling all metrics)
3940
- `application`: Application-level metrics.
4041
- `application_host`: Application-level host metrics for host-based pricing.
4142
- `application_span`: Application-level trace span metrics in legacy format
@@ -157,6 +158,7 @@ The list of instrumentation areas OBI can collection data from:
157158
- `mqtt`: MQTT publish/subscribe message metrics (MQTT 3.1.1 and 5.0)
158159
- `couchbase`: Couchbase N1QL/SQL++ query metrics and KV (Key-Value) protocol
159160
metrics based on memcached protocol
161+
- `genai`: GenAI client metrics (OpenAI and Anthropic)
160162
- `gpu`: GPU performance metrics
161163
- `mongo`: MongoDB client call metrics
162164
- `dns`: DNS query metrics
@@ -216,6 +218,7 @@ The list of instrumentation areas OBI can collection data from:
216218
- `mqtt`: MQTT publish/subscribe message traces (MQTT 3.1.1 and 5.0)
217219
- `couchbase`: Couchbase N1QL/SQL++ query traces and KV (Key-Value) protocol
218220
traces, with query text and operation details
221+
- `genai`: GenAI client traces (OpenAI and Anthropic)
219222
- `gpu`: GPU performance traces
220223
- `mongo`: MongoDB client call traces
221224
- `dns`: DNS query traces
@@ -419,23 +422,24 @@ pull metrics in Prometheus format. It is enabled if the `port` property is set.
419422
prometheus_export:
420423
port: 8999
421424
path: /metrics
422-
extra_resource_attributes: ["deployment_environment"]
425+
extra_resource_attributes: ['deployment_environment']
423426
ttl: 1s
424427
buckets:
425428
request_size_histogram: [0, 10, 20, 22]
426429
response_size_histogram: [0, 10, 20, 22]
427-
instrumentations: ["http, "sql"]
430+
instrumentations: ['http', 'sql']
428431
```
429432
430-
| YAML<br>environment variable | Description | Type | Default |
431-
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ---------- |
432-
| `port`<br>`OTEL_EBPF_PROMETHEUS_PORT` | The HTTP port for the Prometheus scrape endpoint. If unset or 0, no Prometheus endpoint is open. | int | |
433-
| `path`<br>`OTEL_EBPF_PROMETHEUS_PATH` | The HTTP query path to fetch the list of Prometheus metrics. | string | `/metrics` |
434-
| `extra_resource_attributes`<br>`OTEL_EBPF_PROMETHEUS_EXTRA_RESOURCE_ATTRIBUTES` | A list of additional resource attributes to be added to the reported `target_info` metric. Refer to [extra resource attributes](#prometheus-extra-resource-attributes) for important details about runtime discovered attributes. | list of strings | |
435-
| `ttl`<br>`OTEL_EBPF_PROMETHEUS_TTL` | The duration after which metric instances are not reported if they haven't been updated. Used to avoid reporting indefinitely finished application instances. | Duration | `5m` |
436-
| `buckets` | Sets how you can override bucket boundaries of diverse histograms, refer to [override histogram buckets](../metrics-histograms/). | Object | |
437-
| `allow_service_graph_self_references`<br>`OTEL_EBPF_PROMETHEUS_ALLOW_SERVICE_GRAPH_SELF_REFERENCES` | Does OBI include self-referencing service in service graph generation. Self referencing isn't useful for service graphs and increases data cardinality. | boolean | `false` |
438-
| `instrumentations`<br>`OTEL_EBPF_PROMETHEUS_INSTRUMENTATIONS` | The list of instrumentation OBI collects data for, refer to [Prometheus instrumentation](#prometheus-instrumentation) section. | list of strings | `["*"]` |
433+
| YAML<br>environment variable | Description | Type | Default |
434+
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------ |
435+
| `port`<br>`OTEL_EBPF_PROMETHEUS_PORT` | The HTTP port for the Prometheus scrape endpoint. If unset or 0, no Prometheus endpoint is open. | int | |
436+
| `path`<br>`OTEL_EBPF_PROMETHEUS_PATH` | The HTTP query path to fetch the list of Prometheus metrics. | string | `/metrics` |
437+
| `extra_resource_attributes`<br>`OTEL_EBPF_PROMETHEUS_EXTRA_RESOURCE_ATTRIBUTES` | A list of additional resource attributes to be added to the reported `target_info` metric. Refer to [extra resource attributes](#prometheus-extra-resource-attributes) for important details about runtime discovered attributes. | list of strings | |
438+
| `ttl`<br>`OTEL_EBPF_PROMETHEUS_TTL` | The duration after which metric instances are not reported if they haven't been updated. Used to avoid reporting indefinitely finished application instances. | Duration | `5m` |
439+
| `buckets` | Sets how you can override bucket boundaries of diverse histograms, refer to [override histogram buckets](../metrics-histograms/). | Object | |
440+
| `exemplar_filter`<br>`OTEL_EBPF_PROMETHEUS_EXEMPLAR_FILTER` | Controls when exemplars are attached to Prometheus metrics. Accepted values: `always_on`, `always_off`, `trace_based`. | string | `always_off` |
441+
| `allow_service_graph_self_references`<br>`OTEL_EBPF_PROMETHEUS_ALLOW_SERVICE_GRAPH_SELF_REFERENCES` | Does OBI include self-referencing service in service graph generation. Self referencing isn't useful for service graphs and increases data cardinality. | boolean | `false` |
442+
| `instrumentations`<br>`OTEL_EBPF_PROMETHEUS_INSTRUMENTATIONS` | The list of instrumentation OBI collects data for, refer to [Prometheus instrumentation](#prometheus-instrumentation) section. | list of strings | `["*"]` |
439443

440444
### Prometheus extra resource attributes
441445

@@ -468,6 +472,7 @@ The list of instrumentation areas OBI can collection data from:
468472
- `kafka`: Kafka client/server message queue metrics
469473
- `mqtt`: MQTT publish/subscribe message metrics
470474
- `couchbase`: Couchbase N1QL/SQL++ query metrics and KV protocol metrics
475+
- `genai`: GenAI client metrics (OpenAI and Anthropic)
471476

472477
For example, setting the `instrumentations` option to: `http,grpc` enables the
473478
collection of `HTTP/HTTPS/HTTP2` and `gRPC` application metrics, and disables

0 commit comments

Comments
 (0)