@studion/infra-code-blocks
Version:
Studion common infra components
39 lines (38 loc) • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLogsAndTracesDashboard = createLogsAndTracesDashboard;
const merge_with_defaults_1 = require("../../../shared/merge-with-defaults");
const builder_1 = require("./builder");
const limit_1 = require("../variables/limit");
const log_level_1 = require("../variables/log-level");
const search_1 = require("../variables/search");
const trace_id_1 = require("../variables/trace-id");
const logs_traces_1 = require("../panels/logs-traces");
const defaults = {
title: 'Logs & Traces',
dashboardConfig: {
refresh: '1m',
},
};
function createLogsAndTracesDashboard(config) {
const argsWithDefaults = (0, merge_with_defaults_1.mergeWithDefaults)(defaults, config);
const { title, logsDataSourceName, logGroupName, tracesDataSourceName } = argsWithDefaults;
return new builder_1.GrafanaDashboardBuilder(config.name)
.withConfig(argsWithDefaults.dashboardConfig)
.withTitle(title)
.addVariable((0, search_1.createSearchVariable)({
description: 'Search inside the whole message (case sensitive)',
}))
.addVariable((0, log_level_1.createLogLevelVariable)())
.addVariable((0, limit_1.createLimitVariable)())
.addVariable((0, trace_id_1.createTraceIdVariable)())
.addPanel((0, logs_traces_1.createLogsViewPanel)({
logGroupName,
logsDataSourceName,
tracesDataSourceName,
}))
.addPanel((0, logs_traces_1.createTracesViewPanel)({
dataSourceName: tracesDataSourceName,
}))
.build();
}