diff --git a/package-lock.json b/package-lock.json index 17021fa231..a948005334 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38263,7 +38263,7 @@ "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.51.0", - "@opentelemetry/semantic-conventions": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.22.0", "@types/connect": "3.4.36" }, "devDependencies": { @@ -47214,7 +47214,7 @@ "@opentelemetry/instrumentation": "^0.51.0", "@opentelemetry/sdk-trace-base": "^1.8.0", "@opentelemetry/sdk-trace-node": "^1.8.0", - "@opentelemetry/semantic-conventions": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.22.0", "@types/connect": "3.4.36", "@types/mocha": "7.0.2", "@types/node": "18.6.5", diff --git a/plugins/node/opentelemetry-instrumentation-connect/README.md b/plugins/node/opentelemetry-instrumentation-connect/README.md index 5f6cd30f7b..d16302b84a 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/README.md +++ b/plugins/node/opentelemetry-instrumentation-connect/README.md @@ -51,6 +51,16 @@ registerInstrumentations({ See [examples/connect](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/examples/connect) for a short example. +## Semantic Conventions + +This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md) + +Attributes collected: + +| Attribute | Short Description | +| ------------ | ---------------------------------- | +| `http.route` | The matched route (path template). | + ## Useful links - For more information on OpenTelemetry, visit: diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json index f0a6053c9d..dda633198c 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/package.json +++ b/plugins/node/opentelemetry-instrumentation-connect/package.json @@ -57,7 +57,7 @@ "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.51.0", - "@opentelemetry/semantic-conventions": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.22.0", "@types/connect": "3.4.36" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-connect#readme" diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts index 63264490bc..5b57f5f7bb 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts +++ b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts @@ -31,7 +31,7 @@ import { InstrumentationNodeModuleDefinition, isWrapped, } from '@opentelemetry/instrumentation'; -import { SemanticAttributes } from '@opentelemetry/semantic-conventions'; +import { SEMATTRS_HTTP_ROUTE } from '@opentelemetry/semantic-conventions'; import { replaceCurrentStackRoute, addNewStackLayer, @@ -100,7 +100,7 @@ export class ConnectInstrumentation extends InstrumentationBase { const spanName = `${connectTypeName} - ${connectName}`; const options: SpanOptions = { attributes: { - [SemanticAttributes.HTTP_ROUTE]: routeName.length > 0 ? routeName : '/', + [SEMATTRS_HTTP_ROUTE]: routeName.length > 0 ? routeName : '/', [AttributeNames.CONNECT_TYPE]: connectType, [AttributeNames.CONNECT_NAME]: connectName, }, diff --git a/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts index c6ab9456d2..cc2ef79fb5 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts +++ b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts @@ -17,7 +17,7 @@ import * as assert from 'assert'; import { context, trace } from '@opentelemetry/api'; import { RPCType, setRPCMetadata, RPCMetadata } from '@opentelemetry/core'; -import { SemanticAttributes } from '@opentelemetry/semantic-conventions'; +import { SEMATTRS_HTTP_ROUTE } from '@opentelemetry/semantic-conventions'; import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks'; import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import { @@ -144,7 +144,7 @@ describe('connect', () => { assert.deepStrictEqual(span.attributes, { 'connect.type': 'middleware', 'connect.name': ANONYMOUS_NAME, - [SemanticAttributes.HTTP_ROUTE]: '/', + [SEMATTRS_HTTP_ROUTE]: '/', }); assert.strictEqual(span.name, 'middleware - anonymous'); }); @@ -163,7 +163,7 @@ describe('connect', () => { assert.deepStrictEqual(span.attributes, { 'connect.type': 'middleware', 'connect.name': 'middleware1', - [SemanticAttributes.HTTP_ROUTE]: '/', + [SEMATTRS_HTTP_ROUTE]: '/', }); assert.strictEqual(span.name, 'middleware - middleware1'); }); @@ -181,7 +181,7 @@ describe('connect', () => { assert.deepStrictEqual(span.attributes, { 'connect.type': 'request_handler', 'connect.name': '/foo', - [SemanticAttributes.HTTP_ROUTE]: '/foo', + [SEMATTRS_HTTP_ROUTE]: '/foo', }); assert.strictEqual(span.name, 'request handler - /foo'); });