Delay
Delay events by a set duration
Warnings
Configuration
Example configurations
{
"transforms": {
"my_transform_id": {
"type": "delay",
"inputs": [
"my-source-or-transform-id"
]
}
}
}[transforms.my_transform_id]
type = "delay"
inputs = [ "my-source-or-transform-id" ]
transforms:
my_transform_id:
type: delay
inputs:
- my-source-or-transform-id
{
"transforms": {
"my_transform_id": {
"type": "delay",
"inputs": [
"my-source-or-transform-id"
],
"overflow_strategy": "block",
"queue_capacity": 500
}
}
}[transforms.my_transform_id]
type = "delay"
inputs = [ "my-source-or-transform-id" ]
overflow_strategy = "block"
queue_capacity = 500
transforms:
my_transform_id:
type: delay
inputs:
- my-source-or-transform-id
overflow_strategy: block
queue_capacity: 500
condition
optional conditioncondition.source
type.condition.type
Available syntaxes
| Syntax | Description | Example |
|---|---|---|
vrl | A Vector Remap Language (VRL) Boolean expression. | .status_code != 200 && !includes(["info", "debug"], .severity) |
datadog_search | A Datadog Search query string. | *stack |
is_log | Whether the incoming event is a log. | |
is_metric | Whether the incoming event is a metric. | |
is_trace | Whether the incoming event is a trace. | |
Shorthand for VRL
If you opt for the vrl syntax for this condition, you can set the condition
as a string via the condition parameter, without needing to specify both a source and a type. The
table below shows some examples:
| Config format | Example |
|---|---|
| YAML | condition: .status == 200 |
| TOML | condition = ".status == 200" |
| JSON | "condition": ".status == 200" |
Condition config examples
Standard VRL
condition:
type: "vrl"
source: ".status == 500"condition = { type = "vrl", source = ".status == 500" }"condition": {
"type": "vrl",
"source": ".status == 500"
}Datadog Search
condition:
type: "datadog_search"
source: "*stack"condition = { type = "datadog_search", source = "*stack" }"condition": {
"type": "datadog_search",
"source": "*stack"
}VRL shorthand
condition: ".status == 500"condition = ".status == 500""condition": ".status == 500"delay_ms
required uintgraph
optional objectExtra graph configuration
Configure output for component when generated with graph command
graph.edge_attributes
optional objectEdge attributes to add to the edges linked to this component’s node in resulting graph
They are added to the edge as provided
graph.edge_attributes.*
required objectgraph.edge_attributes.*.*
required string literalgraph.node_attributes
optional objectNode attributes to add to this component’s node in resulting graph
They are added to the node as provided
graph.node_attributes.*
required string literalinputs
required [string]A list of upstream source or transform IDs.
Wildcards (*) are supported.
See configuration for more info.
measure_cpu_usage
optional boolEnable CPU usage metrics for this transform.
When set to true, each poll of the transform task is timed using the OS thread CPU clock
and the accumulated nanoseconds are reported as the component_cpu_usage_ns_total counter,
tagged with component_id, component_kind, and component_type.
Defaults to false. Enable only for transforms where CPU attribution is needed, as it
adds a clock_gettime call on every future poll.
falseoverflow_strategy
optional string literal enum| Option | Description |
|---|---|
block | Wait for free space in the queue. This applies backpressure up the topology, signalling that sources should slow down the acceptance/consumption of events. This may cause the system to degenerate if this component blocks for too long. |
drop_newest | Drops the event instead of waiting for free space in the queue. The event will be intentionally dropped. This mode is typically used when performance is the highest priority, and it is preferable to temporarily lose events rather than cause a slowdown in the acceptance/consumption of events. |
forward | Forward the event without any delay to next component. |
blockInput Types
Outputs
<component_id>
Output Types
Metrics
metric event.Traces
trace event.Logs
Warning
log event.Telemetry
Metrics
linkcomponent_discarded_events_total
counterfilter transform, or false if due to an error.component_errors_total
countercomponent_latency_mean_seconds
gaugeThe mean elapsed time, in fractional seconds, that an event spends in a single transform.
This includes both the time spent queued in the transform’s input buffer and the time spent executing the transform itself.
This value is smoothed over time using an exponentially weighted moving average (EWMA).
component_latency_seconds
histogramThe elapsed time, in fractional seconds, that an event spends in a single transform.
This includes both the time spent queued in the transform’s input buffer and the time spent executing the transform itself.
component_received_event_bytes_total
countercomponent_received_events_count
histogramA histogram of the number of events passed in each internal batch in Vector’s internal topology.
Note that this is separate than sink-level batching. It is mostly useful for low level debugging performance issues in Vector due to small internal batches.
component_received_events_total
countercomponent_sent_event_bytes_total
countercomponent_sent_events_total
countertransform_buffer_max_byte_size
gaugeDeprecated
transform_buffer_max_size_bytes.transform_buffer_max_event_size
gaugeDeprecated
transform_buffer_max_size_events.