]> granicus.if.org Git - llvm/commit
[XRay] Minimal tool to convert xray traces to Chrome's Trace Event Format.
authorKeith Wyss <wyssman@gmail.com>
Tue, 7 Nov 2017 00:28:28 +0000 (00:28 +0000)
committerKeith Wyss <wyssman@gmail.com>
Tue, 7 Nov 2017 00:28:28 +0000 (00:28 +0000)
commited2657e43a72b4374b54ab9da9ffa0cc26630851
treed043ef588dbd773cff8a034da1ad73b40f80a5bc
parent964a48a5b6b8f8b3ca36dc4f769ba64d0a56aa57
[XRay] Minimal tool to convert xray traces to Chrome's Trace Event Format.

Minimal tool to convert xray traces to Chrome's Trace Event Format.

Summary:
Make use of Chrome Trace Event format's Duration events and stack frame dict to
produce Json files that chrome://tracing can visualize from xray function call
traces. Trace Event format is more robust and has several features like
argument logging, function categorization, multi process traces, etc. that we
can add as needed. Duration events cover an important base case.

Part of this change is rearranging the code so that the TrieNode data structure
can be used from multiple tools and can carry parameterized baggage on the
nodes. I put the actual behavior changes in llvm-xray convert exclusively.

Exploring the trace of instrumented llc was pretty nifty if overwhelming.
I can envision this being very useful for analyzing contention scenarios or
tuning parameters like batch sizes in a producer consumer queue. For more
targeted traces likemthis, let's talk about how we want to approach trace
pruning.

Reviewers: dberris, pelikan

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D39362

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317531 91177308-0d34-0410-b5e6-96231b3b80d8
tools/llvm-xray/trie-node.h [new file with mode: 0644]
tools/llvm-xray/xray-converter.cc
tools/llvm-xray/xray-converter.h
tools/llvm-xray/xray-stacks.cc