File tree Expand file tree Collapse file tree
conf/provisioning/datasources Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ - Observability stack: update Tempo version to latest, enable traces-to-profiles, run Pyroscope with bigger and higher resolution profiles
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ func defaultAnvil(in *Input) {
3636 in .Port = "8545"
3737 }
3838 if in .ContainerName == "" {
39- in .ContainerName = "anvil"
39+ in .ContainerName = "anvil-" + in . ChainID
4040 }
4141}
4242
Original file line number Diff line number Diff line change @@ -3,22 +3,46 @@ apiVersion: 1
33datasources :
44 - name : Tempo
55 type : tempo
6+ uid : tempo
67 access : proxy
78 url : http://tempo:3200
89 isDefault : false
10+ jsonData :
11+ tracesToLogsV2 :
12+ datasourceUid : P8E80F9AEF21F6940
13+ spanStartTimeShift : ' -1h'
14+ spanEndTimeShift : ' 1h'
15+ filterByTraceID : true
16+ filterBySpanID : true
17+ tracesToProfiles :
18+ datasourceUid : pyroscope
19+ profileTypeId : ' process_cpu:cpu:nanoseconds:cpu:nanoseconds'
20+ customQuery : true
21+ query : ' {service_name="chainlink-node"}'
22+ serviceMap :
23+ datasourceUid : PBFA97CFB590B2093
24+ nodeGraph :
25+ enabled : true
926 - name : Loki
1027 type : loki
28+ uid : P8E80F9AEF21F6940
1129 isDefault : true
1230 access : proxy
1331 url : http://loki:3100
1432 jsonData :
1533 maxLines : 5000
34+ derivedFields :
35+ - datasourceUid : tempo
36+ matcherRegex : ' "traceID":"([a-f0-9]+)"'
37+ name : TraceID
38+ url : ' $${__value.raw}'
1639 - name : Prometheus
1740 type : prometheus
41+ uid : PBFA97CFB590B2093
1842 access : proxy
19- url : http://prometheus:9090 # Replace with your Prometheus URL
43+ url : http://prometheus:9090
2044 jsonData :
21- timeInterval : 5s # Adjust this interval as needed
45+ timeInterval : 5s
2246
2347 - name : PostgreSQL 0
2448 type : postgres
@@ -82,8 +106,11 @@ datasources:
82106
83107 - name : Pyroscope
84108 type : grafana-pyroscope-datasource
109+ uid : pyroscope
85110 access : proxy
86111 url : http://pyroscope:4040
87112 isDefault : false
88113 version : 1
89114 editable : true
115+ jsonData :
116+ maxNodes : 100000
Original file line number Diff line number Diff line change 11services :
22 tempo :
3- image : grafana/tempo:2.3.1
3+ image : grafana/tempo:2.7.1
4+ user : ' 0:0'
45 command : [ "-config.file=/etc/tempo.yaml" ]
56 volumes :
67 - ./tempo.yaml:/etc/tempo.yaml
@@ -11,6 +12,11 @@ services:
1112 - " 14268:14268" # jaeger ingest
1213 - " 14250:14250" # jaeger grpc
1314 - " 14400:55680" # otlp http legacy
15+ deploy :
16+ resources :
17+ limits :
18+ memory : 2G
19+ restart : unless-stopped
1420 otel-collector :
1521 image : otel/opentelemetry-collector-contrib:0.123.0
1622 volumes :
@@ -40,6 +46,10 @@ services:
4046 prometheus :
4147 image : prom/prometheus:v3.4.1
4248 user : ' 0:0'
49+ command :
50+ - ' --config.file=/etc/prometheus/prometheus.yml'
51+ - ' --web.enable-remote-write-receiver'
52+ - ' --enable-feature=exemplar-storage'
4353 volumes :
4454 - /var/run/docker.sock:/var/run/docker.sock
4555 - ./conf/prometheus.yml:/etc/prometheus/prometheus.yml
@@ -88,8 +98,9 @@ services:
8898 ports :
8999 - ' 4040:4040'
90100 command :
91- - ' server '
101+ - ' -config.file=/etc/pyroscope/config.yaml '
92102 volumes :
103+ - ./pyroscope-config.yaml:/etc/pyroscope/config.yaml
93104 - pyroscope-storage:/var/lib/pyroscope
94105
95106 postgres_exporter_0 :
Original file line number Diff line number Diff line change 1+ # Pyroscope server configuration
2+ # Increased limits to preserve more profile data for comparison analysis
3+
4+ limits :
5+ # Ingestion rate limits (default: 4 MiB/s rate, 2 MiB burst)
6+ ingestion_rate_mb : 100
7+ ingestion_burst_size_mb : 50
8+
9+ # Disable sample limit to prevent profile rejection (default: 16000)
10+ max_profile_stacktrace_samples : 0
11+
12+ # Increase max stacktrace depth (default: 1000)
13+ max_profile_stacktrace_depth : 2000
14+
15+ # Increase default flame graph nodes shown (default: 8192)
16+ max_flamegraph_nodes_default : 100000
17+
18+ # Disable max flame graph nodes limit (default: 1048576)
19+ max_flamegraph_nodes_max : 0
20+
21+ # Increase max profile size (default: 4MB)
22+ max_profile_size_bytes : 16777216
Original file line number Diff line number Diff line change @@ -6,10 +6,54 @@ distributor:
66 otlp :
77 protocols :
88 grpc :
9+ endpoint : 0.0.0.0:4317
910 http :
11+ endpoint : 0.0.0.0:4318
12+
13+ # Query frontend for TraceQL metrics
14+ query_frontend :
15+ search :
16+ duration_slo : 5s
17+ throughput_bytes_slo : 1.073741824e+09
18+ metrics :
19+ max_duration : 0s
20+
21+ # Querier configuration
22+ querier :
23+ search :
24+ prefer_self : 10
25+
26+ # Metrics generator for Grafana Drilldown (RED metrics from traces)
27+ metrics_generator :
28+ registry :
29+ external_labels :
30+ source : tempo
31+ storage :
32+ path : /tmp/tempo/generator/wal
33+ remote_write :
34+ - url : http://prometheus:9090/api/v1/write
35+ send_exemplars : true
36+ processor :
37+ service_graphs :
38+ dimensions :
39+ - service.name
40+ - service.namespace
41+ span_metrics :
42+ dimensions :
43+ - service.name
44+ - span.name
45+ - span.kind
46+ - status.code
47+ local_blocks :
48+ flush_to_storage : false
49+ max_block_bytes : 100000000 # 100MB max block size for metrics generator
1050
1151overrides :
1252 max_traces_per_user : 50000
53+ metrics_generator_processors :
54+ - service-graphs
55+ - span-metrics
56+ - local-blocks
1357
1458storage :
1559 trace :
You can’t perform that action at this time.
0 commit comments