@serverless/aws-lambda-sdk
AWS Lambda dedicated tracing utility
Instruments AWS Lambda functions and propagates traces to the Serverless Console
Setup
2. Instrument functions with the SDK in one of the following ways:
(A) Attach internal extension layer
Resolve Layer ARN with following steps
- Attach layer to the function
- Configure following environment variables for the function environment:
SLS_ORG_ID: (id of your organization in Serverless Console)
AWS_LAMBDA_EXEC_WRAPPER: /opt/sls-sdk-node/exec-wrapper.sh
- If needed Serverless SDK can be accessed at
serverlessSdk global variable
(B) Instrument function manually
CJS:
const instrument = require('@serverless/aws-lambda-sdk/instrument');
module.exports.handler = instrument(
(event, context, callback) => {
},
options
);
ESM:
import instrument from '@serverless/aws-lambda-sdk/instrument';
export const handler = instrument(
(event, context, callback) => {
},
options
);
- If needed Serveless SDK can be loaded by requiring (or importing)
@serverless/aws-lambda-sdk
Configuration options.
Extension can be configured either via environment variables, or in case of manual instrumentation by passing the options object to instrument function;
If given setting is set via both environment variable and property in options object, the environment variable takes precedence.
SLS_ORG_ID (or options.orgId)
Required setting. Id of your organization in Serverless Console.
SLS_DISABLE_HTTP_MONITORING (or options.disableHttpMonitoring)
Disable tracing of HTTP and HTTPS requests
SLS_DISABLE_REQUEST_RESPONSE_MONITORING (or options.disableRequestResponseMonitoring)
(Dev mode only) Disable monitoring requests and reponses (function, AWS SDK requests and HTTP(S) requests)
SLS_DISABLE_AWS_SDK_MONITORING (or options.disableAwsSdkMonitoring)
Disable automated AWS SDK monitoring
SLS_DISABLE_EXPRESS_MONITORING (or options.disableExpressMonitoring)
Disable automated express monitoring
SLS_TRACE_MAX_CAPTURED_BODY_SIZE_KB (or options.traceMaxCapturedBodySizeKb)
In dev mode, HTTP request and response bodies are stored as tags. To avoid performance issues, bodies that extend 10 000KB in size are not exposed. This default can be overridden with this settin
Outcome
SDK automatically creates the trace that covers internal process of function invocation and initialization.
For details check: