[PATCH] D43272: [clangd] Fix tracing now that spans lifetimes can overlap on a thread.
Sam McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 13 19:09:15 PST 2018
sammccall created this revision.
sammccall added a reviewer: ioeric.
Herald added subscribers: cfe-commits, jkorous-apple, ilya-biryukov, klimek.
The chrome trace viewer requires events within a thread to strictly nest.
So we need to record the lifetime of the Span objects, not the contexts.
But we still want to show the relationship between spans where a context crosses
threads, so do this with flow events (i.e. arrows).
Before: https://photos.app.goo.gl/q4Dd9u9xtelaXk1v1
After: https://photos.app.goo.gl/5RNLmAMLZR3unvY83
(This could stand some further improvement, in particular I think we want a
container span whenever we schedule work on a thread. But that's another patch)
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D43272
Files:
clangd/Trace.cpp
clangd/Trace.h
test/clangd/trace.test
unittests/clangd/TraceTests.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43272.134154.patch
Type: text/x-patch
Size: 9370 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180214/4dbe6a04/attachment-0001.bin>
More information about the cfe-commits
mailing list