43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
# Defaults Processor
|
|
|
|
The *Defaults* processor allows you to ensure certain fields will always exist with a specified default value on your metric(s).
|
|
|
|
There are three cases where this processor will insert a configured default field.
|
|
|
|
1. The field is nil on the incoming metric
|
|
1. The field is not nil, but its value is an empty string.
|
|
1. The field is not nil, but its value is a string of one or more empty spaces.
|
|
|
|
### Configuration
|
|
```toml
|
|
## Set default fields on your metric(s) when they are nil or empty
|
|
[[processors.defaults]]
|
|
|
|
## This table determines what fields will be inserted in your metric(s)
|
|
[processors.defaults.fields]
|
|
field_1 = "bar"
|
|
time_idle = 0
|
|
is_error = true
|
|
```
|
|
|
|
### Example
|
|
Ensure a _status\_code_ field with _N/A_ is inserted in the metric when one it's not set in the metric be default:
|
|
|
|
```toml
|
|
[[processors.defaults]]
|
|
[processors.defaults.fields]
|
|
status_code = "N/A"
|
|
```
|
|
|
|
```diff
|
|
- lb,http_method=GET cache_status=HIT,latency=230
|
|
+ lb,http_method=GET cache_status=HIT,latency=230,status_code="N/A"
|
|
```
|
|
|
|
Ensure an empty string gets replaced by a default:
|
|
|
|
```diff
|
|
- lb,http_method=GET cache_status=HIT,latency=230,status_code=""
|
|
+ lb,http_method=GET cache_status=HIT,latency=230,status_code="N/A"
|
|
```
|