Skip to content

Commit 7540be3

Browse files
dashboard: add vinyl memory panels
Before this patch, the code had tnt_vinyl_memory_tuple_cache and tnt_vinyl_memory_level0 panels, but they weren't added to any dashboard. This patch fixes this behavior and adds "Tuples cache memory" and "Level 0 memory" panels to vinyl section. Closes #154
1 parent 4232f4d commit 7540be3

13 files changed

+3911
-1674
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99
## Added
1010
- Options to build static dashboards
1111
- Runtime arena memory panel
12+
- Vinyl tuple cache and level 0 memory panels
1213

1314
## Changed
1415
- Set default Prometheus job to `tarantool`

dashboard/panels/vinyl.libsonnet

Lines changed: 64 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,33 @@ local prometheus = grafana.prometheus;
8080
metric_name='tnt_vinyl_disk_index_size',
8181
),
8282

83+
tuples_cache_memory(
84+
title='Tuples cache memory',
85+
description=|||
86+
Amount of memory in bytes currently used to store tuples (data).
87+
88+
Panel works with `metrics >= 0.8.0`.
89+
|||,
90+
datasource_type=null,
91+
datasource=null,
92+
policy=null,
93+
measurement=null,
94+
job=null,
95+
):: common.default_graph(
96+
title=title,
97+
description=description,
98+
datasource=datasource,
99+
format='bytes',
100+
labelY1='in bytes',
101+
panel_width=8,
102+
).addTarget(common.default_metric_target(
103+
datasource_type,
104+
'tnt_vinyl_memory_tuple_cache',
105+
job,
106+
policy,
107+
measurement
108+
)),
109+
83110
index_memory(
84111
title='Index memory',
85112
description=|||
@@ -100,7 +127,7 @@ local prometheus = grafana.prometheus;
100127
datasource=datasource,
101128
format='bytes',
102129
labelY1='in bytes',
103-
panel_width=12,
130+
panel_width=8,
104131
).addTarget(common.default_metric_target(
105132
datasource_type,
106133
'tnt_vinyl_memory_page_index',
@@ -125,7 +152,7 @@ local prometheus = grafana.prometheus;
125152
datasource=datasource,
126153
format='bytes',
127154
labelY1='in bytes',
128-
panel_width=12,
155+
panel_width=8,
129156
).addTarget(common.default_metric_target(
130157
datasource_type,
131158
'tnt_vinyl_memory_bloom_filter',
@@ -235,6 +262,39 @@ local prometheus = grafana.prometheus;
235262
metric_name='tnt_vinyl_regulator_rate_limit',
236263
),
237264

265+
memory_level0(
266+
title='Level 0 memory',
267+
description=|||
268+
«Level 0» (L0) memory area in bytes. L0 is the area that
269+
vinyl can use for in-memory storage of an LSM tree.
270+
By monitoring this metric, you can see when L0 is getting
271+
close to its maximum (tnt_vinyl_regulator_dump_watermark),
272+
at which time a dump will occur. You can expect L0 = 0
273+
immediately after the dump operation is completed.
274+
275+
Panel works with `metrics >= 0.8.0`.
276+
|||,
277+
278+
datasource_type=null,
279+
datasource=null,
280+
policy=null,
281+
measurement=null,
282+
job=null,
283+
):: common.default_graph(
284+
title=title,
285+
description=description,
286+
datasource=datasource,
287+
format='bytes',
288+
legend_avg=false,
289+
panel_width=8,
290+
).addTarget(common.default_metric_target(
291+
datasource_type,
292+
'tnt_vinyl_memory_level0',
293+
job,
294+
policy,
295+
measurement,
296+
)),
297+
238298
regulator_dump_watermark(
239299
title='Vinyl regulator dump watermark',
240300
description=|||
@@ -259,7 +319,7 @@ local prometheus = grafana.prometheus;
259319
format='bytes',
260320
legend_avg=false,
261321
legend_max=false,
262-
panel_width=12,
322+
panel_width=8,
263323
).addTarget(common.default_metric_target(
264324
datasource_type,
265325
'tnt_vinyl_regulator_dump_watermark',
@@ -288,7 +348,7 @@ local prometheus = grafana.prometheus;
288348
legend_avg=false,
289349
legend_max=false,
290350
labelY1='fibers',
291-
panel_width=12,
351+
panel_width=8,
292352
).addTarget(common.default_metric_target(
293353
datasource_type,
294354
'tnt_vinyl_regulator_blocked_writers',
@@ -450,56 +510,6 @@ local prometheus = grafana.prometheus;
450510
measurement,
451511
)),
452512

453-
memory_tuple_cache(
454-
title='Vinyl tuple cache memory',
455-
description=|||
456-
The amount of memory that is being used for storing vinyl tuples (data).
457-
458-
Panel works with `metrics >= 0.8.0`.
459-
|||,
460-
datasource_type=null,
461-
datasource=null,
462-
policy=null,
463-
measurement=null,
464-
job=null,
465-
):: memory(
466-
title=title,
467-
description=description,
468-
datasource_type=datasource_type,
469-
datasource=datasource,
470-
policy=policy,
471-
measurement=measurement,
472-
job=job,
473-
metric_name='tnt_vinyl_memory_tuple_cache',
474-
),
475-
476-
memory_level0(
477-
title='Vinyl level 0 memory',
478-
description=|||
479-
The “level 0” (L0) memory area.
480-
L0 is the area that vinyl can use for in-memory storage of an LSM tree.
481-
By monitoring the metric, you can see when L0 is getting close to its maximum
482-
(regulator dump watermark) at which a dump will be taken.
483-
You can expect L0 = 0 immediately after the dump operation is completed.
484-
485-
Panel works with `metrics >= 0.8.0`.
486-
|||,
487-
datasource_type=null,
488-
datasource=null,
489-
policy=null,
490-
measurement=null,
491-
job=null,
492-
):: memory(
493-
title=title,
494-
description=description,
495-
datasource_type=datasource_type,
496-
datasource=datasource,
497-
policy=policy,
498-
measurement=measurement,
499-
job=job,
500-
metric_name='tnt_vinyl_memory_level0',
501-
),
502-
503513
memory_page_index(
504514
title='Vinyl index memory',
505515
description=|||

dashboard/section.libsonnet

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,14 @@ local tdg_tuples = import 'dashboard/panels/tdg/tuples.libsonnet';
439439
job=job,
440440
),
441441

442+
vinyl.tuples_cache_memory(
443+
datasource_type=datasource_type,
444+
datasource=datasource,
445+
policy=policy,
446+
measurement=measurement,
447+
job=job,
448+
),
449+
442450
vinyl.index_memory(
443451
datasource_type=datasource_type,
444452
datasource=datasource,
@@ -479,6 +487,14 @@ local tdg_tuples = import 'dashboard/panels/tdg/tuples.libsonnet';
479487
job=job,
480488
),
481489

490+
vinyl.memory_level0(
491+
datasource_type=datasource_type,
492+
datasource=datasource,
493+
policy=policy,
494+
measurement=measurement,
495+
job=job,
496+
),
497+
482498
vinyl.regulator_dump_watermark(
483499
datasource_type=datasource_type,
484500
datasource=datasource,

0 commit comments

Comments
 (0)