measureme
measureme copied to clipboard
Support crate for rustc's self-profiling feature
For example: ``` [70573:70573:1111/154348.180968:ERROR:CONSOLE(1)] "Children are longer than parent at 1699713671459.944 (18214.109 by 0.002", source: devtools://devtools/bundled/models/timeline_model/timeline_model.js (1) ```
Only `crox` can currently handle multiple profiles at once. It would be nice to be able to aggregate multiple profiles into a single summary or flamegraph or to be able...
Taking inspiration from `perf` on Linux via the [description of it's file format](https://github.com/torvalds/linux/blob/master/tools/perf/Documentation/perf.data-file-format.txt#L58), we thought that storing the number of threads, CPU type, and available memory on the system would...
Repo: [[email protected]:vectordotdev/vector.git](https://github.com/vectordotdev/vector.git) Build: ```bash RUSTFLAGS="-Zself-profile -Zself-profile-events=default,args" cargo build ``` Error: ``` Compiling vector v0.22.0 (/Users/dio/Sources/@observable/vector) thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/measureme-10.0.0/src/stringtable.rs:105:62 stack backtrace: 0: 0x103037ea4...
To avoid hitting a `Mutex` for every event being recorded, and assuming that all the other streams have (much) lower frequency, we could keep [the current format](https://github.com/rust-lang/measureme/blob/2c45b109a98ff143be39bc0c14ae2153fa0ca8ca/measureme/src/serialization.rs#L1-L26), while recording it...
This will make it easier for the compiler and tools to keep in sync. cc https://github.com/rust-lang/rust/pull/90701
The name `flamegraph` conflicts with an already existing tool - https://crates.io/crates/flamegraph. I find this confusing - i had the other tool installed (it seems installing one silently overwrites the other)...
For some reason the unit tests in stack_collapse.rs fail on Windows (at least for me locally), even though they don't seem to contain anything platform specific. cc @wesleywiser
There are a lot of nifty tools here! Discoverablity is hard, though. Can we have a single `measureme` executable, so you can do `measureme --help`?
It'd be great to get CSV output from mmview. That would let you plop the data into an excel spreadsheet. It'd also be nice to be able to apply simple...