@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_MONITORING (or options.disableRequestMonitoring)
Disable lambda requests (events) monitoring
SLS_DISABLE_RESPONSE_MONITORING (or options.disableResponseMonitoring)
Disable lambda responses monitoring
SLS_DISABLE_AWS_SDK_MONITORING (or options.disableAwsSdkMonitoring)
Disable automated AWS SDK monitoring
SLS_DISABLE_EXPRESS_MONITORING (or options.disableExpressMonitoring)
Disable automated express monitoring
Outcome
SDK automatically creates the trace that covers internal process of function invocation and initialization.
For details check: