Thundra

Thundra: Serverless Observability for AWS Lambda

The black box nature of AWS Lambda and other serverless environments means that identifying and fixing performance issues is difficult and time-consuming. Built for straightforward debugging, monitoring, and observability, Thundra provides deep insight into your entire serverless environment. Thundra collects and correlates all your metrics, logs, and traces, allowing you to quickly identify problematic invocations and also analyzes external services associated with that function. With Thundra’s zero overhead and automated instrumentation capabilities, your developers are free to write code without worrying about bulking up their Lambdas or wasting time on chasing black box problems.

Get Started    Discussions

Tag Support

With Thundra's NodeJS agent, you can add custom tags to your invocations or your applications which will let you eventually better filter the data. Invocation tags are added only to Invocation data type, application tags are global and they are automatically added to Invocation, Metric, Trace, Span, and Log data.

Adding Invocation Tags

You can add custom tags to your invocation with the help static methods of InvocationSupport object. These are the methods you can in InvocationSupport class.

static setTag(key: string, value: any): void;
static getTag(key: string): any;
static setTags(keyValuePairs: {[key: string]: any }): void;
static removeTags(): void;

Below example shows how to tag a lambda invocation.

const config = {
	apiKey:<Your API Key>,
};
const thundra = require("@thundra/core");

exports.handler = thundra(config)((event, context, callback) => {
    thundra.InvocationSupport.setTag('string', 'thundra');
    thundra.InvocationSupport.setTag('number', 5);
    thundra.InvocationSupport.setTag('object', {
        id: 5
    });
  
    callback(null, {msg : 'hello world'});    
});

Adding Application Tags

You can add application tags via environment variables. All application tags which start with thundra_agent_lambda_application_tag_ are parsed by Thundra's NodeJS agent and the part after thundra_agent_lambda_application_tag_ prefix is used as the key of the tag and the value of the environment variable becomes the value of the tag. For example, thundra_agent_lambda_application_tag_floatField with value 12.123 will add an application tag to all data with key floatField and value 12.123.

Below example shows how to add application tags with various data types to a Lambda invocation.

Tag Support


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.