Add Fields (v2)


Note
This feature is available as an add-on for the Honeycomb Enterprise plan. Please contact your Honeycomb account team for details.

Description 

The Add Fields processor can be used to add attributes, resources, and log record body keys from telemetry in the pipeline.

Use 

The Add Fields processor is utilized for enriching telemetry data by appending or modifying attributes, resources, and log record body keys in metrics, logs, and traces based on specified conditions.

Supported Types 

Metrics Logs Traces

Configuration 

Field Description
Telemetry Types The types of telemetry to apply the processor to.
Condition An OTTL condition that must evaluate to true to apply this processor. By default, the processor applies to all telemetry.
Field Type Indicates the context in which the processor should operate: Attributes, Body, or Resource. Note: Body fields are applicable only for logs.
Action Insert: Add field if it does not exist. Update: Update existing value. Upsert: Insert or update.
Key Key to add or modify to the telemetry.
Value Value associated with the defined key to add or modify to the telemetry.

Example Configuration 

Append Resource to Metrics for Categorization by Source 

In this configuration, additional resource data is appended to the metrics to categorize and identify them based on their source. This is particularly useful for differentiating and filtering metrics that are generated from various environments or locations.

  • environment: dev
  • location: us-east1-b

Add Custom Attributes to Logs for Enhanced Searchability Based on Error Status 

This configuration will add custom resource (application_name) to logs that have a log level of ‘ERROR’. This can help in quickly identifying and tracing critical issues within a specific part of the application.

Example log body:

{
  "error": "incorrect username or password",
  "level": "error",
  "message": "failed to authenticate user: test",
  "timestamp": "2023-07-05T13:40:17.549-0400"
}

The log condition we use to determine what logs to append the resource to:

body["level"] == error