@studion/infra-code-blocks
Version:
Studion common infra components
37 lines (36 loc) • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLatencyPanel = createLatencyPanel;
exports.createLatencyPercentilePanel = createLatencyPercentilePanel;
exports.createLatencyPercentagePanel = createLatencyPercentagePanel;
exports.createLatencyBurnRatePanel = createLatencyBurnRatePanel;
const prometheus_1 = require("../../prometheus");
const helpers_1 = require("./helpers");
function createLatencyPanel(config) {
return (0, helpers_1.createStatPercentagePanel)(`Request % below ${config.targetLatency}ms`, { x: 16, y: 0, w: 8, h: 8 }, config.dataSourceName, {
label: `Request % below ${config.targetLatency}ms`,
query: prometheus_1.queries.getLatencyPercentageQuery(config.ampNamespace, config.window, config.targetLatency, config.filter),
thresholds: [],
});
}
function createLatencyPercentilePanel(config) {
return (0, helpers_1.createTimeSeriesPanel)('99th Percentile Latency', { x: 12, y: 16, w: 12, h: 8 }, config.dataSourceName, {
label: '99th Percentile Latency',
query: prometheus_1.queries.getPercentileLatencyQuery(config.ampNamespace, config.shortWindow, config.target, config.filter),
thresholds: [],
}, 'ms');
}
function createLatencyPercentagePanel(config) {
return (0, helpers_1.createTimeSeriesPercentagePanel)(`Request percentage below ${config.targetLatency}ms`, { x: 0, y: 24, w: 12, h: 8 }, config.dataSourceName, {
label: `Request percentage below ${config.targetLatency}ms`,
query: prometheus_1.queries.getLatencyPercentageQuery(config.ampNamespace, config.shortWindow, config.targetLatency, config.filter),
thresholds: [],
});
}
function createLatencyBurnRatePanel(config) {
return (0, helpers_1.createBurnRatePanel)('Latency Burn Rate', { x: 16, y: 8, w: 8, h: 4 }, config.dataSourceName, {
label: 'Burn Rate',
query: prometheus_1.queries.getBurnRateQuery(prometheus_1.queries.getLatencyRateQuery(config.ampNamespace, '1h', config.targetLatency), config.target),
thresholds: [],
});
}