|
1 | 1 | --- |
2 | 2 | title: Internal telemetry |
3 | 3 | weight: 25 |
4 | | -cSpell:ignore: alloc batchprocessor journalctl |
| 4 | +cSpell:ignore: alloc batchprocessor journalctl otelgrpc |
5 | 5 | --- |
6 | 6 |
|
7 | 7 | You can inspect the health of any OpenTelemetry Collector instance by checking |
@@ -473,16 +473,54 @@ files in the repository. |
473 | 473 | > The `http*` and `rpc*` metrics are not covered by the maturity levels below |
474 | 474 | > since they are not under the Collector SIG control. |
475 | 475 | > |
476 | | -> RPC metric names are version-dependent. For instance, Collector releases |
477 | | -> prior to 0.147.0 exposed `rpc.client.duration` and `rpc.server.duration` |
478 | | -> instead of `rpc.client.call.duration` and `rpc.server.call.duration`. |
| 476 | +> RPC metric names are version-dependent. For instance, Collector releases prior |
| 477 | +> to 0.147.0 exposed `rpc.client.duration` and `rpc.server.duration` instead of |
| 478 | +> `rpc.client.call.duration` and `rpc.server.call.duration`. |
479 | 479 | > |
480 | 480 | > The `otelcol_processor_batch_` metrics are unique to the `batchprocessor`. |
481 | 481 | > |
482 | 482 | > The `otelcol_receiver_`, `otelcol_scraper_`, `otelcol_processor_`, and |
483 | 483 | > `otelcol_exporter_` metrics come from their respective `helper` packages. As |
484 | 484 | > such, some components not using those packages might not emit them. |
485 | 485 |
|
| 486 | +#### Ownership of emitted metrics |
| 487 | + |
| 488 | +Some metrics are not owned by the Collector SIG and some are limited to certain |
| 489 | +components. |
| 490 | + |
| 491 | +**`http*`and `rpc` metrics** |
| 492 | + |
| 493 | +These metrics are not under the Collector SIG's control, and as such, are not |
| 494 | +covered by the maturity levels below. |
| 495 | + |
| 496 | +**`rpc` metrics** |
| 497 | + |
| 498 | +The Collector's internal RPC metrics come from the upstream |
| 499 | +[`otelgrpc`](https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/instrumentation/google.golang.org/grpc/otelgrpc) |
| 500 | +instrumentation, which tracks the |
| 501 | +[OpenTelemetry RPC semantic conventions](/docs/specs/semconv/rpc/rpc-metrics/). |
| 502 | +The set of RPC metrics emitted by the Collector has changed across releases: |
| 503 | + |
| 504 | +| Collector version | Emitted RPC metrics | |
| 505 | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
| 506 | +| v0.146.x and earlier | `rpc.client.duration`, `rpc.server.duration`, `rpc.*.request.size`, `rpc.*.response.size`, `rpc.*.requests_per_rpc`, `rpc.*.responses_per_rpc` | |
| 507 | +| v0.147.0 | `rpc.client.call.duration`, `rpc.server.call.duration`, `rpc.*.request.size`, `rpc.*.response.size` (the `*_per_rpc` metrics are deprecated and no longer emitted) | |
| 508 | +| v0.148.0 and later | `rpc.client.call.duration`, `rpc.server.call.duration` only | |
| 509 | + |
| 510 | +RPC size metrics are not emitted by Collector v0.148.0 or later. The |
| 511 | +[RPC semantic conventions v1.40.0](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.40.0) |
| 512 | +deprecated them due to ambiguous definitions and inconsistent implementation. |
| 513 | + |
| 514 | +**`otelcol_processor_batch_*` metrics** |
| 515 | + |
| 516 | +These metrics are unique to the `batchprocessor`. |
| 517 | + |
| 518 | +**`helper` package metrics** |
| 519 | + |
| 520 | +The `otelcol_receiver_`, `otelcol_scraper_`, `otelcol_processor_`, and |
| 521 | +`otelcol_exporter_` metrics come from their respective `helper` packages. As |
| 522 | +such, some components not using those packages might not emit them. |
| 523 | + |
486 | 524 | ### Events observable with internal logs |
487 | 525 |
|
488 | 526 | The Collector logs the following internal events: |
|
0 commit comments