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

Base Fields

Each monitor data has the following base (common) fields as mentioned below:

  • id | string
    Unique id of the monitor data. For Example: cbcddcb2-3ad1-4c9a-bf08-0d69123c736d

  • type | string
    Type of the monitoring data. Valid values are:

    Invocation
    Trace
    Span
    Metric
    Log
    Composite

  • agentVersion | string

    Version of the Thundra agent. For Example: 2.0, 2.1

  • dataModelVersion | string
    Version of the data model. For Example:

    2.0
    2.1
    3.0
    ...

  • applicationId | string
    The unique id of the application instance. The same application might have multiple instances so even though they have the same name, they run as a different application

  • applicationDomainName | string
    The domain of the application. For example:

    API
    DB
    Cache
    Messaging
    ...

  • applicationClassName | string
    Class of the application. For example:

    AWS-Lambda
    MySQL
    Hazelcast
    Kafka
    ...

  • applicationName | string
    Name of the application. For example:

    user-service
    account-service
    ...

  • applicationVersion | string
    The version of the application: For example:

    1.2.3-SNAPSHOT
    2.3.4-RC
    3.4.5-RELEASE
    4.5.6
    ...

  • applicationStage | string
    Stage where the application runs. For example:

    dev
    lab
    qa
    staging
    prod
    ...

  • applicationRuntime | string
    Runtime of the application. For example:

    Java
    Node.js
    Python
    Go

  • applicationRuntimeVersion | string
    Runtime version of the application. For example:

    1.8 (for Java)
    8.10 (for Node.js)
    3.6 (for Python)
    ...

  • applicationTags | map<string,string|number|boolean>
    Tags of the application in key-value format. For example:

    <ownerTeamName, “SRE”>
    <deployTimestamp, 1531314319>
    <isInternalApp, true>
    A detailed list of these tags can be found in the Monitoring Data Tags section.

Notes on `applicationTags`

Note 1
For labeling support, tag in <string, boolean> format can be used. So, for label based searches, tag with label name and value true can be queried.
Note 2
For making tags queryable, their values can only be string, number or boolean.