For the complete documentation index, see llms.txt. This page is also available as Markdown.

Delete Empty Values

Removes empty values from telemetry. It deletes null values and, optionally, empty lists, empty maps, and configured "empty" string values from resource attributes, telemetry attributes, and a log record's body. Operates on logs, metrics, and traces.

Supported Telemetry Types

Metrics
Logs
Traces

Configuration

Bindplane docs - Delete Empty Values - image 1

General

Parameter
Type
Required
Default
Description

Choose Telemetry Type

Telemetry Selector

Yes

["Logs", "Metrics", "Traces"]

The signals this processor acts on.

Deleted Values

Enum: Null Values, Empty Lists, Empty Maps

Yes

["Null Values"]

Which value types to delete. Null Values removes both null values and zero-length (empty) strings. Empty Lists removes lists with no elements. Empty Maps removes maps with no keys.

Advanced

Parameter
Type
Required
Default
Description

Empty String Values

Strings

No

(empty)

A list of case-insensitive string values that should be treated as empty and deleted. For example, add - to delete fields whose value is a literal dash.

Exclude Resource Fields

Strings

No

(empty)

A list of resource field names to exclude from deletion.

Exclude Attribute Fields

Strings

No

(empty)

A list of attribute field names to exclude from deletion.

Exclude Body Fields

Strings

No

(empty)

A list of log body field names to exclude from deletion.

Choose Telemetry Type can select more than one signal. The processor applies the same deletion rules to each selected signal.

Examples

Remove dash-delimited empty fields from NGINX logs

NGINX access logs use - to denote an unset field (for example, a missing remote_user or referer). This configuration deletes null values and treats - as empty, so those placeholder fields are dropped from logs, metrics, and traces.

Delete nulls, empty lists, and empty maps while preserving a key

This configuration removes all three empty value types from logs but keeps the host.name resource field even when it is empty.

Configuration Tips

  • Enabling Null Values always removes zero-length strings in addition to true null values. Add entries to Empty String Values only for placeholder strings that are not actually empty, such as -, null, or n/a.

  • Empty String Values matching is case-insensitive, so a single null entry deletes NULL, Null, and null.

  • Use the Exclude fields to protect keys that must always be present downstream, even when their value is empty. Resource, attribute, and body exclusions are independent lists.

  • Deletion is recursive, so emptying a nested map can leave its parent map empty. Enable Empty Maps to also remove the now-empty parent.

Troubleshooting

Empty fields are still present after the processor runs

Symptoms: nulls or empty strings remain on records downstream.

Solutions:

  1. Confirm Choose Telemetry Type includes the signal you are inspecting. The processor acts only on the selected signals.

  2. Verify the field is not listed in one of the Exclude fields, which preserve keys regardless of value.

Placeholder strings like - are not removed

Symptoms: fields with a literal - or n/a value persist.

Solutions:

  1. Add the placeholder string to Empty String Values. Only null and zero-length strings are deleted by default.

  2. Matching is on the whole value, not a substring, so add each distinct placeholder you want treated as empty.

Empty maps remain even though their contents were removed

Symptoms: a map is emptied of keys but the map itself stays on the record.

Solutions:

  1. Enable Empty Maps under Deleted Values so maps left empty after deletion are also removed.

  2. Likewise enable Empty Lists to drop lists left with no elements.

Standalone Processor

Last updated

Was this helpful?