Description
Component(s)
pkg/translator/azurelogs
Describe the issue you're reporting
Both components providing similar functionality and even shares some code, for example TimeFormats
functionality.
There 2 components that depends on those translators:
receiver/azureeventhubreceiver
(it even depends on both translators)receiver/kafkareceiver
Because both mentioned receivers can be used for the same purpose - consuming Azure Resource Logs from EventHub (the only difference is that azureeventhubreceiver
uses AMQP protocol to communicate with EventHub, while kafkareceiver
- Kafka protocol) - it is introducing major discrepancy in received data, because azurelogs
and azure
has different parsing logic.
To avoid such discrepancy I would like to propose to merge both translators into single one, with maybe some configuration addition to preserve compatibility.
This merge will also helps with future movement of this translators into encoding package (#39095)
Main difference at the moment in translators:
translator/azure
:
- Has support for conversion of Azure Trace Records to OTLP Traces
- Parses Azure Resource Logs Attributes into OTLP Log Attributes
- Doesn't have Azure Resource Logs Category specific conversion rules
translator/azurelogs
- Parses Azure Resource Logs Attributes into OTLP Log Body (transition to OTLP Log Attributes is a WIP at the moment)
- Has Azure Resource Logs Category specific conversion rules for some part of Categories - this produce more aligned with OpenTelemetry SemConv outcome
As a result of merge, I would propose to have single component (ideally - encoding extension in future) that will have:
- Support for conversion of Azure Trace Records to OTLP Traces
- Parser for Azure Resource Logs Attributes into OTLP Log Attributes/Resource Attributes
- Azure Resource Logs Category specific conversion rules
- Configurable behavior