Introduced `InvocationErrorAwareSampler`
Upgraded "Javassist" to instrument Kotlin classes properly
Disabled metric support by default and it can be enabled by setting thundra_agent_lambda_metric_disable
environment variable to false
Disabled log support by default and it can be enabled by setting thundra_agent_lambda_log_disable
environment variable to false
Injected AWS X-Ray trace id and segment id into invocation tags
Fixed link to intermediate bridge class which is used for intercepting JDK classes
Introduced LambdaRequestHandlerExecutor
for Osiris (https://github.com/cjkent/osiris) framework integration
Introduced "TraceLink" API
Added async initialization support
Added user tags support
Calculated timeout margin based on region and memory size adaptively
Added setting invocation error state based on HTTP response code
Improved handler request type resolving
Added adaptive collector API endpoint discovery
Added AWS SDK 2 integration for tracing
Fixed NoClassDefFoundError
at initialization time for AWS Athena integration
Introduced AWS Athena integration
Added handler method specification support after handler's class name seperated by ::
Added AWS API Gateway path variable detection support for URLs
Fixed NPE occurred in case of Lambda invocation has no payload
Fixed AWS SDK async request parent-child scope issue
Fixed trace issue for AWS SDK async requests.
Added trace support for AWS SDK async requests
Fixed multiple instrumentation issue for AWS SDK occurred at higher versions
Added MongoDB integration
Fixed StringIndexOutOfBoundsException
occurred while getting Redis command type in Redisson client
Added JDK 9+ support
Got rid of "opsgenie-core" dependency and exported these classes into "thundra-agent-core" module
Added distributed tracing support for API Gateway custom authorizer
Fixed NPE while getting request content for Elasticsearch integration
Fixed NPE while checking traces of API GW Proxy request
Fixed NPE while collecting logs from Lambda context
Added capability for tracing data of AWS SNS, AWS SQS, AWS Lambda and HTTP operations with masking capability which are unmasked by default
Introduced unmasking for Kinesis and Firehose record tracing which are masked by default
Improved AWS DynamoDB statement from individual properties of request in JSON format
Introduced flags to enable Kinesis, Firehose and CloudWatch logs request tracing which are disabled by default
Refactored warmup support and added onWarmupRequest
to be called in case of warmup request detected for supporting taking custom action
Added Elasticsearch trace support over high level rest client for 6.x versions
Added log support for capturing logs printed through com.amazonaws.services.lambda.runtime.Context
Added initial version of distributed tracing support over trace links
Fixed memory leak in InvocationEnricherSpanListener
by getting spans from the trace recorder itself
Improved instrumentation performance by eliminating some extra class file retrieve and parse operations
Added RequestStreamHandler
support for generic handler and custom runtime
Enabled composite data model by default to reduce monitoring data size sent
Fixed traceable prefixes bug which is used to specify prefixes of full classnames to be checked for instrumentation
Introduced ErrorInjectorThundraSpanListener
, LatencyInjectorThundraSpanListener
and FilteringThundraSpanListener
as ThundraSpanListener
implementations to be used for chaos injecting at testing phase
Introduced console (stdout/stderr) log capturing support
Add traceable classes metadata extraction support at build time to minimize classes to be checked
Updated aws.lambda.function.name
and aws.lambda.function.qualifier
tags as aws.lambda.name
and aws.lambda.qualifier
Added statement and statement type tags for "commit" and "rollback" operations in JDBC trace support
Introduced aws.lambda.invocation.memory_usage
tag for measured memory usage during invocation
Set class name of the span as "Method" for instrumented method
Introduced thundra.agent.trace.instrument.integrations.disable
property to disable all integrations at once
Fixed incorrect invocation start time calculation in case of warmup
Enabled X-Ray integration only if X-Ray SDK is available in the classpath
Added "Custom Runtime" and "Lambda Layers" support
Fixed pre-initialize and pre-warmup info injection logic into Lambda context and upgraded version
Released new OpenTracing API compatible Java agent according to new data model