Closed natduca closed 9 years ago
From dsinclair@chromium.org on April 07, 2014 19:13:11
Cc: nd...@chromium.org dsinclair@chromium.org
Labels: -Type-Bug Type-Feature
From nd...@chromium.org on April 08, 2014 00:57:47
Victor and I have been talking about this. We'd like to make samples a first class concept in tracing, where the stack stitching & grouping is done with custom features instead of it being a preprocessing step that produces B/E slices. We were thinking every model would effectively have a big array of samples that can be queried by cpu or by thread, and then we'd build custom sample analysis code both as a sidebar and down in the selection area.
I am still wrapping my head around this, but I do think slices vs samples are pretty different and thus are worthy of some new views...
Cc: vmi...@chromium.org
From fmea...@chromium.org on April 08, 2014 09:56:42
I was thinking of integrating CPU Profiles into tracing as a disabled category, any thoughts?
Cc: fmea...@chromium.org
From nd...@chromium.org on April 08, 2014 09:58:45
@fmeawad: CPU profiles as in sampling-based data?
From o...@chromium.org on April 08, 2014 12:02:50
Here's some file sizes from a relatively short sample: 2303052 perf.data <-- the raw data spit out by perf 31390516 raw_perf_script <-- the data spit out by 'perf script' 2137269 raw.trace <-- the trace file from https://codereview.chromium.org/226933002/ 6232164 collapsedonly.trace <-- the json file from https://codereview.chromium.org/226933002/ if you only print out the collapsed_lines data structure
The collapsed_lines data structure is the one that takes all samples for each stack and collapses them into one entry in the json with the stack being a semi-colon separated string.
Do we care about file size here? I expect we do as we want it to be easy for people to share these and post them to bugs, which implies a 10mb limit. So, we'd need to either use the B/E trace data (or something like it) or the perf.data file directly.
I'm a bit loathe to do the latter. Beyond requiring figuring out the perf.data file format, it makes it harder to integrate CPU profiling information from other profilers (e.g. Instruments). Maybe not. Maybe you're point is that all this code should just be JS in traceviewer instead of a python preprocessing step.
I was thinking that traceviewer should be able to easily reconstruct the collapsed sample data from the B/E slices and then use that for whatever features it needed. But I don't know anything about how trace viewer uses B/E slices. Does it not convert them into some other data model first?
From dsinclair@chromium.org on April 08, 2014 12:16:50
Do they compress well? Trace-viewer understands both zip and gz. You can load a compressed file and it should do the right thing.
From o...@chromium.org on April 08, 2014 12:31:39
Here are the gzipped numbers.
166216 perf.data.gz 153441 raw.trace.gz 218154 collapsedonly.trace.gz 1062411 rawperfscriptoutput.gz
From nd...@chromium.org on April 08, 2014 12:37:22
There's a lot of really interesting pieces swirling here. I'm going to self-assign briefly to get some basic infra landed UI side....
Summary: Add features for CPU profiles (was: add features for CPU profiles)
Status: Started
Owner: nd...@chromium.org
From nd...@chromium.org on April 23, 2014 15:59:28
Filed blockers. Core stuff is done. Just waiting on UI, then we can mark this fixed, at least to a v0.1 point.
Summary: Barebone features for CPU profiles (was: Add features for CPU profiles)
Blockedon: trace-viewer:551 trace-viewer:552
From fmea...@chromium.org on June 30, 2014 14:17:42
Cc: gho...@chromium.org
From nd...@chromium.org on July 07, 2014 11:39:29
Sami, can you make sure this bug gets closed since you've been taking point on the outer project?
Owner: skyos...@chromium.org
From o...@chromium.org on April 04, 2014 18:12:48
https://codereview.chromium.org/226933002/ adds a way to view CPU profiles from perf in the trace viewer.
Some features that would be nice for CPU profiles:
Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=545