Skip to content

Commit 498e1db

Browse files
add metrics selector matching info
Signed-off-by: Alexa Kreizinger <[email protected]>
1 parent 651f825 commit 498e1db

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

pipeline/processors/metrics-selector.md

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,43 @@
11
# Metrics Selector
22

3-
The **metric_selector** processor allows you to select metrics to include or exclude (similar to the `grep` filter for logs).
3+
The _Metrics Selector_ processor lets you choose which metrics to include or exclude, similar to the [Grep](../pipeline/filters/grep) filter for logs.
44

5-
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=326269f3-cfea-472d-9169-1de32c142b90" />
5+
## Configuration parameters
66

7-
## Configuration Parameters <a id="config"></a>
8-
9-
The native processor plugin supports the following configuration parameters:
7+
The Metrics Selector processor supports the following configuration parameters:
108

119
| Key | Description | Default |
1210
| :---------- | :--- | :--- |
13-
| Metric\_Name | Keep metrics in which the metric of name matches with the actual name or the regular expression. | |
14-
| Context | Specify matching context. Currently, metric\_name and delete\_label\_value are only supported. | `Metrics_Name` |
15-
| Action | Specify the action for specified metrics. INCLUDE and EXCLUDE are allowed. | |
16-
| Operation\_Type | Specify the operation type of action for metrics payloads. PREFIX and SUBSTRING are allowed. | |
17-
| Label | Specify a label key and value pair. | |
11+
| `metric_name` | The string that determines which metrics are affected by this processor, depending on the active [matching operation](#matching-operations). | |
12+
| `context` | Specifies matching context. Possible values: `metric_name` or `delete_label`. | `metrics_name` |
13+
| `action` | Specifies whether to include or exclude matching metrics. Possible values: `INCLUDE` or `EXCLUDE`. | |
14+
| `operation_type` | Specifies the [matching operation](#matching-operations) to apply to the value of `metric_name`. Possible values: `PREFIX` or `SUBSTRING`. | |
15+
| `label` | Specifies a label key and value pair. | |
16+
17+
## Matching operations
18+
19+
The Metrics Selector processor has two matching operations: prefix matching and substring matching.
20+
21+
### Prefix matching
22+
23+
Prefix matching compares the value of `metric_name` to the beginning of each incoming metric name. For example, `metric_name: fluentbit_input` results in a match for metrics named `fluentbit_input_records`, but not for metrics named `total_fluentbit_input`.
24+
25+
If no `operation_type` value is specified and the value of `metric_name` is a standard string, the Metrics Selector processor defaults to prefix matching.
26+
27+
### Substring matching
28+
29+
Substring matching treats the value of `metric_name` as a regex pattern, and compares this pattern against each incoming metric name accordingly. This pattern can appear anywhere within the name of the incoming metric. For example, `metric_name: bytes` results in a match for metrics named `bytes_total` and metrics named `input_bytes_count`.
1830

19-
## Configuration Examples <a id="config_example"></a>
31+
If the value of `metric_name` is a string wrapped in forward slashes (for example, `metric_name: /storage..*/`), the Metrics Selector processor defaults to substring matching, regardless of whether an `operation_type` value is specified. This means that a `metric_name` value wrapped in forward slashes will always use substring matching, even if `operation_type` is set to `PREFIX`.
2032

21-
Here is a basic configuration example.
33+
However, if `operation_type` is explicitly set to `SUBSTRING`, you don't need to wrap the value of `metric_name` in forward slashes.
34+
35+
## Configuration examples
36+
37+
The following examples show possible configurations of the Metrics Selector processor.
38+
39+
### Without `context`
2240

23-
{% tabs %}
24-
{% tab title="fluent-bit.yaml" %}
2541
```yaml
2642
service:
2743
flush: 5
@@ -51,9 +67,9 @@ pipeline:
5167
- name: stdout
5268
match: '*'
5369
```
54-
{% endtab %}
5570
56-
{% tab title="context-delete\_label\_value.yaml" %}
71+
### With `context`
72+
5773
```yaml
5874
service:
5975
flush: 5
@@ -80,14 +96,3 @@ pipeline:
8096
- name: stdout
8197
match: '*'
8298
```
83-
{% endtab %}
84-
{% endtabs %}
85-
86-
87-
All processors are only valid with the YAML configuration format.
88-
Processor configuration should be located under the relevant input or output plugin configuration.
89-
90-
Metric\_Name parameter will translate the strings which is quoted with backslashes `/.../` as Regular expressions.
91-
Without them, users need to specify Operation\_Type whether prefix matching or substring matching.
92-
The default operation is prefix matching.
93-
For example, `/chunks/` will be translated as a regular expression.

0 commit comments

Comments
 (0)