You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/01-Introduction/01-intro.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,11 +105,12 @@ The following are known system requirements for installing Retina:
105
105
106
106
Community users have reported performance considerations when using **Advanced metrics with the `packetparser` plugin** on nodes with high CPU core counts (32+ cores) under sustained, high-volume network load.
107
107
108
-
If you plan to deploy Retina in Advanced mode on large node types with network-intensive workloads, consider:
109
-
110
-
1.**Start with Basic metrics mode** (does not use `packetparser`)
111
-
2. Enable `dataSamplingRate` if you need Advanced metrics
112
-
3. Monitor CPU usage and network throughput after deployment
113
-
4. See [`packetparser` performance considerations](../03-Metrics/plugins/Linux/packetparser.md#performance-considerations) for more information
108
+
If you plan to deploy Retina in Advanced mode on large node types with network-intensive workloads, consider:
109
+
110
+
1.**Start with Basic metrics mode** (does not use `packetparser`)
111
+
2. Enable `packetParserRingBuffer` if you need Advanced metrics on high-throughput nodes
112
+
3. If you stay on perf event arrays, tune `dataSamplingRate`
113
+
4. Monitor CPU usage and network throughput after deployment
114
+
5. See [`packetparser` performance considerations](../03-Metrics/plugins/Linux/packetparser.md#performance-considerations) for more information
114
115
115
116
The Retina team is evaluating options to address these reported concerns in future releases.
Copy file name to clipboardExpand all lines: docs/02-Installation/03-Config.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,8 +53,8 @@ Apply to both Agent and Operator.
53
53
*`enableAnnotations`: Enables gathering of metrics for annotated resources. Resources can be annotated with `retina.sh=observe`. Requires the operator and `operator.enableRetinaEndpoint` to be enabled. By enabling annotations, the agent will not use MetricsConfiguration CRD.
54
54
*`bypassLookupIPOfInterest`: If true, plugins like `packetparser` and `dropreason` will bypass IP lookup, generating an event for each packet regardless. `enableAnnotations` will not work if this is true.
55
55
*`dataAggregationLevel`: Defines the level of data aggregation for Retina. See [Data Aggregation](../05-Concepts/data-aggregation.md) for more details.
56
-
*`dataSamplingRate`: Defines the data sampling rate for `packetparser`. See [Sampling](../03-Metrics/plugins/Linux/packetparser.md#sampling) for more details.
57
-
*`packetParserRingBuffer`: Selects the kernel-to-userspace transport for `packetparser`. Accepted values: `enabled` (ring buffer) or `disabled` (perf event array). `auto` is reserved for future use.
56
+
*`dataSamplingRate`: Defines the static data sampling rate for `packetparser` when `packetParserRingBuffer=disabled`. See [Sampling](../03-Metrics/plugins/Linux/packetparser.md#sampling) for more details.
57
+
*`packetParserRingBuffer`: Selects the kernel-to-userspace transport for `packetparser`. Accepted values: `enabled` (ring buffer) or `disabled` (perf event array). `auto` is reserved for future use. When enabled, `packetparser` relies on ring buffer back-pressure and ignores `dataSamplingRate`.
58
58
*`packetParserRingBufferSize`: Ring buffer size in bytes when `packetParserRingBuffer=enabled`. Must be a power of two between the kernel page size and 1GiB (inclusive); invalid values cause startup to fail.
Copy file name to clipboardExpand all lines: docs/03-Metrics/plugins/Linux/packetparser.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,9 +44,10 @@ Alternative data transfer mechanisms like BPF ring buffers (BPF_MAP_TYPE_RINGBUF
44
44
If you observe performance degradation on high-core-count nodes:
45
45
46
46
1.**Disable `packetparser`**: Use Basic metrics mode which doesn't require this plugin
47
-
2.**Enable Sampling**: Use the `dataSamplingRate` configuration option (see [Sampling](#sampling) section)
48
-
3.**Use High Data Aggregation**: Configure `high`[data aggregation](../../../05-Concepts/data-aggregation.md)
49
-
4.**Monitor Impact**: Watch for elevated CPU usage, context switches, or throughput changes
47
+
2.**Enable Ring Buffers**: Use `packetParserRingBuffer=enabled` and size the shared buffer with `packetParserRingBufferSize`
48
+
3.**Enable Sampling**: If you stay on perf event arrays, use `dataSamplingRate` (see [Sampling](#sampling))
49
+
4.**Use High Data Aggregation**: Configure `high`[data aggregation](../../../05-Concepts/data-aggregation.md)
50
+
5.**Monitor Impact**: Watch for elevated CPU usage, context switches, or throughput changes
50
51
51
52
**Note:** The Retina team is evaluating options for addressing reported performance concerns, including potential support for alternative data transfer mechanisms. Community feedback and contributions are welcome.
52
53
@@ -58,6 +59,8 @@ Since `packetparser` produces many enriched `Flow` objects it can be quite expen
58
59
59
60
Keep in mind that there are cases where reporting will happen anyways as to ensure metric accuracy.
60
61
62
+
When `packetParserRingBuffer=enabled`, `packetparser` ignores `dataSamplingRate`. In that mode the shared BPF ring buffer is the adaptation mechanism: events are emitted normally while capacity exists, and additional events are dropped only when `bpf_ringbuf_reserve()` cannot reserve space.
63
+
61
64
### Code locations
62
65
63
66
- Plugin and eBPF code: *pkg/plugin/packetparser/*
0 commit comments