diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/koa.ts b/plugins/node/opentelemetry-instrumentation-koa/src/koa.ts index 9ea83324de..5426a519cd 100644 --- a/plugins/node/opentelemetry-instrumentation-koa/src/koa.ts +++ b/plugins/node/opentelemetry-instrumentation-koa/src/koa.ts @@ -22,7 +22,7 @@ import { InstrumentationNodeModuleDefinition, } from '@opentelemetry/instrumentation'; -import type * as koa from 'koa'; +import * as koa from 'koa'; import { KoaMiddleware, KoaContext, @@ -30,7 +30,6 @@ import { kLayerPatched, KoaLayerType, AttributeNames, - KoaPluginSpan, } from './types'; import { VERSION } from './version'; import { getMiddlewareMetadata } from './utils'; @@ -130,7 +129,7 @@ export class KoaInstrumentation extends InstrumentationBase { middlewareLayer[kLayerPatched] = true; api.diag.debug('patching Koa middleware layer'); return async (context: KoaContext, next: koa.Next) => { - const parent = api.getSpan(api.context.active()) as KoaPluginSpan; + const parent = api.getSpan(api.context.active()); if (parent === undefined) { return middlewareLayer(context, next); } @@ -144,7 +143,7 @@ export class KoaInstrumentation extends InstrumentationBase { attributes: metadata.attributes, }); - if (!parent?.parentSpanId) { + if (!context.request.ctx.parentSpan) { context.request.ctx.parentSpan = parent; } diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/types.ts b/plugins/node/opentelemetry-instrumentation-koa/src/types.ts index 9e9aaad17b..4e3db9307c 100644 --- a/plugins/node/opentelemetry-instrumentation-koa/src/types.ts +++ b/plugins/node/opentelemetry-instrumentation-koa/src/types.ts @@ -16,7 +16,6 @@ import type { Middleware, ParameterizedContext, DefaultState } from 'koa'; import type { RouterParamContext } from '@koa/router'; import type * as Router from '@koa/router'; -import type { Span } from '@opentelemetry/api'; /** * This symbol is used to mark a Koa layer as being already instrumented @@ -42,10 +41,3 @@ export enum KoaLayerType { } export const KoaComponentName = 'koa'; - -/** - * extends opentelemetry/api Span object to instrument the root span name of http plugin by getting parent span id - */ -export interface KoaPluginSpan extends Span { - parentSpanId?: string; -}