You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opened to follow-up to action item in this PR #376
Problem Statement
ETW - Event Tracing for Windows - allows to express an event as structured key-value pairs. Field / property names for event - could be anything. The idea is to align ETW field names with OpenTelemetry protocol spec / OTLP spec as close as possible. However, some other non-OTLP collector flows may require different standard schema / field names.
Proposed Solution
ETW exporter may handle this as follows:
extension point (pluggable method, extension, additional class) that allows to remap from OpenTelemetry fields, attributes, resource names to custom protocol
compile-time header that defines the mapping, that defines - customer event field X has to be assigned to ETW event field Y, that may be implemented either as a set of C const char* constants, or as std::map, that header with definitions can be added to the build system via macro define - to override some default set of fields.
ability for vendor to implement custom flavor of ETW exporter by inheriting from the default ETW exporter implementation. Different ETW listener agents may expect their own unique standard schemas, so some extensibility is nice-to-have. Unfortunately since C++ SDK does not provide runtime loadable extension points for SDK, this would have to manifest as yet another additional exporter, exporter-schemaA or exporter-schemaB added into vendor-compiled SDK.
Due to limited time given to @mishal23 (his community bridge internship ends end of December 2020) / extent of changes / scope of this "flexible fields naming" proposal, tracking this issue separately from his PR, to implement the feature in a separate PR.
The text was updated successfully, but these errors were encountered:
Opened to follow-up to action item in this PR #376
Problem Statement
ETW - Event Tracing for Windows - allows to express an event as structured key-value pairs. Field / property names for event - could be anything. The idea is to align ETW field names with OpenTelemetry protocol spec / OTLP spec as close as possible. However, some other non-OTLP collector flows may require different standard schema / field names.
Proposed Solution
ETW exporter may handle this as follows:
customer event field X
has to be assigned toETW event field Y
, that may be implemented either as a set of C const char* constants, or asstd::map
, that header with definitions can be added to the build system via macro define - to override some default set of fields.agents
may expect their own unique standard schemas, so some extensibility is nice-to-have. Unfortunately since C++ SDK does not provide runtime loadable extension points for SDK, this would have to manifest as yet another additional exporter,exporter-schemaA
orexporter-schemaB
added into vendor-compiled SDK.Due to limited time given to @mishal23 (his community bridge internship ends end of December 2020) / extent of changes / scope of this "flexible fields naming" proposal, tracking this issue separately from his PR, to implement the feature in a separate PR.
The text was updated successfully, but these errors were encountered: