A trace is a tree; a log line is a point

Logs answer what happened and traces answer what a request did, and a request that touches six services is a shape logs cannot represent.

// a span, with a parent, forming a tree
$span = $tracer->startSpan('db.query', ['parent' => $current]);
$span->setAttribute('db.statement', $sql);

try {
    return $this->pdo->query($sql);
} finally {
    $span->end();
}

// the trace shows: 1.8s total, 1.6s in ONE of six calls

The value is entirely in attribution: knowing that checkout was slow is a log line, and knowing which of six calls consumed the time is a trace. It is not a replacement for logs — a trace records timing and structure, and a log line records a fact — and treating them as alternatives produces a system with neither. OpenTelemetry’s PHP support is early in 2020, which is a real constraint on adopting this.