I imagine this being used for episodic debug cases, where one could turn up the sample rate and pay only for the traces captured/queried during an incident. But you would need to do your monitoring and trending separately.
I wouldn't be surprised if they eventually start integrating this better with CloudWatch for that reason, though it doesn't seem to be doing any of that today.
Disclosure: I work on TraceView (traceview.solarwinds.com) which is distributed tracing based APM product. We're inspired by Google Dapper and x-trace, both mentioned elsewhere in this thread.
I don't see the distinction you're making, as neither seems to record all traces for accurate audit. Am I missing it?
If you're looking specifically for the 100% audit trail case, I'd look at DynaTrace or potentially Instana.
The service works via the SDK's in various languages, that report tracing information to a local daemon that runs on the host, over UDP.
The daemon then batches the data, applies sampling (Which is configurable, all the way to 100% - report everything), and sends it en-masse to AWS.
Edit: See Sampling Rules section here - http://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nod...
I concur, it was specifically stated that 100% sampling is an option (and is by default?)
To provide a performant and cost-effective experience, X-Ray does not collect data for every request that is sent to an application. Instead, it collects data for a statistically significant number of requests. X-Ray should not be used as an audit or compliance tool because it does not guarantee data completeness.
https://aws.amazon.com/xray/faqs/