Deployment Integrations
On-premise Integrations
Platform Integrations

Trace Configurations

Configuring Trace Plugin

You can configure the trace plugin using the following environment variables.

Set this true if you want to disable the trace plugin. By default, trace plugin is enabled.

Configuration of Trace Plugin
thundra_agent_lambda_trace_disable

Set this true if you want to disable monitoring the Lambda request.

Configuration of Trace Request
thundra_agent_lambda_trace_request_disable

Set this true if you want to disable monitoring the Lambda response.

Configuration of Trace Response
thundra_agent_lambda_trace_response_disable

Configuring AWS SDK Trace

Thundra's Go agent provides the capability of tracing AWS SDK by wrapping the Session object that AWS SDK provides. You can easily start using it by simply wrapping your session objects like the following:

Go
package main
import (
"github.com/aws/aws-lambda-go/lambda"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/dynamodb"
"github.com/thundra-io/thundra-lambda-agent-go/thundra"
thundraaws "github.com/thundra-io/thundra-lambda-agent-go/wrappers/aws"
)
// Your lambda handler
func handler() (string, error) {
// Create a new session object
sess, _ := session.NewSession(&aws.Config{
Region: aws.String("us-west-2")},
)
// Wrap it using the thundraaws.Wrap method
sess = thundraaws.Wrap(sess)
// Create a new client using the wrapped session
svc := dynamodb.New(sess)
// Use the client as normal, Thundra will automatically
// create spans for the AWS SDK calls
svc.PutItem(&dynamodb.PutItemInput{
Item: map[string]*dynamodb.AttributeValue{
"AlbumTitle": {
S: aws.String("Somewhat Famous"),
},
"Artist": {
S: aws.String("No One You Know"),
},
"SongTitle": {
S: aws.String("Call Me Today"),
},
},
ReturnConsumedCapacity: aws.String("TOTAL"),
TableName: aws.String("Music"),
})
return "Hello, Thundra!", nil
}
func main() {
// Wrap your lambda handler with Thundra
lambda.Start(thundra.Wrap(handler))
}

After you have wrapped the session object, rest will be handled automatically. The spans representing the AWS SDK calls will be shown in your trace chart.

Disabling AWS Integrations

By default, tracing AWS SDK responses is enabled, but can also be disabled as is required through configuration. You just need to set to true the following environment variable.

Configuration of Disabling Aws Integrations
thundra_agent_lambda_trace_integrations_aws_disable

Masking SQS Messages

You can mask sent SQS message at client side which calls AWS SDK. You just need to set true the following environment variable.

Masking SQS Messages
thundra_agent_lambda_trace_integrations_aws_sqs_message_mask

Masking SNS Messages

You can mask sent SNS message at client side which calls AWS SDK. You just need to set true the following environment variable.

Masking SNS Messages
thundra_agent_lambda_trace_integrations_aws_sns_message_mask

Masking Lambda Payload

You can mask Lambda invocation payload at client side which calls AWS SDK. You just need to set true the following environment variable.

Masking Lambda Payload
thundra_agent_lambda_trace_integrations_aws_lambda_payload_mask

Masking HTTP Body

You can mask http body at client side which calls AWS SDK. You just need to set true the following environment variable.

Masking HTTP Body
thundra_agent_lambda_trace_integrations_aws_http_body_mask