Skip to content

Commit c3739b0

Browse files
committed
update span names to latest semconv
1 parent 0d88138 commit c3739b0

File tree

5 files changed

+27
-6
lines changed

5 files changed

+27
-6
lines changed

plugins/node/instrumentation-typeorm/src/typeorm.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,13 @@ export class TypeormInstrumentation extends InstrumentationBase<TypeormInstrumen
223223
if (value === undefined) delete attributes[key];
224224
});
225225

226-
const span: Span = self.tracer.startSpan(`TypeORM ${opName}`, {
227-
kind: SpanKind.CLIENT,
228-
attributes,
229-
});
226+
const span: Span = self.tracer.startSpan(
227+
buildSpanName(opName, attributes[ATTR_DB_COLLECTION_NAME]),
228+
{
229+
kind: SpanKind.CLIENT,
230+
attributes,
231+
}
232+
);
230233

231234
const contextWithSpan = trace.setSpan(context.active(), span);
232235

@@ -281,7 +284,7 @@ export class TypeormInstrumentation extends InstrumentationBase<TypeormInstrumen
281284
}
282285
}
283286
const span: Span = self.tracer.startSpan(
284-
`TypeORM ${operation} ${mainTableName}`,
287+
buildSpanName(operation, attributes[ATTR_DB_COLLECTION_NAME]),
285288
{
286289
kind: SpanKind.CLIENT,
287290
attributes,
@@ -328,7 +331,7 @@ export class TypeormInstrumentation extends InstrumentationBase<TypeormInstrumen
328331
[ATTR_DB_QUERY_TEXT]: sql,
329332
};
330333

331-
const span: Span = self.tracer.startSpan(`TypeORM ${operation}`, {
334+
const span: Span = self.tracer.startSpan(operation, {
332335
kind: SpanKind.CLIENT,
333336
attributes,
334337
});
@@ -426,3 +429,11 @@ const buildStatement = (func: Function, args: any[]) => {
426429
});
427430
return statement;
428431
};
432+
433+
function buildSpanName(operation: string, target: string | undefined): string {
434+
if (target !== undefined) {
435+
return `${operation} ${target}`;
436+
}
437+
438+
return operation;
439+
}

plugins/node/instrumentation-typeorm/test/Connection.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ describe('Connection', () => {
5555
const typeOrmSpans = getTestSpans();
5656

5757
assert.strictEqual(typeOrmSpans.length, 1);
58+
assert.strictEqual(typeOrmSpans[0].name, 'raw query');
5859
assert.strictEqual(typeOrmSpans[0].status.code, SpanStatusCode.UNSET);
5960
const attributes = typeOrmSpans[0].attributes;
6061
assert.strictEqual(attributes[ATTR_DB_SYSTEM_NAME], options.type);

plugins/node/instrumentation-typeorm/test/EntityManager.test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ describe('EntityManager', () => {
5656
const typeOrmSpans = getTestSpans();
5757

5858
assert.strictEqual(typeOrmSpans.length, 1);
59+
assert.strictEqual(typeOrmSpans[0].name, 'save user');
5960
assert.strictEqual(typeOrmSpans[0].status.code, SpanStatusCode.UNSET);
6061
const attributes = typeOrmSpans[0].attributes;
6162
assert.strictEqual(attributes[ATTR_DB_COLLECTION_NAME], 'user');
@@ -79,6 +80,7 @@ describe('EntityManager', () => {
7980
const typeOrmSpans = getTestSpans();
8081

8182
assert.strictEqual(typeOrmSpans.length, 1);
83+
assert.strictEqual(typeOrmSpans[0].name, 'save user');
8284
assert.strictEqual(typeOrmSpans[0].status.code, SpanStatusCode.UNSET);
8385
const attributes = typeOrmSpans[0].attributes;
8486
assert.strictEqual(attributes[ATTR_DB_COLLECTION_NAME], 'user');
@@ -104,6 +106,7 @@ describe('EntityManager', () => {
104106
const typeOrmSpans = getTestSpans();
105107

106108
assert.strictEqual(typeOrmSpans.length, 2);
109+
assert.strictEqual(typeOrmSpans[1].name, 'remove user');
107110
assert.strictEqual(typeOrmSpans[1].status.code, SpanStatusCode.UNSET);
108111
const attributes = typeOrmSpans[1].attributes;
109112
assert.strictEqual(attributes[ATTR_DB_COLLECTION_NAME], 'user');
@@ -135,6 +138,7 @@ describe('EntityManager', () => {
135138
const typeOrmSpans = getTestSpans();
136139

137140
assert.strictEqual(typeOrmSpans.length, 2);
141+
assert.strictEqual(typeOrmSpans[1].name, 'update user');
138142
assert.strictEqual(typeOrmSpans[1].status.code, SpanStatusCode.UNSET);
139143
const attributes = typeOrmSpans[1].attributes;
140144
assert.strictEqual(attributes[ATTR_DB_COLLECTION_NAME], 'user');
@@ -158,6 +162,7 @@ describe('EntityManager', () => {
158162

159163
const typeOrmSpans = getTestSpans();
160164
assert.strictEqual(typeOrmSpans.length, 1);
165+
assert.strictEqual(typeOrmSpans[0].name, 'find');
161166
assert.strictEqual(typeOrmSpans[0].status.code, SpanStatusCode.ERROR);
162167
assert.strictEqual(
163168
typeOrmSpans[0].status.message,
@@ -194,6 +199,7 @@ describe('EntityManager', () => {
194199
const sqlite1Span = spans[0];
195200
const sqlite2Span = spans[1];
196201

202+
assert.strictEqual(sqlite1Span.name, 'save user');
197203
assert.strictEqual(
198204
sqlite1Span.attributes[ATTR_DB_SYSTEM_NAME],
199205
defaultOptions.type
@@ -211,6 +217,7 @@ describe('EntityManager', () => {
211217
'user'
212218
);
213219

220+
assert.strictEqual(sqlite2Span.name, 'remove user');
214221
assert.strictEqual(
215222
sqlite2Span.attributes[ATTR_DB_SYSTEM_NAME],
216223
options2.type

plugins/node/instrumentation-typeorm/test/QueryBuilder.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ describe('QueryBuilder', () => {
5555
assert.strictEqual(users.length, 2);
5656
const typeOrmSpans = getTestSpans();
5757
assert.strictEqual(typeOrmSpans.length, 1);
58+
assert.strictEqual(typeOrmSpans[0].name, 'select user');
5859
assert.strictEqual(typeOrmSpans[0].status.code, SpanStatusCode.UNSET);
5960
const attributes = typeOrmSpans[0].attributes;
6061
assert.strictEqual(attributes[ATTR_DB_SYSTEM_NAME], defaultOptions.type);

plugins/node/instrumentation-typeorm/test/Repository.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ describe('Repository', () => {
4747
assert.strictEqual(spans.length, 1);
4848
const span = spans[0];
4949
const attributes = span.attributes;
50+
assert.strictEqual(span.name, 'findAndCount user');
5051
assert.strictEqual(attributes[ATTR_DB_COLLECTION_NAME], 'user');
5152
await ds.destroy();
5253
});

0 commit comments

Comments
 (0)