After years of relying on X-Ray for distributed tracing, our team made the switch to OpenTelemetry and CloudWatch. The benefits were immediate, but the journey was not without its surprises. From unexpected cold start behaviors to nuanced pricing models, we're sharing our lessons learned. Introduction to X-Ray and Its Limitations X-Ray is a popular choice for distributed tracing, but its limitations soon became apparent. The X-Ray SDK adds 50-100ms to cold starts in Lambda if not configured correctly, which can be a significant issue for high-traffic applications. Additionally, trace propagation across async boundaries (SQS, SNS) requires manual headers, which can be error-prone. import { Command } from ' @aws-sdk/client-xray ' ; import { LambdaClient } from ' @aws-sdk/client-lambda ' ; const xrayClient = new Command ({ input : { Name : ' my-lambda-function ' , }, }); const lambdaClient = new LambdaClient ({}); // X-Ray SDK adds 50-100ms to cold starts in Lambda console .…