Commit Graph

12 Commits

Author SHA1 Message Date
Daniel Jaglowski 279752c11f
[service/internal/graph] Measure telemetry as it is passed between pipeline components (#12812)
Depends on
https://github.com/open-telemetry/opentelemetry-collector/pull/12856

Resolves #12676

This is a reboot of #11311, incorporating metrics defined in the
[component telemetry
RFC](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/component-universal-telemetry.md)
and attributes added in #12617.

The basic pattern is:
- When building any pipeline component which produces data, wrap the
"next consumer" with instrumentation to measure the number of items
being passed. This wrapped consumer is then passed into the constructor
of the component.
- When building any pipeline component which consumes data, wrap the
component itself. This wrapped consumer is saved onto the graph node so
that it can be retrieved during graph assembly.

---------

Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-05-12 08:33:02 +00:00
Daniel Jaglowski 08f03438ec
[chore] Clarify safety of cast from uint64 to int64 in graph (#12900) 2025-04-22 15:19:30 +00:00
Daniel Jaglowski 5d5fb21acf
Introduce component logger with appropriate attributes (#12259)
Implements the logger described in
https://github.com/open-telemetry/opentelemetry-collector/issues/12217

Alternative to #12057

Resolves #11814

`component/componentattribute`:
- Initializes new module
- Defines constants for component telemetry attribute keys
- Defines a `zapcore.Core` which can remove attributes from the root
logger

`service`:
- Rebases component instantiation on attribute sets
- Internal constructors for attribute sets for each component type
- Constructs loggers from `componentattribute`

`otlpreceiver`:
- Uses `componentattribute` to remove `otelcol.signal` attribute from
logger

`memorylimiter`:
- Uses `componentattribute` to remove `otelcol.signal`,
`otelcol.pipeline.id` and `otelcol.component.id` attributes from logger
2025-02-06 16:53:20 +00:00
Dmitrii Anoshin e9bc4bde92
Deprecate connectorprofiles module in favor of xconnector (#11887)
to allow adding more experimental data types.

Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/11778
2024-12-14 15:04:34 +00:00
Dmitrii Anoshin 9206c68ec2
Deprecate pipelineprofiles module in favor of xpipeline (#11888)
to allow adding more experimental data types.

Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/11778
2024-12-13 23:23:06 +00:00
Dmitrii Anoshin 0d94e09e70
Deprecate exporterprofiles module in favor of xexporter (#11885)
to allow adding more experimental data types.

Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/11778
2024-12-13 21:56:43 +00:00
Dmitrii Anoshin 324f5a22d6
Deprecate processorprofiles module in favor of xprocessor (#11883)
to allow adding more experimental data types

Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/11778
2024-12-13 21:36:25 +00:00
Dmitrii Anoshin 4593ba7de2
Deprecate receiverprofiles module in favor of xreceiver (#11876)
to allow adding more experimental data types

Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/11778
2024-12-13 18:50:00 +00:00
Dmitrii Anoshin 63d83d5e79
Deprecate consumerprofiles module in favor of xconsumer (#11779)
To allow adding more experimental data types. First step towards
https://github.com/open-telemetry/opentelemetry-collector/issues/11778
2024-12-12 22:09:02 +00:00
Bogdan Drutu 98a326a3c5
Move componentprofiles to pipelineprofiles (#11421)
Move componentprofiles to pipelineprofiles since only the signal
constant is defined in that package.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2024-10-13 13:47:00 -07:00
Daniel Jaglowski 151f8377d8
[chore][graph] Remove connectorNode's separate baseConsumer (#11333)
Follows #11330

Currently, `connectorNode` contains separate `component.Component` and
`baseConsumer` fields. These fields are essentially two representations
of the same component, but `baseConsumer` may be wrapped in another
consumer that inherits capabilities. Rather than maintain two separate
handles, this PR switches to a unified field. I believe this change
helps normalize the connector node with other types of consumer nodes
and will enable further refactoring opportunities.
2024-10-09 12:20:53 -07:00
Daniel Jaglowski af27e16f0c
[chore][graph] Split test file (#11329)
This PR follows #11321 by splitting up the primary test file into a few
related topics. I believe this will make further refactoring PRs easier
to follow.
2024-10-01 13:30:58 -07:00