This is a profiler and tracing library for use with IOpipe and AWS Lambda.
With yarn (recommended) in project directory:
yarn add @iopipe/profiler
With npm in project directory:
npm install @iopipe/profiler
Then include the plugin with IOpipe in your serverless function:
const iopipeLib = require('@iopipe/iopipe');
const profiler = require('@iopipe/profiler');
const iopipe = iopipeLib({
token: 'TOKEN_HERE',
plugins: [profiler({ enabled: true, heapSnapshot: true })]
});
exports.handler = iopipe((event, context) => {
context.succeed('Wow!');
});
To use >=2.0 of this library, you must be running on Node.js 8 or higher (8.10 and up on AWS Lambda). If you are running on 6.10 on Lambda, use a 1.x version, as the native profiler is not available on that runtime, and will be compiled in the 1.x version of this library.
By default, this plugin will not run the profiler. You must enable profiling on your function either by setting this variable, or setting IOPIPE_ENABLE_PROFILER=true
in your environment. The environment variable setting (either true or unset) takes precedence over plugin config.
By default, this plugin will not take heap snapshots. To enable heap snapshots, either set this value to true, or setting IOPIPE_ENABLE_HEAPSNAPSHOT=true
in your environment. The environment variable setting (either true or unset) takes precedence over plugin config.
Record samples, defaults to true.
Change the sampling interval, in microseconds. Defaults to 1000us.
Show debugging logs.
Set timeout in ms for network requests.
To enable profiling via environment variable, set IOPIPE_ENABLE_PROFILER
to true in your environment.
Apache-2.0 see LICENSE
Copyright 2017, IOpipe, Inc.