Developer Guide

What is AWS X-Ray?

AWS X-Ray is a service that collects data about requests that your application serves, and provides tools you can use to view, filter, and gain insights into that data to identify issues and opportunities for optimization. For any traced client request to your application, you can see detailed information not only about the request and response, but also about calls that your application makes to downstream AWS services and HTTP web APIs.


This is prerelease documentation for a service in preview release. It is subject to change. Sign up for the preview here.

X-Ray uses data from the AWS resources that power your cloud applications to generate a detailed service graph that shows the client, your front-end service, and back-end services that your front-end service calls to process requests and persist data. You can use the service graph to identify bottlenecks, latency spikes, and other issues that you can solve to improve the performance of your applications.

The X-Ray SDKs provide interceptors that you can add to your code to trace incoming HTTP requests, client handlers to instrument AWS SDK clients that your application uses to call other AWS services, and an HTTP client that you can use to instrument calls to other internal and external HTTP web services. Some of the SDKs also support instrumenting calls to SQL databases, automatic AWS SDK client instrumentation, and other features.

Instead of sending trace data directly to X-Ray, the SDKs send JSON segment documents to a daemon process listening for UDP traffic. The X-Ray daemon buffers segments in a queue and uploads them to X-Ray in batches. The daemon is available for Linux and Windows and is included on AWS Elastic Beanstalk platforms.

Use the getting started tutorial to start using X-Ray in just a few minutes with an instrumented sample application, or keep reading to learn about the languages, frameworks and services that work with X-Ray.