diff --git a/packages/tracer/src/Tracer.ts b/packages/tracer/src/Tracer.ts index 622adeae98..4b6f40f59a 100644 --- a/packages/tracer/src/Tracer.ts +++ b/packages/tracer/src/Tracer.ts @@ -17,7 +17,9 @@ import type { } from './types/Tracer.js'; import { ProviderService } from './provider/ProviderService.js'; import type { ProviderServiceInterface } from './types/ProviderServiceInterface.js'; -import { type Segment, Subsegment } from 'aws-xray-sdk-core'; +import type { Segment, Subsegment } from 'aws-xray-sdk-core'; +import xraySdk from 'aws-xray-sdk-core'; +const { Subsegment: XraySubsegment } = xraySdk; /** * ## Intro @@ -578,7 +580,7 @@ class Tracer extends Utility implements TracerInterface { */ public getSegment(): Segment | Subsegment | undefined { if (!this.isTracingEnabled()) { - return new Subsegment('## Dummy segment'); + return new XraySubsegment('## Dummy segment'); } const segment = this.provider.getSegment(); if (segment === undefined) { diff --git a/packages/tracer/src/provider/ProviderService.ts b/packages/tracer/src/provider/ProviderService.ts index 40130067b3..2194a8b8d9 100644 --- a/packages/tracer/src/provider/ProviderService.ts +++ b/packages/tracer/src/provider/ProviderService.ts @@ -3,7 +3,9 @@ import type { ProviderServiceInterface, ContextMissingStrategy, } from '../types/ProviderServiceInterface.js'; -import { +import type { Segment, Subsegment, Logger } from 'aws-xray-sdk-core'; +import xraySdk from 'aws-xray-sdk-core'; +const { captureAWS, captureAWSClient, captureAWSv3Client, @@ -13,13 +15,11 @@ import { getNamespace, getSegment, setSegment, - Segment, - Subsegment, + Segment: XraySegment, setContextMissingStrategy, setDaemonAddress, setLogger, - Logger, -} from 'aws-xray-sdk-core'; +} = xraySdk; import { addUserAgentMiddleware } from '@aws-lambda-powertools/commons'; class ProviderService implements ProviderServiceInterface { @@ -79,7 +79,7 @@ class ProviderService implements ProviderServiceInterface { return; } - if (segment instanceof Segment) { + if (segment instanceof XraySegment) { console.warn( 'You cannot annotate the main segment in a Lambda execution environment' ); @@ -98,7 +98,7 @@ class ProviderService implements ProviderServiceInterface { return; } - if (segment instanceof Segment) { + if (segment instanceof XraySegment) { console.warn( 'You cannot add metadata to the main segment in a Lambda execution environment' );