mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-05 13:06:10 +02:00
Added a test suite under addons/otel/test/ for the OpenTelemetry filter. Five scenarios exercise different filter capabilities: standalone (sa) covers all hook points including idle-timeout heartbeats, metrics and log records; compact (cmp) covers the full request/response lifecycle with ACL-based error handling; context (ctx) tests explicit inject/extract propagation through numbered context variables; frontend/backend (fe/be) tests distributed tracing across two HAProxy instances; and empty tests bare filter initialisation with no active scopes. A performance benchmarking script (test-speed.sh) uses wrk to measure throughput and latency at different rate-limit settings (100% through 0%, disabled, and filter-off). Each scenario includes comprehensive YAML exporter definitions covering OTLP file/gRPC/HTTP, ostream, memory, Zipkin, and Elasticsearch backends.
25 lines
753 B
Bash
Executable File
25 lines
753 B
Bash
Executable File
#!/bin/sh -u
|
|
#
|
|
# Copyright 2026 HAProxy Technologies, Miroslav Zagorac <mzagorac@haproxy.com>
|
|
#
|
|
SH_FILE="${1:-}"
|
|
SH_EXT="${2:-}"
|
|
|
|
|
|
if test ${#} -ne 2; then
|
|
echo
|
|
echo "usage: $(basename "${0}") input-file test-name"
|
|
echo
|
|
exit 64
|
|
fi
|
|
|
|
sed '
|
|
s/^\( *\)\(filename:\)\( *\)_\(_[a-z]*\)/\1\2\3__'"${SH_EXT}"'\4/g
|
|
s/^\( *\)\(file_pattern:\)\( *\)"_\(_[a-z]*_[^"]*\)"/\1\2\3"__'"${SH_EXT}"'\4"/g
|
|
s/^\( *\)\(- service.instance.id:\)\( *\).*/\1\2\3"id-'"${SH_EXT}"'"/g
|
|
s/^\( *\)\(- service.name:\)\( *\).*/\1\2\3"'"${SH_EXT}"'"/g
|
|
s/^\( *\)\(- service.namespace:\)\( *\)\("otelc\)/\1\2\3"HAProxy/g
|
|
s/^\( *\)\(scope_name:\)\( *\)"OTEL C wrapper /\1\2 "HAProxy OTEL /g
|
|
s/^\( *\)\(exporters:\)\( *\)\(exporter_[a-z]*_\).*/\1\2\3\4otlp_http/g
|
|
' "${SH_FILE}"
|