Serverless framework plugin to auto-install the Lumigo tracer
npm install serverless-lumigo




Serverless framework plugin to auto-install the Lumigo tracer for Node.js and Python functions.
- Install
- Node.js functions
- Python functions
- Configuring the tracer
Run npm install in your Serverless project.
$ npm install --save-dev serverless-lumigo
Add the plugin to your serverless.yml file
``yaml`
plugins:
- serverless-lumigo
For Node.js functions, the plugin would install the latest version of the Lumigo tracer for Node.js during serverless package and serverless deploy. It would also wrap your functions as well, so you only need to configure your Lumigo token in a custom section inside the serverless.yml.
For example:
`yaml
provider:
name: aws
runtime: nodejs22.x
custom:
lumigo:
token:
nodePackageManager:
`
In case you want to pin the specific tracer version use pinVersion attribute.
For example
`yaml
provider:
name: aws
runtime: nodejs22.x
custom:
lumigo:
token:
pinVersion: 1.31.1
`
In case you want to manage the Lumigo tracer dependency yourself - e.g. you want to use Lerna or Webpack, and can't have this plugin install the Lumigo tracer on your behalf on every deployment - then you can also disable the NPM install process altogether.
`yaml
provider:
name: aws
runtime: nodejs22.x
custom:
lumigo:
token:
skipInstallNodeTracer: true # defaults to false
`
In case you are using ES Modules for Lambda handlers.
`yaml
provider:
name: aws
runtime: nodejs22.x
custom:
lumigo:
token:
nodeUseESModule: true
nodeModuleFileExtension: js
`
For Python functions, we recommend using the serverless-python-requirements plugin to help you manage your dependencies. You should have the following in your requirements.txt:
`txt`
lumigo_tracer or lumigo-tracer
This installs the Lumigo tracer for Python, and this plugin would wrap your functions during serverless package and serverless deploy.
You also need to configure the Lumigo token in a custom section in the serverless.yml.
`yaml`
provider:
name: aws
runtime: python3.10
custom:
lumigo:
token:
In case you are not using requirements.txt to manage your requirements then you can add skipReqCheck and set it to true
`yaml`
custom:
lumigo:
token: 1234
skipReqCheck: true
In order to pass parameters to the tracer, just add them as keys to lumigo custom configuration. For example:
`yaml`
custom:
lumigo:
token:
step_function: true
You can configure lumigo behavior for individual functions as well:
- enabled - Allows one to enable or disable lumigo for specific a specific function
`yaml
functions:
foo:
lumigo:
enabled: false
bar:
lumigo:
enabled: ${self:custom.enabledLumigo}
`
Run npm run test:all`