|
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 |
@@ -375,7 +375,7 @@ naming conventions, resulting in metric names that looked like |
375 | 375 | Versions 0.120.0 and later of the Collector use Prometheus 3.0 scrapers, so the |
376 | 376 | original `http*` and `rpc*` metric names with dots are preserved. The |
377 | 377 | [internal metrics](#lists-of-internal-metrics) on this page are listed in their |
378 | | -original form, such as`rpc.server.duration`. For more information, see the |
| 378 | +original form, such as `rpc.server.call.duration`. For more information, see the |
379 | 379 | [Collector v0.120.0 release notes](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CHANGELOG.md#v01200). |
380 | 380 |
|
381 | 381 | ### Lists of internal metrics |
@@ -453,35 +453,54 @@ files in the repository. |
453 | 453 |
|
454 | 454 | #### Additional `detailed`-level metrics |
455 | 455 |
|
456 | | -| Metric name | Description | Type | |
457 | | -| ----------------------------------------------------- | ----------------------------------------------------------------------------------------- | --------- | |
458 | | -| `http.client.request.body.size` | Measures the size of HTTP client request bodies. | Counter | |
459 | | -| `http.client.request.duration` | Measures the duration of HTTP client requests. | Histogram | |
460 | | -| `http.server.request.body.size` | Measures the size of HTTP server request bodies. | Counter | |
461 | | -| `http.server.request.duration` | Measures the duration of HTTP server requests. | Histogram | |
462 | | -| `http.server.response.body.size` | Measures the size of HTTP server response bodies. | Counter | |
463 | | -| `otelcol_processor_batch_batch_`<br>`send_size_bytes` | Number of bytes in the batch that was sent. | Histogram | |
464 | | -| `rpc.client.duration` | Measures the duration of outbound RPC. | Histogram | |
465 | | -| `rpc.client.request.size` | Measures the size of RPC request messages (uncompressed). | Histogram | |
466 | | -| `rpc.client.requests_per_rpc` | Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. | Histogram | |
467 | | -| `rpc.client.response.size` | Measures the size of RPC response messages (uncompressed). | Histogram | |
468 | | -| `rpc.client.responses_per_rpc` | Measures the number of messages sent per RPC. Should be 1 for all non-streaming RPCs. | Histogram | |
469 | | -| `rpc.server.duration` | Measures the duration of inbound RPC. | Histogram | |
470 | | -| `rpc.server.request.size` | Measures the size of RPC request messages (uncompressed). | Histogram | |
471 | | -| `rpc.server.requests_per_rpc` | Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. | Histogram | |
472 | | -| `rpc.server.response.size` | Measures the size of RPC response messages (uncompressed). | Histogram | |
473 | | -| `rpc.server.responses_per_rpc` | Measures the number of messages sent per RPC. Should be 1 for all non-streaming RPCs. | Histogram | |
| 456 | +| Metric name | Description | Type | |
| 457 | +| ----------------------------------------------------- | --------------------------------------------------------------- | --------- | |
| 458 | +| `http.client.request.body.size` | Measures the size of HTTP client request bodies. | Counter | |
| 459 | +| `http.client.request.duration` | Measures the duration of HTTP client requests. | Histogram | |
| 460 | +| `http.server.request.body.size` | Measures the size of HTTP server request bodies. | Counter | |
| 461 | +| `http.server.request.duration` | Measures the duration of HTTP server requests. | Histogram | |
| 462 | +| `http.server.response.body.size` | Measures the size of HTTP server response bodies. | Counter | |
| 463 | +| `otelcol_processor_batch_batch_`<br>`send_size_bytes` | Number of bytes in the batch that was sent. | Histogram | |
| 464 | +| `rpc.client.call.duration` | Measures the duration of outbound remote procedure calls (RPC). | Histogram | |
| 465 | +| `rpc.server.call.duration` | Measures the duration of inbound remote procedure calls (RPC). | Histogram | |
474 | 466 |
|
475 | | -> [!NOTE] |
476 | | -> |
477 | | -> The `http*` and `rpc*` metrics are not covered by the maturity levels below |
478 | | -> since they are not under the Collector SIG control. |
479 | | -> |
480 | | -> The `otelcol_processor_batch_` metrics are unique to the `batchprocessor`. |
481 | | -> |
482 | | -> The `otelcol_receiver_`, `otelcol_scraper_`, `otelcol_processor_`, and |
483 | | -> `otelcol_exporter_` metrics come from their respective `helper` packages. As |
484 | | -> such, some components not using those packages might not emit them. |
| 467 | +#### Ownership of emitted metrics |
| 468 | + |
| 469 | +Some metrics are not owned by the Collector SIG and some are limited to certain |
| 470 | +components. |
| 471 | + |
| 472 | +**`http*`and `rpc` metrics** |
| 473 | + |
| 474 | +These metrics are not under the Collector SIG's control, and as such, are not |
| 475 | +covered by the maturity levels below. |
| 476 | + |
| 477 | +**`rpc` metrics** |
| 478 | + |
| 479 | +The Collector's internal RPC metrics come from the upstream |
| 480 | +[`otelgrpc`](https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/instrumentation/google.golang.org/grpc/otelgrpc) |
| 481 | +instrumentation, which tracks the |
| 482 | +[OpenTelemetry RPC semantic conventions](/docs/specs/semconv/rpc/rpc-metrics/). |
| 483 | +The set of RPC metrics emitted by the Collector has changed across releases: |
| 484 | + |
| 485 | +| Collector version | Emitted RPC metrics | |
| 486 | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
| 487 | +| 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` | |
| 488 | +| 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) | |
| 489 | +| v0.148.0 and later | `rpc.client.call.duration`, `rpc.server.call.duration` only | |
| 490 | + |
| 491 | +RPC size metrics are not emitted by Collector v0.148.0 or later. The |
| 492 | +[RPC semantic conventions v1.40.0](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.40.0) |
| 493 | +deprecated them due to ambiguous definitions and inconsistent implementation. |
| 494 | + |
| 495 | +**`otelcol_processor_batch_*` metrics** |
| 496 | + |
| 497 | +These metrics are unique to the `batchprocessor`. |
| 498 | + |
| 499 | +**`helper` package metrics** |
| 500 | + |
| 501 | +The `otelcol_receiver_`, `otelcol_scraper_`, `otelcol_processor_`, and |
| 502 | +`otelcol_exporter_` metrics come from their respective `helper` packages. As |
| 503 | +such, some components not using those packages might not emit them. |
485 | 504 |
|
486 | 505 | ### Events observable with internal logs |
487 | 506 |
|
|
0 commit comments