serverless-plugin-xray

2.1.1 • Public • Published

serverless-plugin-xray

A maintained fork of outdated serverless-plugin-tracing.

npm version Coverage Status Github Checks

Enables AWS X-Ray (https://aws.amazon.com/xray/) for the entire Serverless stack or individual functions.

Update: as of 2.0.0, the plugin uses Cloud Formation to update TracingConfig and no longer makes additional AWS SDK calls. No change to YAML contract: stays same as in 1.x. Tested with serverless@1.22.0.

Note: this plugin is currently Beta.

Note: 1.x was tested to work well with serverless@1.13.2. Some older versions of serverless may not work due to outdated Javascript SDK that does not support TracingConfig.

npm install --save-dev serverless-plugin-xray

Example serverless.yml:

service: my-great-service

provider:
  name: aws
  stage: test
  iamRoleStatements:
    - Effect: "Allow" # xray permissions (required)
      Action:
        - "xray:PutTraceSegments"
        - "xray:PutTelemetryRecords"
      Resource:
        - "*"

plugins:
  - serverless-plugin-xray

custom:
  serverless-plugin-xray:
    tracing: true # enable tracing

functions:
  mainFunction: # inherits tracing settings from "provider"
    handler: src/app/index.handler
  healthCheckFunction:
    tracing: false # overrides provider settings (opt out)

Output after serverless deploy:

Serverless: Tracing ENABLED for function
  "my-great-service-test-mainFunction"
Serverless: Tracing DISABLED for function
  "my-great-service-test-healthcheck"

Important: in addition to using the plugin, you need to enable capturing traces in the code as well:

const awsXRay = require('aws-xray-sdk');
const awsSdk = awsXRay.captureAWS(require('aws-sdk'));

The plugin only controls the checkbox that be viewed in AWS Console: go to AWS Lambda -> select a Lambda function -> Configuration tab -> Advanced settings -> "Enable active tracing". If tracing ends up being true for a function, the checkbox will be checked for that function.

Package Sidebar

Install

npm i serverless-plugin-xray

Weekly Downloads

48

Version

2.1.1

License

MIT

Unpacked Size

23.5 kB

Total Files

8

Last publish

Collaborators

  • andunai