github.com/thanos-io/thanos@v0.32.5/mixin/lib/thanos-grafana-builder/slo.libsonnet (about) 1 local utils = import '../utils.libsonnet'; 2 3 { 4 sloLatency(title, description, selector, dimensions, quantile, warning, critical):: 5 local aggregatedLabels = std.split(dimensions, ','); 6 local dimensionsTemplate = std.join(' ', ['{{%s}}' % std.stripChars(label, ' ') for label in aggregatedLabels]); 7 8 $.panel(title, description) + 9 $.queryPanel( 10 'histogram_quantile(%.2f, sum by (%s) (rate(%s[$interval])))' % [quantile, utils.joinLabels(aggregatedLabels + ['le']), selector], 11 dimensionsTemplate + ' P' + quantile * 100 12 ) + 13 { 14 yaxes: $.yaxes('s'), 15 thresholds+: [ 16 { 17 value: warning, 18 colorMode: 'warning', 19 op: 'gt', 20 fill: true, 21 line: true, 22 yaxis: 'left', 23 }, 24 { 25 value: critical, 26 colorMode: 'critical', 27 op: 'gt', 28 fill: true, 29 line: true, 30 yaxis: 'left', 31 }, 32 ], 33 }, 34 }