roni-frantchi / serverless-lumigo-plugin

Serverless monitoring and troubleshooting plugin to easily apply distributed tracing

Home Page:https://lumigo.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

serverless-lumigo

serverless version License CircleCI codecov

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 function
    functions:
      foo:
        lumigo:
          enabled: false
    
      bar:
        lumigo:
          enabled: ${self:custom.enabledLumigo}

How to test

  • Run npm run test-all

About

Serverless monitoring and troubleshooting plugin to easily apply distributed tracing

https://lumigo.io

License:Apache License 2.0


Languages

Language:JavaScript 98.4%Language:Shell 1.2%Language:Python 0.4%