Commit ba52c96
committed
fix: don't wrap the package's own tracing listeners in listener spans
TracingEventDispatcher::makeListener() wrapped every non-wildcard,
non-queued listener in EventListenerTracer::trace(), including the
package's own instrumentation listeners (DatabaseQueryListener, and the
queue listener added next). That is wrong for two reasons:
- it records noise `listener.LaravelTrace\LaravelTrace\Tracing\...`
spans around internal plumbing and reparents the real span
(`database.query`) under that wrapper instead of the request span;
- the wrapper snapshots the trace context before the listener runs and
re-applies it on close, so an instrumentation listener that
deliberately mutates the ambient context (restoring/clearing it) has
that change silently undone.
Skip wrapping when the listener class lives in this namespace. Factor the
listener-class resolution out of isQueuedListener() into listenerClass()
so both guards share it.1 parent ead9e5e commit ba52c96
1 file changed
Lines changed: 36 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
33 | 37 | | |
34 | 38 | | |
35 | 39 | | |
| |||
49 | 53 | | |
50 | 54 | | |
51 | 55 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
65 | 95 | | |
66 | 96 | | |
67 | 97 | | |
| |||
0 commit comments