From 84a2f8b639349cad96ff93e19e89e14a7945cb7b Mon Sep 17 00:00:00 2001 From: Pete Wall Date: Wed, 15 Jan 2025 07:48:19 -0600 Subject: [PATCH] Add interval processor Signed-off-by: Pete Wall --- .../README.md | 9 + .../templates/_module.alloy.tpl | 21 ++ .../templates/_processor_batch.tpl | 4 + .../templates/_processor_interval.tpl | 23 +++ .../tests/default_test.yaml | 4 + .../tests/interval_test.yaml | 184 ++++++++++++++++++ .../values.schema.json | 22 +++ .../values.yaml | 19 ++ .../auth/bearer-token/alloy-receiver.alloy | 4 + .../examples/auth/bearer-token/output.yaml | 4 + .../embedded-secrets/alloy-receiver.alloy | 4 + .../auth/embedded-secrets/output.yaml | 4 + .../external-secrets/alloy-receiver.alloy | 4 + .../auth/external-secrets/output.yaml | 4 + .../default/alloy-receiver.alloy | 4 + .../default/output.yaml | 4 + .../alloy-receiver.alloy | 4 + .../beyla-metrics-and-traces/output.yaml | 4 + .../examples/proxies/alloy-receiver.alloy | 4 + .../docs/examples/proxies/output.yaml | 4 + .../.rendered/output.yaml | 4 + 21 files changed, 338 insertions(+) create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_interval.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/tests/interval_test.yaml diff --git a/charts/k8s-monitoring/charts/feature-application-observability/README.md b/charts/k8s-monitoring/charts/feature-application-observability/README.md index a595f43ab..8572bb970 100644 --- a/charts/k8s-monitoring/charts/feature-application-observability/README.md +++ b/charts/k8s-monitoring/charts/feature-application-observability/README.md @@ -61,6 +61,15 @@ Be sure perform actual integration testing in a live environment in the main [k8 |-----|------|---------|-------------| | processors.grafanaCloudMetrics.enabled | bool | `true` | Generate host info metrics from telemetry data, used in Application Observability in Grafana Cloud. | +### Processors: Interval + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| processors.interval.enabled | bool | `false` | Utilize an interval processor to aggregates metrics and periodically forwards the latest values to the next component in the pipeline. | +| processors.interval.interval | string | `"60s"` | The interval at which to emit aggregated metrics. | +| processors.interval.passthrough.gauge | bool | `false` | Determines whether gauge metrics should be passed through as they are or aggregated. | +| processors.interval.passthrough.summary | bool | `false` | Determines whether summary metrics should be passed through as they are or aggregated. | + ### Processors: K8s Attributes | Key | Type | Default | Description | diff --git a/charts/k8s-monitoring/charts/feature-application-observability/templates/_module.alloy.tpl b/charts/k8s-monitoring/charts/feature-application-observability/templates/_module.alloy.tpl index 9e4a20a5c..92bfb8717 100644 --- a/charts/k8s-monitoring/charts/feature-application-observability/templates/_module.alloy.tpl +++ b/charts/k8s-monitoring/charts/feature-application-observability/templates/_module.alloy.tpl @@ -7,6 +7,7 @@ {{- $transform := include "feature.applicationObservability.processor.transform.alloy.target" dict }} {{- $filter := include "feature.applicationObservability.processor.filter.alloy.target" dict }} {{- $batch := include "feature.applicationObservability.processor.batch.alloy.target" dict }} +{{- $interval := include "feature.applicationObservability.processor.interval.alloy.target" dict }} {{- $memoryLimiter := include "feature.applicationObservability.processor.memory_limiter.alloy.target" dict }} declare "application_observability" { argument "metrics_destinations" { @@ -66,6 +67,11 @@ declare "application_observability" { {{- $metricsNext = printf "[%s]" $memoryLimiter }} {{- $logsNext = printf "[%s]" $memoryLimiter }} {{- $tracesNext = printf "[%s]" $memoryLimiter }} +{{- else if .Values.processors.interval.enabled }} + // Batch Processor --> Interval + {{- $metricsNext = printf "[%s]" $interval }} + {{- $logsNext = printf "[%s]" $interval }} + {{- $tracesNext = printf "[%s]" $interval }} {{- else }} // Batch Processor --> Destinations {{- $metricsNext = "argument.metrics_destinations.value" }} @@ -75,12 +81,27 @@ declare "application_observability" { {{- include "feature.applicationObservability.processor.batch.alloy" (dict "Values" $.Values "metricsOutput" $metricsNext "logsOutput" $logsNext "tracesOutput" $tracesNext ) | indent 2 }} {{- if .Values.processors.memoryLimiter.enabled }} +{{- if .Values.processors.interval.enabled }} + // Memory Limiter --> Interval + {{- $metricsNext = printf "[%s]" $interval }} + {{- $logsNext = printf "[%s]" $interval }} + {{- $tracesNext = printf "[%s]" $interval }} +{{- else }} // Memory Limiter --> Destinations {{- $metricsNext = "argument.metrics_destinations.value" }} {{- $logsNext = "argument.logs_destinations.value" }} {{- $tracesNext = "argument.traces_destinations.value" }} +{{- end }} {{- include "feature.applicationObservability.processor.memory_limiter.alloy" (dict "Values" $.Values "metricsOutput" $metricsNext "logsOutput" $logsNext "tracesOutput" $tracesNext ) | indent 2 }} {{- end }} + +{{- if .Values.processors.interval.enabled }} + // Interval --> Destinations + {{- $metricsNext = "argument.metrics_destinations.value" }} + {{- $logsNext = "argument.logs_destinations.value" }} + {{- $tracesNext = "argument.traces_destinations.value" }} + {{- include "feature.applicationObservability.processor.interval.alloy" (dict "Values" $.Values "metricsOutput" $metricsNext "logsOutput" $logsNext "tracesOutput" $tracesNext ) | indent 2 }} +{{- end }} } {{- end }} diff --git a/charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_batch.tpl b/charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_batch.tpl index ae2296c94..e78ce1132 100644 --- a/charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_batch.tpl +++ b/charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_batch.tpl @@ -2,6 +2,10 @@ {{- define "feature.applicationObservability.processor.batch.alloy.target" }}otelcol.processor.batch.{{ .name | default "default" }}.input{{ end }} {{- define "feature.applicationObservability.processor.batch.alloy" }} otelcol.processor.batch {{ .name | default "default" | quote }} { + send_batch_size = {{ .Values.processors.batch.size }} + send_batch_max_size = {{ .Values.processors.batch.maxSize }} + timeout = {{ .Values.processors.batch.timeout | quote}} + output { {{- if and .metricsOutput .Values.metrics.enabled }} metrics = {{ .metricsOutput }} diff --git a/charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_interval.tpl b/charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_interval.tpl new file mode 100644 index 000000000..3940be1fe --- /dev/null +++ b/charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_interval.tpl @@ -0,0 +1,23 @@ +{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} +{{- define "feature.applicationObservability.processor.interval.alloy.target" }}otelcol.processor.interval.{{ .name | default "default" }}.input{{ end }} +{{- define "feature.applicationObservability.processor.interval.alloy" }} +otelcol.processor.interval {{ .name | default "default" | quote }} { + interval = {{ .Values.processors.interval.interval | quote }} + passthrough { + gauge = {{ .Values.processors.interval.passthrough.gauge }} + summary = {{ .Values.processors.interval.passthrough.summary }} + } + + output { +{{- if and .metricsOutput .Values.metrics.enabled }} + metrics = {{ .metricsOutput }} +{{- end }} +{{- if and .logsOutput .Values.logs.enabled }} + logs = {{ .logsOutput }} +{{- end }} +{{- if and .tracesOutput .Values.traces.enabled }} + traces = {{ .tracesOutput }} +{{- end }} + } +} +{{- end }} \ No newline at end of file diff --git a/charts/k8s-monitoring/charts/feature-application-observability/tests/default_test.yaml b/charts/k8s-monitoring/charts/feature-application-observability/tests/default_test.yaml index 765492263..6b7d0bce1 100644 --- a/charts/k8s-monitoring/charts/feature-application-observability/tests/default_test.yaml +++ b/charts/k8s-monitoring/charts/feature-application-observability/tests/default_test.yaml @@ -154,6 +154,10 @@ tests: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/charts/feature-application-observability/tests/interval_test.yaml b/charts/k8s-monitoring/charts/feature-application-observability/tests/interval_test.yaml new file mode 100644 index 000000000..6e556b42c --- /dev/null +++ b/charts/k8s-monitoring/charts/feature-application-observability/tests/interval_test.yaml @@ -0,0 +1,184 @@ +# yamllint disable rule:document-start rule:line-length rule:trailing-spaces +suite: Test with interval processor +templates: + - configmap.yaml +tests: + - it: creates the pipeline with the interval processor + set: + deployAsConfigMap: true + processors: + interval: + enabled: true + receivers: + otlp: + grpc: + enabled: true + http: + enabled: true + jaeger: + grpc: + enabled: true + thriftBinary: + enabled: true + thriftCompact: + enabled: true + thriftHttp: + enabled: true + zipkin: + enabled: true + asserts: + - isKind: + of: ConfigMap + - equal: + path: data["module.alloy"] + value: |- + declare "application_observability" { + argument "metrics_destinations" { + comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" + } + + argument "logs_destinations" { + comment = "Must be a list of log destinations where collected logs should be forwarded to" + } + + argument "traces_destinations" { + comment = "Must be a list of trace destinations where collected trace should be forwarded to" + } + + // Receivers --> Resource Detection Processor + otelcol.receiver.otlp "receiver" { + grpc { + endpoint = "0.0.0.0:4317" + } + http { + endpoint = "0.0.0.0:4318" + } + debug_metrics { + disable_high_cardinality_metrics = true + } + output { + metrics = [otelcol.processor.resourcedetection.default.input] + logs = [otelcol.processor.resourcedetection.default.input] + traces = [otelcol.processor.resourcedetection.default.input] + } + } + otelcol.receiver.jaeger "receiver" { + protocols {grpc { + endpoint = "0.0.0.0:0" + } + thrift_binary { + endpoint = "0.0.0.0:0" + } + thrift_compact { + endpoint = "0.0.0.0:0" + } + thrift_http { + endpoint = "0.0.0.0:0" + } + } + + debug_metrics { + disable_high_cardinality_metrics = true + } + output { + traces = [otelcol.processor.resourcedetection.default.input] + } + } + otelcol.receiver.zipkin "receiver" { + endpoint = "0.0.0.0:9411" + debug_metrics { + disable_high_cardinality_metrics = true + } + output { + traces = [otelcol.processor.resourcedetection.default.input] + } + } + + // Resource Detection Processor --> K8s Attribute Processor + otelcol.processor.resourcedetection "default" { + detectors = ["env", "system"] + system { + hostname_sources = ["os"] + } + + output { + metrics = [otelcol.processor.k8sattributes.default.input] + logs = [otelcol.processor.k8sattributes.default.input] + traces = [otelcol.processor.k8sattributes.default.input] + } + } + + // K8s Attribute Processor --> Transform Processor + // Resource Detection Processor Traces --> Host Info Connector + otelcol.processor.k8sattributes "default" { + extract { + metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] + } + pod_association { + source { + from = "connection" + } + } + + output { + metrics = [otelcol.processor.transform.default.input] + logs = [otelcol.processor.transform.default.input] + traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] + } + } + // Host Info Connector --> Batch Processor + otelcol.connector.host_info "default" { + host_identifiers = [ "k8s.node.name" ] + + output { + metrics = [otelcol.processor.batch.default.input] + } + } + + + // Transform Processor --> Batch Processor + otelcol.processor.transform "default" { + error_mode = "ignore" + log_statements { + context = "resource" + statements = [ + "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", + "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", + "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", + ] + } + + output { + metrics = [otelcol.processor.batch.default.input] + logs = [otelcol.processor.batch.default.input] + traces = [otelcol.processor.batch.default.input] + } + } + + // Batch Processor --> Interval + otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + + output { + metrics = [otelcol.processor.interval.default.input] + logs = [otelcol.processor.interval.default.input] + traces = [otelcol.processor.interval.default.input] + } + } + // Interval --> Destinations + otelcol.processor.interval "default" { + interval = "60s" + passthrough { + gauge = false + summary = false + } + + output { + metrics = argument.metrics_destinations.value + logs = argument.logs_destinations.value + traces = argument.traces_destinations.value + } + } + } diff --git a/charts/k8s-monitoring/charts/feature-application-observability/values.schema.json b/charts/k8s-monitoring/charts/feature-application-observability/values.schema.json index 3354f6358..490209177 100644 --- a/charts/k8s-monitoring/charts/feature-application-observability/values.schema.json +++ b/charts/k8s-monitoring/charts/feature-application-observability/values.schema.json @@ -102,6 +102,28 @@ } } }, + "interval": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "interval": { + "type": "string" + }, + "passthrough": { + "type": "object", + "properties": { + "gauge": { + "type": "boolean" + }, + "summary": { + "type": "boolean" + } + } + } + } + }, "k8sattributes": { "type": "object", "properties": { diff --git a/charts/k8s-monitoring/charts/feature-application-observability/values.yaml b/charts/k8s-monitoring/charts/feature-application-observability/values.yaml index 7c670e067..77c7b7dc8 100644 --- a/charts/k8s-monitoring/charts/feature-application-observability/values.yaml +++ b/charts/k8s-monitoring/charts/feature-application-observability/values.yaml @@ -81,6 +81,25 @@ processors: # @section -- Processors: Batch timeout: 2s + interval: + # -- Utilize an interval processor to aggregates metrics and periodically forwards the latest values to the next + # component in the pipeline. + # @section -- Processors: Interval + enabled: false + + # -- The interval at which to emit aggregated metrics. + # @section -- Processors: Interval + interval: 60s + + passthrough: + # -- Determines whether gauge metrics should be passed through as they are or aggregated. + # @section -- Processors: Interval + gauge: false + + # -- Determines whether summary metrics should be passed through as they are or aggregated. + # @section -- Processors: Interval + summary: false + k8sattributes: # -- Kubernetes metadata to extract and add to the attributes of the received telemetry data. # @section -- Processors: K8s Attributes diff --git a/charts/k8s-monitoring/docs/examples/auth/bearer-token/alloy-receiver.alloy b/charts/k8s-monitoring/docs/examples/auth/bearer-token/alloy-receiver.alloy index 40b2427dc..506d8b049 100644 --- a/charts/k8s-monitoring/docs/examples/auth/bearer-token/alloy-receiver.alloy +++ b/charts/k8s-monitoring/docs/examples/auth/bearer-token/alloy-receiver.alloy @@ -216,6 +216,10 @@ declare "application_observability" { // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/auth/bearer-token/output.yaml b/charts/k8s-monitoring/docs/examples/auth/bearer-token/output.yaml index a81b81c0b..0eda3b2fd 100644 --- a/charts/k8s-monitoring/docs/examples/auth/bearer-token/output.yaml +++ b/charts/k8s-monitoring/docs/examples/auth/bearer-token/output.yaml @@ -617,6 +617,10 @@ data: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/alloy-receiver.alloy b/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/alloy-receiver.alloy index b9acd2073..a460a11ab 100644 --- a/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/alloy-receiver.alloy +++ b/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/alloy-receiver.alloy @@ -217,6 +217,10 @@ declare "application_observability" { // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/output.yaml b/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/output.yaml index c3f0ff181..91ef6698f 100644 --- a/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/output.yaml +++ b/charts/k8s-monitoring/docs/examples/auth/embedded-secrets/output.yaml @@ -607,6 +607,10 @@ data: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/auth/external-secrets/alloy-receiver.alloy b/charts/k8s-monitoring/docs/examples/auth/external-secrets/alloy-receiver.alloy index 36b2caecc..b9966d36e 100644 --- a/charts/k8s-monitoring/docs/examples/auth/external-secrets/alloy-receiver.alloy +++ b/charts/k8s-monitoring/docs/examples/auth/external-secrets/alloy-receiver.alloy @@ -249,6 +249,10 @@ declare "application_observability" { // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/auth/external-secrets/output.yaml b/charts/k8s-monitoring/docs/examples/auth/external-secrets/output.yaml index 4d859163a..901615469 100644 --- a/charts/k8s-monitoring/docs/examples/auth/external-secrets/output.yaml +++ b/charts/k8s-monitoring/docs/examples/auth/external-secrets/output.yaml @@ -659,6 +659,10 @@ data: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/features/application-observability/default/alloy-receiver.alloy b/charts/k8s-monitoring/docs/examples/features/application-observability/default/alloy-receiver.alloy index f8492ba1a..d8e130f26 100644 --- a/charts/k8s-monitoring/docs/examples/features/application-observability/default/alloy-receiver.alloy +++ b/charts/k8s-monitoring/docs/examples/features/application-observability/default/alloy-receiver.alloy @@ -151,6 +151,10 @@ declare "application_observability" { // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/features/application-observability/default/output.yaml b/charts/k8s-monitoring/docs/examples/features/application-observability/default/output.yaml index 7d61871a0..ed998994a 100644 --- a/charts/k8s-monitoring/docs/examples/features/application-observability/default/output.yaml +++ b/charts/k8s-monitoring/docs/examples/features/application-observability/default/output.yaml @@ -176,6 +176,10 @@ data: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/alloy-receiver.alloy b/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/alloy-receiver.alloy index 5cc06b117..71361e076 100644 --- a/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/alloy-receiver.alloy +++ b/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/alloy-receiver.alloy @@ -151,6 +151,10 @@ declare "application_observability" { // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/output.yaml b/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/output.yaml index 676b0df33..21d16708c 100644 --- a/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/output.yaml +++ b/charts/k8s-monitoring/docs/examples/features/auto-instrumentation/beyla-metrics-and-traces/output.yaml @@ -386,6 +386,10 @@ data: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/proxies/alloy-receiver.alloy b/charts/k8s-monitoring/docs/examples/proxies/alloy-receiver.alloy index e3445b526..0b251fb3f 100644 --- a/charts/k8s-monitoring/docs/examples/proxies/alloy-receiver.alloy +++ b/charts/k8s-monitoring/docs/examples/proxies/alloy-receiver.alloy @@ -203,6 +203,10 @@ declare "application_observability" { // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/docs/examples/proxies/output.yaml b/charts/k8s-monitoring/docs/examples/proxies/output.yaml index 88ab56b3f..2a20282cc 100644 --- a/charts/k8s-monitoring/docs/examples/proxies/output.yaml +++ b/charts/k8s-monitoring/docs/examples/proxies/output.yaml @@ -1022,6 +1022,10 @@ data: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value diff --git a/charts/k8s-monitoring/tests/integration/auto-instrumentation/.rendered/output.yaml b/charts/k8s-monitoring/tests/integration/auto-instrumentation/.rendered/output.yaml index b6a63e22d..e7fd84d70 100644 --- a/charts/k8s-monitoring/tests/integration/auto-instrumentation/.rendered/output.yaml +++ b/charts/k8s-monitoring/tests/integration/auto-instrumentation/.rendered/output.yaml @@ -452,6 +452,10 @@ data: // Batch Processor --> Destinations otelcol.processor.batch "default" { + send_batch_size = 16384 + send_batch_max_size = 0 + timeout = "2s" + output { metrics = argument.metrics_destinations.value logs = argument.logs_destinations.value