1
1
import { Context , Handler } from "aws-lambda" ;
2
- import { MetricsConfig } from "./metrics" ;
3
- import type { MetricsListener as MetricsListenerType } from "./metrics" ;
4
-
2
+ import {
3
+ incrementErrorsMetric ,
4
+ incrementInvocationsMetric ,
5
+ KMSService ,
6
+ MetricsConfig ,
7
+ MetricsListener ,
8
+ } from "./metrics" ;
5
9
import { TraceConfig , TraceHeaders , TraceListener } from "./trace" ;
6
10
import {
7
11
logDebug ,
@@ -13,8 +17,6 @@ import {
13
17
setLogger ,
14
18
setLogLevel ,
15
19
} from "./utils" ;
16
- import { getExtensionPath } from "./utils/extension-path" ;
17
- import { existsSync } from "fs" ;
18
20
19
21
export { TraceHeaders } from "./trace" ;
20
22
@@ -75,9 +77,8 @@ export const defaultConfig: Config = {
75
77
siteURL : "" ,
76
78
} as const ;
77
79
78
- let currentMetricsListener : MetricsListenerType | undefined ;
80
+ let currentMetricsListener : MetricsListener | undefined ;
79
81
let currentTraceListener : TraceListener | undefined ;
80
- let isExtension : boolean ;
81
82
82
83
/**
83
84
* Wraps your AWS lambda handler functions to add tracing/metrics support
@@ -96,20 +97,7 @@ export function datadog<TEvent, TResult>(
96
97
config ?: Partial < Config > ,
97
98
) : Handler < TEvent , TResult > {
98
99
const finalConfig = getConfig ( config ) ;
99
- let metricsListener : MetricsListenerType ;
100
- let incrementErrorsMetric : any ;
101
- let incrementInvocationsMetric : any ;
102
- if ( ! isExtensionEnabled ( ) ) {
103
- const {
104
- MetricsListener,
105
- KMSService,
106
- incrementErrorsMetric : errorFunc ,
107
- incrementInvocationsMetric : invoFunc ,
108
- } = require ( "./metrics" ) ;
109
- incrementErrorsMetric = errorFunc ;
110
- incrementInvocationsMetric = invoFunc ;
111
- metricsListener = new MetricsListener ( new KMSService ( ) , finalConfig ) ;
112
- }
100
+ const metricsListener = new MetricsListener ( new KMSService ( ) , finalConfig ) ;
113
101
114
102
const traceListener = new TraceListener ( finalConfig ) ;
115
103
@@ -134,7 +122,7 @@ export function datadog<TEvent, TResult>(
134
122
try {
135
123
await traceListener . onStartInvocation ( event , context ) ;
136
124
await metricsListener . onStartInvocation ( event ) ;
137
- if ( finalConfig . enhancedMetrics && ! isExtensionEnabled ( ) ) {
125
+ if ( finalConfig . enhancedMetrics ) {
138
126
incrementInvocationsMetric ( metricsListener , context ) ;
139
127
}
140
128
} catch ( err ) {
@@ -157,7 +145,7 @@ export function datadog<TEvent, TResult>(
157
145
localResult ,
158
146
finalConfig . captureLambdaPayload ,
159
147
) ;
160
- if ( responseIs5xxError && ! isExtensionEnabled ( ) ) {
148
+ if ( responseIs5xxError ) {
161
149
incrementErrorsMetric ( metricsListener , context ) ;
162
150
}
163
151
}
@@ -168,7 +156,7 @@ export function datadog<TEvent, TResult>(
168
156
error = err ;
169
157
}
170
158
try {
171
- if ( didThrow && finalConfig . enhancedMetrics && ! isExtensionEnabled ( ) ) {
159
+ if ( didThrow && finalConfig . enhancedMetrics ) {
172
160
incrementErrorsMetric ( metricsListener , context ) ;
173
161
}
174
162
await metricsListener . onCompleteInvocation ( ) ;
@@ -311,13 +299,3 @@ function getRuntimeTag(): string {
311
299
const version = process . version ;
312
300
return `dd_lambda_layer:datadog-node${ version } ` ;
313
301
}
314
-
315
- function isExtensionEnabled ( ) : boolean {
316
- if ( isExtension !== undefined ) {
317
- return isExtension ;
318
- }
319
-
320
- const extensionPath = getExtensionPath ( ) ;
321
- isExtension = existsSync ( extensionPath ) ;
322
- return isExtension ;
323
- }
0 commit comments