@julr/otel-instrumentation-clickhouse 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/constants.js +28 -0
- package/build/src/constants.js.map +1 -0
- package/build/src/index.js +2 -0
- package/build/src/index.js.map +1 -0
- package/build/src/instrumentation.js +209 -0
- package/build/src/instrumentation.js.map +1 -0
- package/build/src/internal_types.js +2 -0
- package/build/src/internal_types.js.map +1 -0
- package/build/src/types.js +2 -0
- package/build/src/types.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const MODULE_NAME = '@clickhouse/client-common';
|
|
2
|
+
export const INSTRUMENTATION_NAME = '@julr/otel-instrumentation-clickhouse';
|
|
3
|
+
export const INSTRUMENTATION_VERSION = '1.0.0';
|
|
4
|
+
/**
|
|
5
|
+
* Stable semantic convention attributes for database spans
|
|
6
|
+
* @see https://opentelemetry.io/docs/specs/semconv/database/database-spans/
|
|
7
|
+
*/
|
|
8
|
+
export const ATTR_DB_SYSTEM_NAME = 'db.system.name';
|
|
9
|
+
export const ATTR_DB_QUERY_TEXT = 'db.query.text';
|
|
10
|
+
export const ATTR_DB_OPERATION_NAME = 'db.operation.name';
|
|
11
|
+
export const ATTR_DB_NAMESPACE = 'db.namespace';
|
|
12
|
+
export const ATTR_DB_COLLECTION_NAME = 'db.collection.name';
|
|
13
|
+
export const ATTR_SERVER_ADDRESS = 'server.address';
|
|
14
|
+
export const ATTR_SERVER_PORT = 'server.port';
|
|
15
|
+
/**
|
|
16
|
+
* Deprecated attributes - kept for backward compatibility
|
|
17
|
+
* Can be removed once consumers migrate to stable attributes
|
|
18
|
+
*/
|
|
19
|
+
export const ATTR_DB_SYSTEM = 'db.system';
|
|
20
|
+
export const ATTR_DB_STATEMENT = 'db.statement';
|
|
21
|
+
export const ATTR_DB_OPERATION = 'db.operation';
|
|
22
|
+
export const ATTR_DB_NAME = 'db.name';
|
|
23
|
+
export const DEFAULT_CONFIG = {
|
|
24
|
+
maxQueryLength: 2048,
|
|
25
|
+
requireParentSpan: false,
|
|
26
|
+
suppressInternalInstrumentation: true,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,2BAA2B,CAAA;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAuC,CAAA;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAA;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAA;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAA;AAErC,MAAM,CAAC,MAAM,cAAc,GAAoC;IAC7D,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,KAAK;IACxB,+BAA+B,EAAE,IAAI;CACtC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { InstrumentationBase, InstrumentationNodeModuleDefinition, isWrapped, } from '@opentelemetry/instrumentation';
|
|
2
|
+
import { suppressTracing } from '@opentelemetry/core';
|
|
3
|
+
import { SpanKind, SpanStatusCode, context, trace } from '@opentelemetry/api';
|
|
4
|
+
import { ATTR_DB_COLLECTION_NAME, ATTR_DB_NAME, ATTR_DB_NAMESPACE, ATTR_DB_OPERATION, ATTR_DB_OPERATION_NAME, ATTR_DB_QUERY_TEXT, ATTR_DB_STATEMENT, ATTR_DB_SYSTEM, ATTR_DB_SYSTEM_NAME, ATTR_SERVER_ADDRESS, ATTR_SERVER_PORT, DEFAULT_CONFIG, INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION, MODULE_NAME, } from './constants.js';
|
|
5
|
+
export class ClickHouseInstrumentation extends InstrumentationBase {
|
|
6
|
+
constructor(config = {}) {
|
|
7
|
+
super(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION, {
|
|
8
|
+
...DEFAULT_CONFIG,
|
|
9
|
+
...config,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Wrap a method on the prototype with instrumentation.
|
|
14
|
+
*/
|
|
15
|
+
#wrapMethod(prototype, methodName, operation) {
|
|
16
|
+
if (isWrapped(prototype[methodName]))
|
|
17
|
+
this._unwrap(prototype, methodName);
|
|
18
|
+
this._wrap(prototype, methodName, this.#createWrapper(operation));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a wrapper function that instruments the original method.
|
|
22
|
+
*/
|
|
23
|
+
#createWrapper(operation) {
|
|
24
|
+
// oxlint-disable-next-line no-this-alias
|
|
25
|
+
const instrumentation = this;
|
|
26
|
+
return function wrapper(original) {
|
|
27
|
+
return function (params) {
|
|
28
|
+
const config = instrumentation.getConfig();
|
|
29
|
+
const parentSpan = trace.getSpan(context.active());
|
|
30
|
+
if (config.requireParentSpan && !parentSpan)
|
|
31
|
+
return original.apply(this, arguments);
|
|
32
|
+
const tableName = instrumentation.#extractTableName(params, operation);
|
|
33
|
+
const queryText = instrumentation.#extractQueryText(params, operation);
|
|
34
|
+
const spanName = tableName
|
|
35
|
+
? `clickhouse.${operation} ${tableName}`
|
|
36
|
+
: `clickhouse.${operation}`;
|
|
37
|
+
const attributes = instrumentation.#buildAttributes({
|
|
38
|
+
client: this,
|
|
39
|
+
operation,
|
|
40
|
+
tableName,
|
|
41
|
+
queryText,
|
|
42
|
+
});
|
|
43
|
+
const span = instrumentation.tracer.startSpan(spanName, {
|
|
44
|
+
kind: SpanKind.CLIENT,
|
|
45
|
+
attributes,
|
|
46
|
+
});
|
|
47
|
+
const spanContext = trace.setSpan(context.active(), span);
|
|
48
|
+
return context.with(spanContext, () => {
|
|
49
|
+
const result = instrumentation.#callOriginalFunction(original, this, arguments);
|
|
50
|
+
if (result && typeof result.then === 'function') {
|
|
51
|
+
return result.then((res) => {
|
|
52
|
+
instrumentation.#endSpan(span, null);
|
|
53
|
+
return res;
|
|
54
|
+
}, (err) => {
|
|
55
|
+
instrumentation.#endSpan(span, err);
|
|
56
|
+
throw err;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
instrumentation.#endSpan(span, null);
|
|
60
|
+
return result;
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extract the table/collection name from params.
|
|
67
|
+
*
|
|
68
|
+
* For `insert` operations, we use `params.table` directly (clean approach).
|
|
69
|
+
* For other operations (`query`, `command`, `exec`), the ClickHouse client
|
|
70
|
+
* only provides raw SQL strings, so we fall back to regex parsing.
|
|
71
|
+
*/
|
|
72
|
+
#extractTableName(params, operation) {
|
|
73
|
+
if (!params)
|
|
74
|
+
return null;
|
|
75
|
+
if (operation === 'insert' && 'table' in params && params.table)
|
|
76
|
+
return params.table.trim();
|
|
77
|
+
if ('query' in params && params.query)
|
|
78
|
+
return this.#parseTableFromQuery(params.query);
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extract a displayable query text from the params.
|
|
83
|
+
*/
|
|
84
|
+
#extractQueryText(params, operation) {
|
|
85
|
+
if (!params)
|
|
86
|
+
return operation;
|
|
87
|
+
if ('query' in params && params.query)
|
|
88
|
+
return this.#normalizeQuery(params.query);
|
|
89
|
+
if ('table' in params && params.table)
|
|
90
|
+
return `INSERT INTO ${params.table}`;
|
|
91
|
+
return operation;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Normalize query text by collapsing excessive whitespace.
|
|
95
|
+
*/
|
|
96
|
+
#normalizeQuery(query) {
|
|
97
|
+
return query.replace(/\s+/g, ' ').trim();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Parse table name from SQL query string.
|
|
101
|
+
* This is a best-effort extraction for common SQL patterns.
|
|
102
|
+
*/
|
|
103
|
+
#parseTableFromQuery(query) {
|
|
104
|
+
if (!query)
|
|
105
|
+
return null;
|
|
106
|
+
const normalized = query.trim().toUpperCase();
|
|
107
|
+
const fromMatch = query.match(/\bFROM\s+([`"]?[\w.]+[`"]?)/i);
|
|
108
|
+
if (fromMatch)
|
|
109
|
+
return fromMatch[1].replace(/[`"]/g, '');
|
|
110
|
+
const insertMatch = query.match(/\bINSERT\s+INTO\s+([`"]?[\w.]+[`"]?)/i);
|
|
111
|
+
if (insertMatch)
|
|
112
|
+
return insertMatch[1].replace(/[`"]/g, '');
|
|
113
|
+
if (normalized.startsWith('UPDATE')) {
|
|
114
|
+
const updateMatch = query.match(/\bUPDATE\s+([`"]?[\w.]+[`"]?)/i);
|
|
115
|
+
if (updateMatch)
|
|
116
|
+
return updateMatch[1].replace(/[`"]/g, '');
|
|
117
|
+
}
|
|
118
|
+
if (normalized.startsWith('DELETE')) {
|
|
119
|
+
const deleteMatch = query.match(/\bDELETE\s+FROM\s+([`"]?[\w.]+[`"]?)/i);
|
|
120
|
+
if (deleteMatch)
|
|
121
|
+
return deleteMatch[1].replace(/[`"]/g, '');
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Build span attributes from the client and operation context.
|
|
127
|
+
*/
|
|
128
|
+
#buildAttributes(options) {
|
|
129
|
+
const { client, operation, tableName, queryText } = options;
|
|
130
|
+
const config = this.getConfig();
|
|
131
|
+
const maxQueryLength = config.maxQueryLength ?? 2048;
|
|
132
|
+
const attributes = {
|
|
133
|
+
[ATTR_DB_SYSTEM_NAME]: 'clickhouse',
|
|
134
|
+
[ATTR_DB_OPERATION_NAME]: operation,
|
|
135
|
+
[ATTR_DB_SYSTEM]: 'clickhouse',
|
|
136
|
+
[ATTR_DB_OPERATION]: operation,
|
|
137
|
+
};
|
|
138
|
+
if (tableName)
|
|
139
|
+
attributes[ATTR_DB_COLLECTION_NAME] = tableName;
|
|
140
|
+
if (maxQueryLength > 0 && queryText) {
|
|
141
|
+
const truncatedQuery = queryText.length > maxQueryLength
|
|
142
|
+
? queryText.substring(0, maxQueryLength) + '...'
|
|
143
|
+
: queryText;
|
|
144
|
+
attributes[ATTR_DB_QUERY_TEXT] = truncatedQuery;
|
|
145
|
+
attributes[ATTR_DB_STATEMENT] = truncatedQuery;
|
|
146
|
+
}
|
|
147
|
+
if (client.connectionParams) {
|
|
148
|
+
const url = client.connectionParams.url;
|
|
149
|
+
if (url) {
|
|
150
|
+
attributes[ATTR_SERVER_ADDRESS] = url.hostname;
|
|
151
|
+
if (url.port)
|
|
152
|
+
attributes[ATTR_SERVER_PORT] = Number.parseInt(url.port, 10);
|
|
153
|
+
}
|
|
154
|
+
if (client.connectionParams.database) {
|
|
155
|
+
attributes[ATTR_DB_NAMESPACE] = client.connectionParams.database;
|
|
156
|
+
attributes[ATTR_DB_NAME] = client.connectionParams.database;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return attributes;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Call the original function, optionally suppressing HTTP instrumentation.
|
|
163
|
+
*/
|
|
164
|
+
#callOriginalFunction(original, thisArg, args) {
|
|
165
|
+
const config = this.getConfig();
|
|
166
|
+
if (config.suppressInternalInstrumentation) {
|
|
167
|
+
return context.with(suppressTracing(context.active()), () => original.apply(thisArg, args));
|
|
168
|
+
}
|
|
169
|
+
return original.apply(thisArg, args);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* End a span with either success or error status.
|
|
173
|
+
*/
|
|
174
|
+
#endSpan(span, error) {
|
|
175
|
+
if (error) {
|
|
176
|
+
span.recordException(error);
|
|
177
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
181
|
+
}
|
|
182
|
+
span.end();
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Initialize the instrumentation by defining module patches.
|
|
186
|
+
*/
|
|
187
|
+
init() {
|
|
188
|
+
return new InstrumentationNodeModuleDefinition(MODULE_NAME, ['>=1.0.0'], (moduleExports) => {
|
|
189
|
+
const ClickHouseClientClass = moduleExports.ClickHouseClient;
|
|
190
|
+
if (!ClickHouseClientClass?.prototype)
|
|
191
|
+
return moduleExports;
|
|
192
|
+
this.#wrapMethod(ClickHouseClientClass.prototype, 'query', 'query');
|
|
193
|
+
this.#wrapMethod(ClickHouseClientClass.prototype, 'insert', 'insert');
|
|
194
|
+
this.#wrapMethod(ClickHouseClientClass.prototype, 'command', 'command');
|
|
195
|
+
this.#wrapMethod(ClickHouseClientClass.prototype, 'exec', 'exec');
|
|
196
|
+
return moduleExports;
|
|
197
|
+
}, (moduleExports) => {
|
|
198
|
+
const ClickHouseClientClass = moduleExports.ClickHouseClient;
|
|
199
|
+
if (!ClickHouseClientClass?.prototype)
|
|
200
|
+
return moduleExports;
|
|
201
|
+
this._unwrap(ClickHouseClientClass.prototype, 'query');
|
|
202
|
+
this._unwrap(ClickHouseClientClass.prototype, 'insert');
|
|
203
|
+
this._unwrap(ClickHouseClientClass.prototype, 'command');
|
|
204
|
+
this._unwrap(ClickHouseClientClass.prototype, 'exec');
|
|
205
|
+
return moduleExports;
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=instrumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal_types.js","sourceRoot":"","sources":["../../src/internal_types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@julr/otel-instrumentation-clickhouse",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "OpenTelemetry automatic instrumentation for ClickHouse client",
|
|
5
|
-
"main": "./
|
|
6
|
-
"module": "./
|
|
7
|
-
"types": "./
|
|
5
|
+
"main": "./build/src/index.js",
|
|
6
|
+
"module": "./build/src/index.js",
|
|
7
|
+
"types": "./build/src/index.d.ts",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
|
-
"import": "./
|
|
12
|
-
"types": "./
|
|
11
|
+
"import": "./build/src/index.js",
|
|
12
|
+
"types": "./build/src/index.d.ts"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
-
"
|
|
16
|
+
"build"
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "tsc",
|