AppDynamics provides Serverless Application Performance Monitoring (Serverless APM) functionality in the form of a serverless tracer, available in Java, Node.js, and Python. This page discusses how the tracer correlates business transactions.
Business Transaction Correlation Architecture
The Serverless Tracer correlates business transactions with upstream and downstream components. Business transactions can be started or continued within application components instrumented with APM agents or Lambda tracers providing end to end transaction visibility in AppDynamics.
This diagram illustrates how the tracer correlates business transactions through a serverless function to APM and EUM agents:
Business Transaction Correlation Process
Business transaction correlation occurs through an opaque correlation string that the application passes across the wire. First, the tracer generates the correlation string at an exit call, and then the application passes the correlation string to the downstream components. The downstream component retrieves the correlation string to continue the business transaction. This process enables the Serverless Tracer to correlate business transactions.
Correlation String Transportation
Your application needs to pass the correlation string, generated by the tracer, to correlate a business transaction between multiple services. The correlation string must be serialized and communicated alongside the application payload.
Inbound HTTP Calls
If you pass the correlation string through an HTTP call, the string is passed as an HTTP header. The tracer searches for the key that holds the correlation header string in your function's invocation object. Correlation occurs when the Serverless Tracer finds the correlation header key. If the key cannot be found, the tracer creates a new business transaction.
For protocols other than HTTP, you need to define protocol-specific transportation of the correlation string to enable business transaction correlation.
The tracer creates a new business transaction if:
- You have not arranged for the correlation string to be passed, or
- The tracer cannot find the correlation string.
To get started, see Set Up the Serverless APM Environment.
Amazon Web Services, the AWS logo, AWS, and any other AWS Marks used in these materials are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.