commit | cd51f067a7d5d33d695016bd1dc8a139bf736338 | [log] [tgz] |
---|---|---|
author | chiniforooshan <chiniforooshan@chromium.org> | Fri Apr 21 20:13:31 2017 |
committer | Commit bot <commit-bot@chromium.org> | Fri Apr 21 20:13:31 2017 |
tree | 760bbac17e3125f9fedb95bd28e1c51f679d5529 | |
parent | cf5379cbc7095de979bba11519acc126a99532d2 [diff] |
tracing: Stream processing for some importers This implements stream processing for trace event importer, gzip importer, and Linux trace event importer. A tr.useTraceStreams flag is introduced and is disabled by default, for now, until all importers support stream processing and the performance is reasonable. I tested that if I set tr.useTraceStream to true, I can successfully run trace_processor/bin/process_traces on a ~700M trace file. However, it is slow. The source of slowness is oboe.js itself. After a little bit investigation, I think there are some optimizations that can be done in oboe.js, which I will send in future CLs. Note that this is still with the assumption that traces fit in memory. If we want to get rid of this assumption in the future: - d8 should support reading chunks of data from a file. - tr.b.TraceStream read methods should return promises. - oboe.js should support returning just the start and end position of a value instead of the value itself, for values that do not fit in memory. BUG=catapult:#2826 Review-Url: https://codereview.chromium.org/2755943002
Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. This includes:
These tools were created by Chromium developers for performance analysis, testing, and monitoring of Chrome, but they can also be used for analyzing and monitoring websites, and eventually Android apps.
Please see our contributor's guide