From f3f34b033554acc4f4fd1621a943e3831f4f296c Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 17 Jun 2026 11:27:44 +0200 Subject: [PATCH 1/4] ref(aws-serverless): Use `@sentry/conventions` Source span attribute keys from `@sentry/conventions/attributes` instead of the locally vendored `./semconv` constants (and `@opentelemetry/semantic-conventions`), for the attributes that have a `@sentry/conventions` equivalent. AWS/FAAS-specific keys with no equivalent (e.g. `aws.*`, `faas.execution`, `faas.id`, `gen_ai.request.stop_sequences`, `rpc.system`) remain vendored locally. No functional change. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/aws-serverless/package.json | 2 +- .../src/integration/aws/vendored/aws-sdk.ts | 8 +- .../src/integration/aws/vendored/semconv.ts | 213 ------------------ .../aws/vendored/services/bedrock-runtime.ts | 164 +++++++------- .../aws/vendored/services/dynamodb.ts | 13 +- .../integration/aws/vendored/services/sns.ts | 5 +- .../integration/aws/vendored/services/sqs.ts | 28 +-- .../src/integration/aws/vendored/utils.ts | 7 +- .../instrumentation.ts | 19 +- .../instrumentation-aws-lambda/semconv.ts | 13 +- yarn.lock | 6 +- 11 files changed, 131 insertions(+), 347 deletions(-) diff --git a/packages/aws-serverless/package.json b/packages/aws-serverless/package.json index aa846a1eb3b7..99b0c3b9a68f 100644 --- a/packages/aws-serverless/package.json +++ b/packages/aws-serverless/package.json @@ -69,7 +69,7 @@ "@opentelemetry/api": "^1.9.1", "@opentelemetry/core": "^2.6.1", "@opentelemetry/instrumentation": "^0.214.0", - "@opentelemetry/semantic-conventions": "^1.40.0", + "@sentry/conventions": "^0.11.0", "@sentry/core": "10.58.0", "@sentry/node": "10.58.0", "@sentry/node-core": "10.58.0", diff --git a/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts b/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts index 6f7119bf24c3..d884762dab79 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts @@ -46,7 +46,7 @@ import { } from './utils'; import { propwrap } from './propwrap'; import { RequestMetadata } from './services/ServiceExtension'; -import { ATTR_HTTP_STATUS_CODE } from './semconv'; +import { HTTP_STATUS_CODE } from '@sentry/conventions/attributes'; import { SDK_VERSION, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, startInactiveSpan } from '@sentry/core'; const PACKAGE_NAME = '@sentry/instrumentation-aws-sdk'; @@ -289,8 +289,7 @@ export class AwsInstrumentation extends InstrumentationBase { switch (response.request.commandName) { case 'SendMessage': - span.setAttribute(ATTR_MESSAGING_MESSAGE_ID, response?.data?.MessageId); + span.setAttribute(MESSAGING_MESSAGE_ID, response?.data?.MessageId); break; case 'SendMessageBatch': @@ -119,7 +119,7 @@ export class SqsServiceExtension implements ServiceExtension { case 'ReceiveMessage': { const messages: SQS.Message[] = response?.data?.Messages || []; - span.setAttribute(ATTR_MESSAGING_BATCH_MESSAGE_COUNT, messages.length); + span.setAttribute(MESSAGING_BATCH_MESSAGE_COUNT, messages.length); for (const message of messages) { const propagatedContext = propagation.extract( @@ -134,7 +134,7 @@ export class SqsServiceExtension implements ServiceExtension { span.addLink({ context: spanContext, attributes: { - [ATTR_MESSAGING_MESSAGE_ID]: message.MessageId, + [MESSAGING_MESSAGE_ID]: message.MessageId, }, }); } diff --git a/packages/aws-serverless/src/integration/aws/vendored/utils.ts b/packages/aws-serverless/src/integration/aws/vendored/utils.ts index d8412b9b1566..47ea3aea6938 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/utils.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/utils.ts @@ -19,7 +19,8 @@ */ import { Attributes, Context, context } from '@opentelemetry/api'; -import { ATTR_RPC_METHOD, ATTR_RPC_SERVICE, ATTR_RPC_SYSTEM } from './semconv'; +import { RPC_METHOD, RPC_SERVICE } from '@sentry/conventions/attributes'; +import { ATTR_RPC_SYSTEM } from './semconv'; import { AttributeNames } from './enums'; import { NormalizedRequest } from './types'; @@ -45,8 +46,8 @@ export const normalizeV3Request = ( export const extractAttributesFromNormalizedRequest = (normalizedRequest: NormalizedRequest): Attributes => { return { [ATTR_RPC_SYSTEM]: 'aws-api', - [ATTR_RPC_METHOD]: normalizedRequest.commandName, - [ATTR_RPC_SERVICE]: normalizedRequest.serviceName, + [RPC_METHOD]: normalizedRequest.commandName, + [RPC_SERVICE]: normalizedRequest.serviceName, [AttributeNames.CLOUD_REGION]: normalizedRequest.region, }; }; diff --git a/packages/aws-serverless/src/integration/instrumentation-aws-lambda/instrumentation.ts b/packages/aws-serverless/src/integration/instrumentation-aws-lambda/instrumentation.ts index c564a8dc583a..8241ee1f9dbc 100644 --- a/packages/aws-serverless/src/integration/instrumentation-aws-lambda/instrumentation.ts +++ b/packages/aws-serverless/src/integration/instrumentation-aws-lambda/instrumentation.ts @@ -45,17 +45,12 @@ import { isWrapped, safeExecuteInTheMiddle, } from '@opentelemetry/instrumentation'; -import { - ATTR_URL_FULL, - SEMATTRS_FAAS_EXECUTION, - SEMRESATTRS_CLOUD_ACCOUNT_ID, - SEMRESATTRS_FAAS_ID, -} from '@opentelemetry/semantic-conventions'; +import { CLOUD_ACCOUNT_ID, FAAS_COLDSTART, URL_FULL } from '@sentry/conventions/attributes'; import type { APIGatewayProxyEventHeaders, Callback, Context, Handler, StreamifyHandler } from 'aws-lambda'; import * as fs from 'fs'; import * as path from 'path'; import type { LambdaModule } from './internal-types'; -import { ATTR_FAAS_COLDSTART } from './semconv'; +import { ATTR_FAAS_EXECUTION, ATTR_FAAS_ID } from './semconv'; import type { AwsLambdaInstrumentationConfig, EventContextExtractor } from './types'; import { wrapHandler } from '../../sdk'; import { SDK_VERSION } from '@sentry/core'; @@ -338,10 +333,10 @@ export class AwsLambdaInstrumentation extends InstrumentationBase Date: Thu, 18 Jun 2026 10:46:27 +0200 Subject: [PATCH 2/4] bump to conventions 0.12.0 --- packages/aws-serverless/package.json | 2 +- packages/nestjs/package.json | 2 +- packages/node-core/package.json | 2 +- packages/remix/package.json | 2 +- packages/server-utils/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/aws-serverless/package.json b/packages/aws-serverless/package.json index 99b0c3b9a68f..80bb0d137117 100644 --- a/packages/aws-serverless/package.json +++ b/packages/aws-serverless/package.json @@ -69,7 +69,7 @@ "@opentelemetry/api": "^1.9.1", "@opentelemetry/core": "^2.6.1", "@opentelemetry/instrumentation": "^0.214.0", - "@sentry/conventions": "^0.11.0", + "@sentry/conventions": "^0.12.0", "@sentry/core": "10.58.0", "@sentry/node": "10.58.0", "@sentry/node-core": "10.58.0", diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index be81d1b2c2c5..c59956f33d7e 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -46,7 +46,7 @@ "dependencies": { "@opentelemetry/api": "^1.9.1", "@opentelemetry/instrumentation": "^0.214.0", - "@sentry/conventions": "^0.11.0", + "@sentry/conventions": "^0.12.0", "@sentry/core": "10.58.0", "@sentry/node": "10.58.0" }, diff --git a/packages/node-core/package.json b/packages/node-core/package.json index cca92a14c97d..73565ef50997 100644 --- a/packages/node-core/package.json +++ b/packages/node-core/package.json @@ -101,7 +101,7 @@ } }, "dependencies": { - "@sentry/conventions": "^0.11.0", + "@sentry/conventions": "^0.12.0", "@sentry/core": "10.58.0", "@sentry/opentelemetry": "10.58.0", "import-in-the-middle": "^3.0.0" diff --git a/packages/remix/package.json b/packages/remix/package.json index e92a76a67efd..45feeea1b47c 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -68,7 +68,7 @@ "@opentelemetry/instrumentation": "^0.214.0", "@remix-run/router": "^1.23.3", "@sentry/cli": "^2.58.6", - "@sentry/conventions": "^0.11.0", + "@sentry/conventions": "^0.12.0", "@sentry/core": "10.58.0", "@sentry/node": "10.58.0", "@sentry/react": "10.58.0", diff --git a/packages/server-utils/package.json b/packages/server-utils/package.json index 9d936f91d2bf..c775339201c0 100644 --- a/packages/server-utils/package.json +++ b/packages/server-utils/package.json @@ -39,7 +39,7 @@ "access": "public" }, "dependencies": { - "@sentry/conventions": "^0.11.0", + "@sentry/conventions": "^0.12.0", "@sentry/core": "10.58.0" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index 1baf1563b407..230a0e493deb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7605,10 +7605,10 @@ "@sentry/cli-win32-i686" "2.58.6" "@sentry/cli-win32-x64" "2.58.6" -"@sentry/conventions@^0.11.0": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@sentry/conventions/-/conventions-0.11.1.tgz#6409c71ae1f1ca4aa8a0d0affcee14aeb2713208" - integrity sha512-nk09uTX+e+oV2sEKsIONoBbnHzl/dQajlhz0VUrJIAE4W35g+oQp0gnbXB/+ZFJpc7v4GSVi+bP7Zri59Lq6Og== +"@sentry/conventions@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@sentry/conventions/-/conventions-0.12.0.tgz#e963cf928ac4d1585b1dcc196e767df3ac45ca5c" + integrity sha512-z1JQrl/1SLY+8wpzvork6vl+fpsg/oCCxM7HWWhUnI/R+OGNyoIzieQuggX3uUMY7NBtp8UWCQx6FeFazzOF9g== "@sentry/node-cpu-profiler@^2.4.2": version "2.4.2" From a544706a4bd70d645dd6790ad8398347ae6ece2c Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Thu, 18 Jun 2026 10:52:52 +0200 Subject: [PATCH 3/4] cleanup and avoid enums --- .../src/integration/aws/vendored/aws-sdk.ts | 14 +++++----- .../src/integration/aws/vendored/enums.ts | 26 +++++++------------ .../aws/vendored/services/bedrock-runtime.ts | 2 ++ .../aws/vendored/services/dynamodb.ts | 3 +++ .../aws/vendored/services/kinesis.ts | 4 +-- .../aws/vendored/services/lambda.ts | 2 +- .../integration/aws/vendored/services/s3.ts | 4 +-- .../src/integration/aws/vendored/utils.ts | 4 +-- 8 files changed, 30 insertions(+), 29 deletions(-) diff --git a/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts b/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts index d884762dab79..554dee632115 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/aws-sdk.ts @@ -21,7 +21,7 @@ */ import { Span, SpanKind, context, trace, diag, SpanStatusCode } from '@opentelemetry/api'; -import { AttributeNames } from './enums'; +import { AWS_REQUEST_EXTENDED_ID, AWS_REQUEST_ID, CLOUD_REGION } from './enums'; import { ServicesExtensions } from './services'; import { AwsSdkInstrumentationConfig, NormalizedRequest, NormalizedResponse } from './types'; import { @@ -265,7 +265,7 @@ export class AwsInstrumentation extends InstrumentationBase { normalizedRequest.region = resolvedRegion; - span.setAttribute(AttributeNames.CLOUD_REGION, resolvedRegion); + span.setAttribute(CLOUD_REGION, resolvedRegion); }) .catch(e => { // there is nothing much we can do in this case. @@ -284,17 +284,18 @@ export class AwsInstrumentation extends InstrumentationBase { const requestId = response.output?.$metadata?.requestId; if (requestId) { - span.setAttribute(AttributeNames.AWS_REQUEST_ID, requestId); + span.setAttribute(AWS_REQUEST_ID, requestId); } const httpStatusCode = response.output?.$metadata?.httpStatusCode; if (httpStatusCode) { + // oxlint-disable-next-line typescript/no-deprecated span.setAttribute(HTTP_STATUS_CODE, httpStatusCode); } const extendedRequestId = response.output?.$metadata?.extendedRequestId; if (extendedRequestId) { - span.setAttribute(AttributeNames.AWS_REQUEST_EXTENDED_ID, extendedRequestId); + span.setAttribute(AWS_REQUEST_EXTENDED_ID, extendedRequestId); } const normalizedResponse: NormalizedResponse = { @@ -312,17 +313,18 @@ export class AwsInstrumentation extends InstrumentationBase { const requestId = err?.RequestId; if (requestId) { - span.setAttribute(AttributeNames.AWS_REQUEST_ID, requestId); + span.setAttribute(AWS_REQUEST_ID, requestId); } const httpStatusCode = err?.$metadata?.httpStatusCode; if (httpStatusCode) { + // oxlint-disable-next-line typescript/no-deprecated span.setAttribute(HTTP_STATUS_CODE, httpStatusCode); } const extendedRequestId = err?.extendedRequestId; if (extendedRequestId) { - span.setAttribute(AttributeNames.AWS_REQUEST_EXTENDED_ID, extendedRequestId); + span.setAttribute(AWS_REQUEST_EXTENDED_ID, extendedRequestId); } span.setStatus({ diff --git a/packages/aws-serverless/src/integration/aws/vendored/enums.ts b/packages/aws-serverless/src/integration/aws/vendored/enums.ts index 4feb8d4d44d4..5d912ff6ee31 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/enums.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/enums.ts @@ -18,19 +18,13 @@ * - Upstream version: @opentelemetry/instrumentation-aws-sdk@0.73.0 */ -export enum AttributeNames { - AWS_OPERATION = 'aws.operation', - CLOUD_REGION = 'cloud.region', - AWS_SERVICE_API = 'aws.service.api', - AWS_SERVICE_NAME = 'aws.service.name', - AWS_SERVICE_IDENTIFIER = 'aws.service.identifier', - AWS_REQUEST_ID = 'aws.request.id', - AWS_REQUEST_EXTENDED_ID = 'aws.request.extended_id', - AWS_SIGNATURE_VERSION = 'aws.signature.version', - - // TODO: Add these semantic attributes to: - // - https://github.com/open-telemetry/opentelemetry-js/blob/main/packages/opentelemetry-semantic-conventions/src/trace/SemanticAttributes.ts - // For S3, see specification: https://github.com/open-telemetry/semantic-conventions/blob/main/docs/object-stores/s3.md - AWS_S3_BUCKET = 'aws.s3.bucket', - AWS_KINESIS_STREAM_NAME = 'aws.kinesis.stream.name', -} +export const AWS_OPERATION = 'aws.operation'; +export const CLOUD_REGION = 'cloud.region'; +export const AWS_SERVICE_API = 'aws.service.api'; +export const AWS_SERVICE_NAME = 'aws.service.name'; +export const AWS_SERVICE_IDENTIFIER = 'aws.service.identifier'; +export const AWS_REQUEST_ID = 'aws.request.id'; +export const AWS_REQUEST_EXTENDED_ID = 'aws.request.extended_id'; +export const AWS_SIGNATURE_VERSION = 'aws.signature.version'; +export const AWS_S3_BUCKET = 'aws.s3.bucket'; +export const AWS_KINESIS_STREAM_NAME = 'aws.kinesis.stream.name'; diff --git a/packages/aws-serverless/src/integration/aws/vendored/services/bedrock-runtime.ts b/packages/aws-serverless/src/integration/aws/vendored/services/bedrock-runtime.ts index 359f292b13eb..42288e7d76dc 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/services/bedrock-runtime.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/services/bedrock-runtime.ts @@ -84,6 +84,7 @@ export class BedrockRuntimeServiceExtension implements ServiceExtension { ): RequestMetadata { let spanName = GEN_AI_OPERATION_NAME_VALUE_CHAT; const spanAttributes: Attributes = { + // oxlint-disable-next-line typescript/no-deprecated [GEN_AI_SYSTEM]: GEN_AI_SYSTEM_VALUE_AWS_BEDROCK, [GEN_AI_OPERATION_NAME]: GEN_AI_OPERATION_NAME_VALUE_CHAT, }; @@ -128,6 +129,7 @@ export class BedrockRuntimeServiceExtension implements ServiceExtension { isStream: boolean, ): RequestMetadata { const spanAttributes: Attributes = { + // oxlint-disable-next-line typescript/no-deprecated [GEN_AI_SYSTEM]: GEN_AI_SYSTEM_VALUE_AWS_BEDROCK, // add operation name for InvokeModel API }; diff --git a/packages/aws-serverless/src/integration/aws/vendored/services/dynamodb.ts b/packages/aws-serverless/src/integration/aws/vendored/services/dynamodb.ts index 01b143dfb7b1..6710b9876287 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/services/dynamodb.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/services/dynamodb.ts @@ -64,8 +64,11 @@ export class DynamodbServiceExtension implements ServiceExtension { const spanAttributes: Attributes = {}; + // oxlint-disable-next-line typescript/no-deprecated spanAttributes[DB_SYSTEM] = DB_SYSTEM_VALUE_DYNAMODB; + // oxlint-disable-next-line typescript/no-deprecated spanAttributes[DB_NAME] = tableName; + // oxlint-disable-next-line typescript/no-deprecated spanAttributes[DB_OPERATION] = operation; // normalizedRequest.commandInput.RequestItems) is undefined when no table names are returned diff --git a/packages/aws-serverless/src/integration/aws/vendored/services/kinesis.ts b/packages/aws-serverless/src/integration/aws/vendored/services/kinesis.ts index 83643799c8d4..f3bcb18de4b0 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/services/kinesis.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/services/kinesis.ts @@ -19,7 +19,7 @@ */ import { Attributes, SpanKind } from '@opentelemetry/api'; -import { AttributeNames } from '../enums'; +import { AWS_KINESIS_STREAM_NAME } from '../enums'; import { AwsSdkInstrumentationConfig, NormalizedRequest } from '../types'; import { RequestMetadata, ServiceExtension } from './ServiceExtension'; @@ -30,7 +30,7 @@ export class KinesisServiceExtension implements ServiceExtension { const spanAttributes: Attributes = {}; if (streamName) { - spanAttributes[AttributeNames.AWS_KINESIS_STREAM_NAME] = streamName; + spanAttributes[AWS_KINESIS_STREAM_NAME] = streamName; } const isIncoming = false; diff --git a/packages/aws-serverless/src/integration/aws/vendored/services/lambda.ts b/packages/aws-serverless/src/integration/aws/vendored/services/lambda.ts index 9f4ebbc63a32..03dc4c783d27 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/services/lambda.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/services/lambda.ts @@ -72,7 +72,7 @@ export class LambdaServiceExtension implements ServiceExtension { switch (response.request.commandName) { case LambdaCommands.Invoke: { - // eslint-disable-next-line typescript/no-deprecated + // oxlint-disable-next-line typescript/no-deprecated span.setAttribute(ATTR_FAAS_EXECUTION, response.requestId); } break; diff --git a/packages/aws-serverless/src/integration/aws/vendored/services/s3.ts b/packages/aws-serverless/src/integration/aws/vendored/services/s3.ts index 9af466668da2..2ba2267e5e60 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/services/s3.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/services/s3.ts @@ -19,7 +19,7 @@ */ import { Attributes, SpanKind } from '@opentelemetry/api'; -import { AttributeNames } from '../enums'; +import { AWS_S3_BUCKET } from '../enums'; import { AwsSdkInstrumentationConfig, NormalizedRequest } from '../types'; import { RequestMetadata, ServiceExtension } from './ServiceExtension'; @@ -30,7 +30,7 @@ export class S3ServiceExtension implements ServiceExtension { const spanAttributes: Attributes = {}; if (bucketName) { - spanAttributes[AttributeNames.AWS_S3_BUCKET] = bucketName; + spanAttributes[AWS_S3_BUCKET] = bucketName; } const isIncoming = false; diff --git a/packages/aws-serverless/src/integration/aws/vendored/utils.ts b/packages/aws-serverless/src/integration/aws/vendored/utils.ts index 47ea3aea6938..28ba161211ed 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/utils.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/utils.ts @@ -21,7 +21,7 @@ import { Attributes, Context, context } from '@opentelemetry/api'; import { RPC_METHOD, RPC_SERVICE } from '@sentry/conventions/attributes'; import { ATTR_RPC_SYSTEM } from './semconv'; -import { AttributeNames } from './enums'; +import { CLOUD_REGION } from './enums'; import { NormalizedRequest } from './types'; export const removeSuffixFromStringIfExists = (str: string, suffixToRemove: string): string => { @@ -48,7 +48,7 @@ export const extractAttributesFromNormalizedRequest = (normalizedRequest: Normal [ATTR_RPC_SYSTEM]: 'aws-api', [RPC_METHOD]: normalizedRequest.commandName, [RPC_SERVICE]: normalizedRequest.serviceName, - [AttributeNames.CLOUD_REGION]: normalizedRequest.region, + [CLOUD_REGION]: normalizedRequest.region, }; }; From f1e6a5a414bc9a24a64d4c967a0f3dc1c03ea075 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Thu, 18 Jun 2026 10:54:39 +0200 Subject: [PATCH 4/4] remove unused enums --- .../aws-serverless/src/integration/aws/vendored/enums.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/aws-serverless/src/integration/aws/vendored/enums.ts b/packages/aws-serverless/src/integration/aws/vendored/enums.ts index 5d912ff6ee31..8402ee52f172 100644 --- a/packages/aws-serverless/src/integration/aws/vendored/enums.ts +++ b/packages/aws-serverless/src/integration/aws/vendored/enums.ts @@ -18,13 +18,8 @@ * - Upstream version: @opentelemetry/instrumentation-aws-sdk@0.73.0 */ -export const AWS_OPERATION = 'aws.operation'; export const CLOUD_REGION = 'cloud.region'; -export const AWS_SERVICE_API = 'aws.service.api'; -export const AWS_SERVICE_NAME = 'aws.service.name'; -export const AWS_SERVICE_IDENTIFIER = 'aws.service.identifier'; export const AWS_REQUEST_ID = 'aws.request.id'; export const AWS_REQUEST_EXTENDED_ID = 'aws.request.extended_id'; -export const AWS_SIGNATURE_VERSION = 'aws.signature.version'; export const AWS_S3_BUCKET = 'aws.s3.bucket'; export const AWS_KINESIS_STREAM_NAME = 'aws.kinesis.stream.name';