@serverless/sdk
Use case
Environment agnostic Serverless Console instrumentation functions for Node.js applications.
This library is safe to use without side-effects in any Node.js applications. It becomes effective once (one of the listed below) environment specific SDK is loaded on top.
Environment extensions
Installation
npm install @serverless/sdk
Usage
CJS:
const serverlessSdk = require('@serverless/sdk');
serverlessSdk.captureError(new Error('Unexpected'));
ESM:
import serverlessSdk from '@serverless/sdk';
serverlessSdk.captureError(new Error('Unexpected'));
Setup
2. Initialize and setup SDK specific to your enviroment
See Environment extensions
2.1 Configuration options
Common options supported by all environments:
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. See HTTP instrumentation
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_EXPRESS_MONITORING
(or options.disableExpressMonitoring
)
Disable automated express monitoring. See express app instrumentation
SLS_DISABLE_CAPTURED_EVENTS_STDOUT
(or options.disableCapturedEventsStdout
)
Disable writing captured events registered via .captureError
and .captureWarning
to stdout
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
Instrumentation
This package comes with instrumentation for following areas.
Note: instrumentation is enabled via environment specific SDK instance, relying just on @serverless/sdk
doesn't enable any instrumentation)
API