@@ -9,18 +9,19 @@ import {
9
9
} from "./metrics";
10
10
import { TraceConfig, TraceHeaders, TraceListener } from "./trace";
11
11
import { logError, LogLevel, Logger, setColdStart, setLogLevel, setLogger, wrap } from "./utils";
12
-
13
12
export { TraceHeaders } from "./trace";
14
13
15
- const apiKeyEnvVar = "DD_API_KEY";
16
- const apiKeyKMSEnvVar = "DD_KMS_API_KEY";
17
- const siteURLEnvVar = "DD_SITE";
18
- const logLevelEnvVar = "DD_LOG_LEVEL";
19
- const logForwardingEnvVar = "DD_FLUSH_TO_LOG";
20
- const logInjectionEnvVar = "DD_LOGS_INJECTION";
21
- const enhancedMetricsEnvVar = "DD_ENHANCED_METRICS";
22
-
23
- const defaultSiteURL = "datadoghq.com";
14
+ export const apiKeyEnvVar = "DD_API_KEY";
15
+ export const apiKeyKMSEnvVar = "DD_KMS_API_KEY";
16
+ export const siteURLEnvVar = "DD_SITE";
17
+ export const logLevelEnvVar = "DD_LOG_LEVEL";
18
+ export const logForwardingEnvVar = "DD_FLUSH_TO_LOG";
19
+ export const logInjectionEnvVar = "DD_LOGS_INJECTION";
20
+ export const enhancedMetricsEnvVar = "DD_ENHANCED_METRICS";
21
+ export const datadogHandlerEnvVar = "DD_LAMBDA_HANDLER";
22
+ export const lambdaTaskRootEnvVar = "LAMBDA_TASK_ROOT";
23
+ export const mergeXrayTracesEnvVar = "DD_MERGE_XRAY_TRACES";
24
+ export const defaultSiteURL = "datadoghq.com";
24
25
25
26
interface GlobalConfig {
26
27
/**
@@ -79,7 +80,8 @@ export function datadog<TEvent, TResult>(
79
80
): Handler<TEvent, TResult> {
80
81
const finalConfig = getConfig(config);
81
82
const metricsListener = new MetricsListener(new KMSService(), finalConfig);
82
- const handlerName = getEnvValue("_HANDLER", "handler");
83
+ const handlerName = getEnvValue(datadogHandlerEnvVar, getEnvValue("_HANDLER", "handler"));
84
+
83
85
const traceListener = new TraceListener(finalConfig, handlerName);
84
86
const listeners = [metricsListener, traceListener];
85
87
@@ -207,6 +209,10 @@ function getConfig(userConfig?: Partial<Config>): Config {
207
209
const result = getEnvValue(enhancedMetricsEnvVar, "true").toLowerCase();
208
210
config.enhancedMetrics = result === "true";
209
211
}
212
+ if (userConfig === undefined || userConfig.mergeDatadogXrayTraces === undefined) {
213
+ const result = getEnvValue(mergeXrayTracesEnvVar, "false").toLowerCase();
214
+ config.mergeDatadogXrayTraces = result === "true";
215
+ }
210
216
211
217
return config;
212
218
}
0 commit comments