about summary refs log tree commit diff
path: root/src/librustc/util/profiling.rs
AgeCommit message (Collapse)AuthorLines
2019-11-12Move self-profile infrastructure to data structuresMark Rousskov-313/+0
The single dependency on queries (QueryName) can be fairly easily abstracted via a trait and this further decouples Session from librustc (the primary goal).
2019-10-25self-profiling: Switch query-blocking measurements to RAII-style API.Michael Woerister-19/+7
2019-10-24self-profiling: Update measureme to 0.4.0 and use new RAII-based API.Michael Woerister-30/+10
2019-10-24self-profiling: Remove unused methods from profiler.Michael Woerister-48/+0
2019-09-30Self-Profiling: Refactor SelfProfiler API to be RAII based where possible.Michael Woerister-89/+237
2019-05-28Allow to specify profiling data output directory as -Zself-profile argument.Michael Woerister-4/+13
2019-04-18Implement event filtering for self-profiler.Michael Woerister-27/+94
2019-04-12Use measureme in self-profilerWesley Wiser-357/+83
Related to #58372 Related to #58967
2019-03-10Replace TimeLine with SelfProfilerWesley Wiser-8/+23
2019-03-03Use FxHashMapWesley Wiser-3/+4
2019-03-03Reduce the size of events by using a u64 instead of InstantWesley Wiser-37/+37
Part of #58372
2019-03-03Remove profiler output and replace with a raw event dumpWesley Wiser-316/+268
Related to #58372
2019-02-11[self-profiler] Misc cleanupsWesley Wiser-15/+4
2019-02-11Capture time spent blocked waiting on queriesWesley Wiser-2/+26
This captures time spent blocked when a query is waiting for another query to finish executing in another thread.
2019-02-11Add self profiler events for loading incremental query results from diskWesley Wiser-3/+29
2019-02-07Calculate self-times not total timesWesley Wiser-7/+18
2019-02-07Add #[inline] annotationsWesley Wiser-0/+7
2019-02-07Implement more detailed self profilingWesley Wiser-173/+335
Timing data and cache hits/misses are now recorded at the query level. This allows us to show detailed per query information such as total time for each query. To see detailed query information in the summary pass the `-Z verbose` flag. For example: ``` rustc -Z self-profile -Z verbose hello_world.rs ```
2019-02-05move librustc to 2018Mark Mansi-1/+1
2019-01-08Auto merge of #56988 - alexcrichton:monotonic-instant, r=sfacklerbors-15/+2
std: Force `Instant::now()` to be monotonic This commit is an attempt to force `Instant::now` to be monotonic through any means possible. We tried relying on OS/hardware/clock implementations, but those seem buggy enough that we can't rely on them in practice. This commit implements the same hammer Firefox recently implemented (noted in #56612) which is to just keep whatever the lastest `Instant::now()` return value was in memory, returning that instead of the OS looks like it's moving backwards. Closes #48514 Closes #49281 cc #51648 cc #56560 Closes #56612 Closes #56940
2019-01-07Rename some functionsJohn Kåre Alsaker-1/+1
2019-01-07Fix and optimize query profilingJohn Kåre Alsaker-7/+9
2019-01-07std: Force `Instant::now()` to be monotonicAlex Crichton-15/+2
This commit is an attempt to force `Instant::now` to be monotonic through any means possible. We tried relying on OS/hardware/clock implementations, but those seem buggy enough that we can't rely on them in practice. This commit implements the same hammer Firefox recently implemented (noted in #56612) which is to just keep whatever the lastest `Instant::now()` return value was in memory, returning that instead of the OS looks like it's moving backwards. Closes #48514 Closes #49281 cc #51648 cc #56560 Closes #56612 Closes #56940
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-10[self-profiler] Add column for percent of total timeWesley Wiser-4/+9
2018-12-05Send textual profile data to stderr, not stdoutMark Rousskov-3/+3
This makes it possible to run with RUSTFLAGS="-Zself-profile" without having to redirect compiler output; otherwise Cargo will error out due to non-empty compiler stdout.
2018-11-25Make JSON output from -Zprofile-json validMark Rousskov-1/+1
2018-11-25Rollup merge of #56170 - wesleywiser:fix_self_profiler_windows, r=estebankPietro Albini-2/+15
Fix self profiler ICE on Windows Fixes #51648
2018-11-24[Windows] Work around non-monotonic clocks in the self-profilerWesley Wiser-2/+15
On Windows, the high-resolution timestamp api doesn't seem to always be monotonic. This can cause panics when the self-profiler uses the `Instant` api to find elapsed time. Work around this by detecting the case where now is less than the start time and just use 0 elapsed ticks as the measurement. Fixes #51648
2018-11-19Fix json output in the self-profilerWesley Wiser-2/+13
Fix missing ',' array element separators and convert NaN's to 0.
2018-09-29don't elide lifetimes in paths in librustc/Zack M. Davis-1/+1
This seemed like a good way to kick the tires on the elided-lifetimes-in-paths lint (#52069)—seems to work! This was also pretty tedious—it sure would be nice if `cargo fix` worked on this codebase (#53896)!
2018-08-29Replace usages of 'bad_style' with 'nonstandard_style'.Corey Farwell-1/+1
`bad_style` is being deprecated in favor of `nonstandard_style`: - https://github.com/rust-lang/rust/issues/41646
2018-08-23use String::new() instead of String::from(""), "".to_string(), "".to_owned() ↵Matthias Krüger-1/+1
or "".into()
2018-08-02Generate self-profiler types with macrosWesley Wiser-130/+91
2018-08-02Fix tidyWesley Wiser-12/+25
2018-08-02Remove some dead codeWesley Wiser-17/+1
2018-08-02Include additional data in the json outputWesley Wiser-2/+11
2018-08-02Include query hits/totalsWesley Wiser-3/+10
2018-08-02Refactor json printingWesley Wiser-35/+21
2018-08-02First pass at json outputWesley Wiser-0/+45
2018-08-02Remove redundant s in outputWesley Wiser-1/+1
2018-08-02Switch to markdown outputWesley Wiser-12/+15
2018-08-02Add units to timesWesley Wiser-1/+1
2018-08-02Basic incremental statsWesley Wiser-7/+40
2018-08-02Basic profilingWesley Wiser-0/+207