Description
The purpose and use-cases of the new component
We have developed an internal component, enrichprocessor, which we believe could be highly valuable to the community. It was designed to address several use cases:
-
Attribute Mapping: Enrich signals by mapping a technical identifier (UUID) to a business-friendly name, based on a correspondence file (CSV).
-
Value Replacement: Replace coded values (e.g., an integer in a log representing an HTTP method) with their human-readable equivalents.
-
Data Enrichment: Populate missing or incorrect attributes, such as incomplete Kubernetes metadata or other missing information.
-
Attribute Augmentation for Routing: Modify attributes to facilitate signal routing. For example, by appending new values to an existing attribute, we enable routing decisions (e.g., Datadog, Splunk) based on enriched criteria, typically processed later by a routing connector.
Example configuration for the component
enrich:
jobs:
- key: "prod"
match_attr_key: "env"
is_for_resource: true
values:
- key: "region"
val: "eu"
replace: false
processors:
enrich:
source_type: csv
jobs_file:
path: "./testdata/enrich.csv"
replace: false
is_for_resource: true
with
env,team,region
prod,observability,eu
stage,platform,us-central1
Telemetry data types supported
traces, metrics, logs
Code Owner(s)
No response
Sponsor (optional)
No response
Additional context
code is already written and tested.