serverless-lumigo
Serverless framework plugin to auto-install the Lumigo tracer for Node.js and Python functions.
TOC
Install
Run npm install
in your Serverless project.
$ npm install --save-dev serverless-lumigo
Add the plugin to your serverless.yml file
plugins:
- serverless-lumigo
Node.js functions
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:
provider:
name: aws
runtime: nodejs10.x
custom:
lumigo:
token: <YOUR TOKEN GOES HERE>
nodePackageManager: <npm or yarn>
Python functions
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
:
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
.
provider:
name: aws
runtime: python3.7
custom:
lumigo:
token: <YOUR TOKEN GOES HERE>
Configuration
In order to pass parameters to the tracer, just add them as keys to lumigo custom configuration. For example, in order to add enhanced print support use:
custom:
lumigo:
token: <YOUR TOKEN GOES HERE>
enhance_print: true
Function Scope Configuration
You can configure lumigo behavior for individual functions as well -
enabled
- Allows one to enable or disable lumigo for specific a specific functionfunctions: foo: lumigo: enabled: false bar: lumigo: enabled: ${self:custom.enabledLumigo}
How to test
- Run
npm run test-all