From 01c376338116756a707c14a755111f98806f7249 Mon Sep 17 00:00:00 2001 From: akvlad Date: Wed, 6 Dec 2023 19:43:21 +0200 Subject: [PATCH 1/2] fix: database name in every table name --- qryn_bun.mjs | 7 +++++++ traceql/index.js | 22 ++++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/qryn_bun.mjs b/qryn_bun.mjs index f20198b6..97ce4e83 100644 --- a/qryn_bun.mjs +++ b/qryn_bun.mjs @@ -54,6 +54,8 @@ import handlerDelGroup from './lib/handlers/alerts/del_group.js' import handlerDelNS from './lib/handlers/alerts/del_ns.js' import handlerPromGetRules from './lib/handlers/alerts/prom_get_rules.js' import handlerTail from './lib/handlers/tail.js' +import handlerTempoLabelV2 from './lib/handlers/tempo_v2_tags' +import handlerTempoLabelV2Values from './lib/handlers/tempo_v2_values' import { readonly } from './common.js' import DATABASE, { init } from './lib/db/clickhouse.js' @@ -312,6 +314,11 @@ export default async() => { '*': otlpPushProtoParser }) + fastify.get('/api/v2/search/tags', handlerTempoLabelV2) + fastify.get('/tempo/api/v2/search/tags', handlerTempoLabelV2) + fastify.get('/api/v2/search/tag/:name/values', handlerTempoLabelV2Values) + fastify.get('/tempo/api/v2/search/tag/:name/values', handlerTempoLabelV2Values) + const serveView = fs.existsSync(path.join(__dirname, 'view/index.html')) if (serveView) { app.plug(group(path.join(__dirname, 'view'))); diff --git a/traceql/index.js b/traceql/index.js index b0d3d018..d36e6578 100644 --- a/traceql/index.js +++ b/traceql/index.js @@ -3,6 +3,7 @@ const { clusterName } = require('../common') const { DATABASE_NAME } = require('../lib/utils') const dist = clusterName ? '_dist' : '' const { rawRequest } = require('../lib/db/clickhouse') +const logger = require('../lib/logger') /** * @@ -13,6 +14,7 @@ const { rawRequest } = require('../lib/db/clickhouse') * @returns {Promise<[]>} */ const search = async (query, limit, from, to) => { + const _dbname = '`' + DATABASE_NAME() + '`' const request = { Request: query, Ctx: { @@ -22,19 +24,19 @@ const search = async (query, limit, from, to) => { ToS: Math.floor(to.getTime() / 1000), Limit: parseInt(limit), - TimeSeriesGinTableName: 'time_series_gin', - SamplesTableName: `samples_v3${dist}`, - TimeSeriesTableName: 'time_series', - TimeSeriesDistTableName: 'time_series_dist', - Metrics15sTableName: `metrics_15s${dist}`, + TimeSeriesGinTableName: `${_dbname}.time_series_gin`, + SamplesTableName: `${_dbname}.samples_v3${dist}`, + TimeSeriesTableName: `${_dbname}.time_series`, + TimeSeriesDistTableName: `${_dbname}.time_series_dist`, + Metrics15sTableName: `${_dbname}.metrics_15s${dist}`, - TracesAttrsTable: 'tempo_traces_attrs_gin', - TracesAttrsDistTable: 'tempo_traces_attrs_gin_dist', - TracesTable: 'tempo_traces', - TracesDistTable: 'tempo_traces_dist' + TracesAttrsTable: `${_dbname}.tempo_traces_attrs_gin`, + TracesAttrsDistTable: `${_dbname}.tempo_traces_attrs_gin_dist`, + TracesTable: `${_dbname}.tempo_traces`, + TracesDistTable: `${_dbname}.tempo_traces_dist` } } - console.log(JSON.stringify(request)) + logger.debug(JSON.stringify(request)) const sql = TranspileTraceQL(request) const response = await rawRequest(sql + ' FORMAT JSON', null, DATABASE_NAME()) const traces = response.data.data.map(row => ({ From f3570ea7984fedf8930822425b99b1f72c87f866 Mon Sep 17 00:00:00 2001 From: akvlad Date: Wed, 6 Dec 2023 19:48:09 +0200 Subject: [PATCH 2/2] fix: js extensions --- qryn_bun.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qryn_bun.mjs b/qryn_bun.mjs index 97ce4e83..789ab0f2 100644 --- a/qryn_bun.mjs +++ b/qryn_bun.mjs @@ -54,8 +54,8 @@ import handlerDelGroup from './lib/handlers/alerts/del_group.js' import handlerDelNS from './lib/handlers/alerts/del_ns.js' import handlerPromGetRules from './lib/handlers/alerts/prom_get_rules.js' import handlerTail from './lib/handlers/tail.js' -import handlerTempoLabelV2 from './lib/handlers/tempo_v2_tags' -import handlerTempoLabelV2Values from './lib/handlers/tempo_v2_values' +import handlerTempoLabelV2 from './lib/handlers/tempo_v2_tags.js' +import handlerTempoLabelV2Values from './lib/handlers/tempo_v2_values.js' import { readonly } from './common.js' import DATABASE, { init } from './lib/db/clickhouse.js'