Skip to content
This repository was archived by the owner on Apr 28, 2025. It is now read-only.

Commit e1e81a3

Browse files
authored
Merge pull request #145 from grafana/add-tsdb-metrics-to-write-dashboard
Added TSDB metrics to Cortex / Writes dashboard
2 parents 031da23 + 98bbfb1 commit e1e81a3

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

cortex-mixin/dashboards/writes.libsonnet

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,5 +163,60 @@ local utils = import 'mixin-utils/utils.libsonnet';
163163
$.panel('Upload latency') +
164164
$.latencyPanel('thanos_objstore_bucket_operation_duration_seconds', '{%s,component="ingester",operation="upload"}' % $.jobMatcher($._config.job_names.ingester)),
165165
)
166+
)
167+
.addRowIf(
168+
std.setMember('tsdb', $._config.storage_engine),
169+
$.row('Ingester - Blocks storage - TSDB Head')
170+
.addPanel(
171+
$.successFailurePanel(
172+
'Compactions / sec',
173+
'sum(rate(cortex_ingester_tsdb_compactions_total{%s}[$__interval]))' % [$.jobMatcher($._config.job_names.ingester)],
174+
'sum(rate(cortex_ingester_tsdb_compactions_failed_total{%s}[$__interval]))' % $.jobMatcher($._config.job_names.ingester),
175+
),
176+
)
177+
.addPanel(
178+
$.panel('Compactions latency') +
179+
$.latencyPanel('cortex_ingester_tsdb_compaction_duration_seconds', '{%s}' % $.jobMatcher($._config.job_names.ingester)),
180+
)
181+
)
182+
.addRowIf(
183+
std.setMember('tsdb', $._config.storage_engine),
184+
$.row('Ingester - Blocks storage - TSDB WAL')
185+
.addPanel(
186+
$.successFailurePanel(
187+
'WAL truncations / sec',
188+
'sum(rate(cortex_ingester_tsdb_wal_truncations_total{%s}[$__interval])) - sum(rate(cortex_ingester_tsdb_wal_truncations_failed_total{%s}[$__interval]))' % [$.jobMatcher($._config.job_names.ingester), $.jobMatcher($._config.job_names.ingester)],
189+
'sum(rate(cortex_ingester_tsdb_wal_truncations_failed_total{%s}[$__interval]))' % $.jobMatcher($._config.job_names.ingester),
190+
),
191+
)
192+
.addPanel(
193+
$.successFailurePanel(
194+
'Checkpoints created / sec',
195+
'sum(rate(cortex_ingester_tsdb_checkpoint_creations_total{%s}[$__interval])) - sum(rate(cortex_ingester_tsdb_checkpoint_creations_failed_total{%s}[$__interval]))' % [$.jobMatcher($._config.job_names.ingester), $.jobMatcher($._config.job_names.ingester)],
196+
'sum(rate(cortex_ingester_tsdb_checkpoint_creations_failed_total{%s}[$__interval]))' % $.jobMatcher($._config.job_names.ingester),
197+
),
198+
)
199+
.addPanel(
200+
$.panel('WAL truncations latency (includes checkpointing)') +
201+
$.queryPanel('sum(rate(cortex_ingester_tsdb_wal_truncate_duration_seconds_sum{%s}[$__interval])) / sum(rate(cortex_ingester_tsdb_wal_truncate_duration_seconds_count{%s}[$__interval]))' % [$.jobMatcher($._config.job_names.ingester), $.jobMatcher($._config.job_names.ingester)], 'avg') +
202+
{ yaxes: $.yaxes('s') },
203+
)
204+
.addPanel(
205+
$.panel('Corruptions / sec') +
206+
$.queryPanel([
207+
'sum(rate(cortex_ingester_wal_corruptions_total{%s}[$__interval]))' % $.jobMatcher($._config.job_names.ingester),
208+
'sum(rate(cortex_ingester_tsdb_mmap_chunk_corruptions_total{%s}[$__interval]))' % $.jobMatcher($._config.job_names.ingester),
209+
], [
210+
'WAL',
211+
'mmap-ed chunks',
212+
]) +
213+
$.stack + {
214+
yaxes: $.yaxes('ops'),
215+
aliasColors: {
216+
WAL: '#E24D42',
217+
'mmap-ed chunks': '#E28A42',
218+
},
219+
},
220+
)
166221
),
167222
}

0 commit comments

Comments
 (0)