Skip to content

New component: Enrich Attributes based on key matching from yaml or csv definition #40526

Open
@sgerme-cpe-obs-dkt

Description

@sgerme-cpe-obs-dkt

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Sponsor NeededNew component seeking sponsor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions