Description
Is your feature request related to a problem? Please describe.
For some sources (e.g. logs coming via fluentforward
protocol) it is common that attributes are present at record-level only. Those attributes can include important information used for K8s tagging, such as the IP address of the source that yielded the record. Perhaps the processor could be enhanced with capability to do tagging at a record-level, rather than only resource-level.
Describe the solution you'd like
Extra configuration parameter that enables tagging at a record-level (when no information is found at resource-level), e.g.
record_level_tagging_enabled
- by default:false
Describe alternatives you've considered
There are at least two alternative solutions:
- always trying to tag at record-level attributes when tagging was not possible at resource-level attributes due to missing IP information (i.e. no extra configuration necessary)
- if resource-level attributes are empty, grouping the records by record-level IP attribute (if present) and extracting the IP (and possible other common fields) into the resource-level (which can be done by a separate processor, e.g.
groupbyattributesprocessor
, akin togroupbytraceprocessor
)
Additional context
This problem can be generally present for sources that originally do not have the concept of resource
attributes, e.g. Zipkin spans or logs coming through fluentforward
protocol