The PHP SDK reached 1.0 this year and the auto-instrumentation is thinner than the equivalent in other runtimes.
what is instrumented automatically, with the extension:
PDO, curl, a few framework entry points
what is not, and needs manual spans:
the queue worker's job boundary
a cache read
anything in our own domain code
which means: the trace shows a 900ms request with a 40ms
database call and an 860ms gap.
The gap is the whole problem — a trace that shows the boundaries and nothing between them is a slower way of reading a timer. Adding spans manually at four points in the request lifecycle produced something useful; the honest assessment is that this is a year or two behind the equivalent tooling elsewhere, and the sampling decision matters more here because each span costs.