Files
Joe ElliottandGitHub 5ee93d3cf8 Tempo 3.0: Integration Tests Rewrite (#6088)
* First pass test harness

Signed-off-by: Joe Elliott <[email protected]>

* limits - passed

Signed-off-by: Joe Elliott <[email protected]>

* metrics generator - passed

Signed-off-by: Joe Elliott <[email protected]>

* harness cleanup/fix target info test

Signed-off-by: Joe Elliott <[email protected]>

* deployments - passed

Signed-off-by: Joe Elliott <[email protected]>

* receivers - passed

Signed-off-by: Joe Elliott <[email protected]>

* harness cleanup

Signed-off-by: Joe Elliott <[email protected]>

* storage - passed

Signed-off-by: Joe Elliott <[email protected]>

* api - passing

Signed-off-by: Joe Elliott <[email protected]>

* cleanup and CI

Signed-off-by: Joe Elliott <[email protected]>

* Additional tests

Signed-off-by: Joe Elliott <[email protected]>

* it's me and you linter. how many times are you going to do this to me?

Signed-off-by: Joe Elliott <[email protected]>

* lint and tests

Signed-off-by: Joe Elliott <[email protected]>

* restored live store partition tests

Signed-off-by: Joe Elliott <[email protected]>

* massive lint

Signed-off-by: Joe Elliott <[email protected]>

* cleanup

Signed-off-by: Joe Elliott <[email protected]>

* lint >.<

Signed-off-by: Joe Elliott <[email protected]>

* wups

Signed-off-by: Joe Elliott <[email protected]>

* cleanup and stabilizing

Signed-off-by: Joe Elliott <[email protected]>

* cleanup

Signed-off-by: Joe Elliott <[email protected]>

* omg

Signed-off-by: Joe Elliott <[email protected]>

* added config file. removed empty file. deleted some debug code

Signed-off-by: Joe Elliott <[email protected]>

* even more fixes

Signed-off-by: Joe Elliott <[email protected]>

* maybe this works? maybe it was all local networking issues

Signed-off-by: Joe Elliott <[email protected]>

* review

Signed-off-by: Joe Elliott <[email protected]>

* backed off huge write timeout. added missing config file

Signed-off-by: Joe Elliott <[email protected]>

* restore disable parallelism setting. restore beefy write timeout

Signed-off-by: Joe Elliott <[email protected]>

* apparently another test relied on the http receiver

Signed-off-by: Joe Elliott <[email protected]>

* livestore avail zone!

Signed-off-by: Joe Elliott <[email protected]>

* add support for v1 traces and tags endpoints

Signed-off-by: Joe Elliott <[email protected]>

* review

Signed-off-by: Joe Elliott <[email protected]>

* changed the location of the changelog entry to avoid conflicts

Signed-off-by: Joe Elliott <[email protected]>

---------

Signed-off-by: Joe Elliott <[email protected]>
2026-01-07 08:31:11 -05:00

107 lines
2.9 KiB
YAML

#
# base config for e2e tests. any field in this config can be overridden by passing in a
# ConfigOverlay to the e2e test framework.
#
# Note: A lot of this is boilerplate, but there a few settings that exist to hasten
# the normal Tempo processes for the sake of e2e tests. See all comments marked "timings"
# below.
#
stream_over_http_enabled: true
partition_ring_live_store: true
server:
http_listen_port: 3200
log_level: info
overrides:
per_tenant_override_config: /shared/overrides.yaml
per_tenant_override_period: 1s # timings: check for updated overrides every second
defaults:
metrics_generator:
processors: [service-graphs, span-metrics]
query_frontend:
rf1_after: "2025-01-01T00:00:00Z"
distributor:
ingester_write_path_enabled: false
kafka_write_path_enabled: true
receivers:
otlp:
protocols:
grpc:
endpoint: "0.0.0.0:4317"
live_store:
max_trace_live: 5s # timings: the max amount of time a trace can be in the live map
max_trace_idle: 1s # timings: the max amount of time a trace can be idle in the live map
flush_check_period: 5s # timings: check for traces to flush and wal blocks to complete every 5s
max_block_duration: 5s # timings: complete any wal file that's older than 5s. 10s is the max age of a wal file
partition_ring:
kvstore:
store: memberlist
storage:
trace:
backend: local
local:
path: /shared/var/tempo/backend
pool:
max_workers: 10
queue_depth: 100
blocklist_poll: 2s # timings: check for updated blocklists every 2s
memberlist:
abort_if_cluster_join_fails: false
bind_port: 7946
join_members:
- live-store-zone-a-0:7946
- live-store-zone-b-0:7946
- query-frontend:7946
- distributor:7946
- querier:7946
block_builder:
consume_cycle_duration: 10s # timings: how often to check and flush a new block?
assigned_partitions:
block-builder-0:
- 0
ingest:
enabled: true
kafka:
address: kafka:9092
topic: tempo-ingest
querier:
frontend_worker:
frontend_address: query-frontend:9095
query_live_store: true
metrics_generator:
registry:
collection_interval: 1s # timings: collect and send metrics every second
storage:
path: /shared/var/tempo
remote_write:
- url: http://prometheus:9090/api/v1/write
send_exemplars: true
backend_scheduler:
provider:
compaction:
min_cycle_interval: 50ms # timings
measure_interval: 1s # timings
backend_worker:
backend_scheduler_addr: backend-scheduler:9095
finish_on_shutdown_timeout: 1s # timings
# ring: the ring is not configured in the base config b/c it causes the backend worker to start significantly slower
# kvstore:
# store: memberlist
# the distributor still uses the ingester client timeouts when sending to kafka. this needs to be fixed for 3.0 but using
# it for now to avoid flakes on the write path
ingester_client:
remote_timeout: 30s