aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/profiler
Commit message (Collapse)AuthorAge
* Introduce an Extrema aggregator.Gravatar nharmata2018-02-28
| | | | | RELNOTES: None PiperOrigin-RevId: 187370833
* Add functionality to MemoryProfiler to do multiple garbage collections at ↵Gravatar janakr2018-02-28
| | | | | | the end of the build in an effort to get an accurate measurement of used memory. PiperOrigin-RevId: 187337487
* Accept Durations in the CriticalPathComponent and Profiler.Gravatar ccalvarin2018-02-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 186658512
* Fix Callcounts crash.Gravatar tomlu2018-02-15
| | | | | | | We call Map#put in Map#computeIfAbsent. No idea how this ever worked. RELNOTES: None PiperOrigin-RevId: 185876437
* Remove :foundation from the export list of :packages.Gravatar tomlu2017-11-09
| | | | | | Exports makes it hard to reason statically about which targets actually depend on any given target. It also tends to turn targets into buckets with everything, creating unnecessary edges. PiperOrigin-RevId: 175080282
* Replace all usages of Blaze's Preconditions class with guava.Gravatar tomlu2017-11-09
| | | | | | | | Blaze had its own class to avoid GC from varargs array creation for the precondition happy path. Guava now (mostly) implements these, making it unnecessary to maintain our own. This change was almost entirely automated by search-and-replace. A few BUILD files needed fixing up since I removed an export of preconditions from lib:util, which was all done by add_deps. There was one incorrect usage of Preconditions that was caught by error prone (which checks Guava's version of Preconditions) that I had to change manually. PiperOrigin-RevId: 175033526
* Thread FileSystem through to a single Path#delete call site.Gravatar tomlu2017-10-30
| | | | | | This requires a fairly large amount of changes to fundamental objects like BlazeRuntime, Executor, and so on, as well as changing a lot of test code to thread the file system through. I expect future CLs to be much smaller. PiperOrigin-RevId: 173678144
* Add memory profiler.Gravatar tomlu2017-10-18
| | | | | | | | | | | This adds two dump command, bazel dump --rules and bazel dump --skylark_memory. dump --rules outputs a summary of the count, action count, and memory consumption of each rule and aspect class. dump --skylark_memory outputs a pprof-compatible file with all Skylark analysis allocations. Users can then use pprof as per normal to analyse their builds. RELNOTES: Add memory profiler. PiperOrigin-RevId: 172558600
* Add callcount system for blaze developers.Gravatar tomlu2017-10-16
| | | | | | | | | | | This simple system allows blaze developers to insert instrumentations in particular methods that they want to know: 1. How often are they called? 2. From which call sites are they called, with full call stack The output is a pprof file that can then be analysed offline. PiperOrigin-RevId: 172128440
* Fix #3102 HtmlChart is uncoloredGravatar Andreas Hippler2017-09-12
| | | | | | Closes #3697. PiperOrigin-RevId: 168353082
* More BUILD file refactorings.Gravatar philwo2017-09-06
| | | | | | | | | Split collect, concurrent, vfs, windows into package-level BUILD files. Move clock classes out of "util", into their own Java package. Move CompactHashSet into its own Java package to break a dependency cycle. Give nestedset and inmemoryfs their own package-level BUILD files. PiperOrigin-RevId: 167702127
* Fix assorted ErrorProne warnings.Gravatar lberki2017-09-06
| | | | | RELNOTES: None. PiperOrigin-RevId: 167574104
* Rename all logger instances to "logger" (instead "LOG" or "log").Gravatar lberki2017-09-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 167505493
* Split the cycle between vfs and profiler.Gravatar philwo2017-08-31
| | | | | | | | | | - Move ProfilerInfo into a subpackage (it's not necessary for profiling, just for analyzing a profile). - Make some fields in Profiler public for ProfileInfo. - Mark Profiler as ThreadSafe; there's no cyclic dependency here. This is based on ulfjack's microbazel patch series: https://github.com/ulfjack/bazel/commit/44553fcac0fc876784d8f48c2e577d8c999712de PiperOrigin-RevId: 167121952
* Remove ide_build_info command.Gravatar dslomov2017-07-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 160951982
* Undo Java 8 updates to fix bootstrapping on MacOS.Gravatar laszlocsomor2017-06-30
| | | | | | | Fixes fallout from https://github.com/bazelbuild/bazel/commit/fda985b069ed4cc1966a6ced5743c396f91ac688. RELNOTES: none PiperOrigin-RevId: 160626838
* Automated conversion to Java 8Gravatar laurentlb2017-06-30
| | | | | | | With a few manual fixes for readability. RELNOTES: None. PiperOrigin-RevId: 160582556
* Adding support for SHA256 for remote execution. Switch remote execution to useGravatar olaola2017-06-20
| | | | | | | | | the currently defined hash function for blobs. Some refactoring. Adding an option to set the hash function in the remote worker, defaulting to the current behavior (unfortunately it is a build option, have not found a clean way to specify it at runtime). BUG=62622420 TESTED=remote worker RELNOTES: none PiperOrigin-RevId: 159473116
* Refactor AutoProfiler to enable other loggers to work.Gravatar Janak Ramakrishnan2017-02-17
| | | | | | -- PiperOrigin-RevId: 147734029 MOS_MIGRATED_REVID=147734029
* Add desired type of Profiler action to error message on crash. Also use ↵Gravatar Janak Ramakrishnan2017-01-25
| | | | | | | | Preconditions check because stringification is lazy. -- PiperOrigin-RevId: 145560352 MOS_MIGRATED_REVID=145560352
* Make "profile --html --html_details" not crash.Gravatar Lukacs Berki2017-01-03
| | | | | | | | Fixes #2325. -- PiperOrigin-RevId: 143434786 MOS_MIGRATED_REVID=143434786
* Tolerate null variable values in Profiler. This can happen when the build ↵Gravatar Janak Ramakrishnan2016-06-15
| | | | | | | finishes, which calls #clear (via #stop via BlazeRuntime#afterCommand), concurrently with an OOM or other asynchronous crash which invokes CommandCompleteEvent subscribers, which may try to write profiling data. -- MOS_MIGRATED_REVID=124853610
* Fix NPE in vfs profile outputGravatar Kristina Chodorow2016-02-03
| | | | | | | | | Also removed some unused code while I was here. Fixes https://github.com/bazelbuild/bazel/issues/726. -- MOS_MIGRATED_REVID=113758464
* Allow AutoProfiler to not log if below a caller-specified threshold, and set ↵Gravatar Janak Ramakrishnan2016-02-01
| | | | | | | the threshold to 100 ms for two common local actions to avoid spamming the INFO log too much. I would be happy to set the threshold even higher. -- MOS_MIGRATED_REVID=113413914
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Record histogram and other statistics for the ProfileTask objects. In case ↵Gravatar Miguel Alcon Pinto2015-11-19
| | | | | | | of recording VFS_ stats we try to catalog the access base on the path type. -- MOS_MIGRATED_REVID=108238357
* Add profiler support for compiled Skylark.Gravatar Florian Weikert2015-11-10
| | | | | -- MOS_MIGRATED_REVID=107416625
* Add HTML profiler execution phase statisticsGravatar Klaas Boesche2015-10-13
| | | | | | | | Re-adds the missing execution phase statistics which got lost in the recent ProfileCommand refactoring. -- MOS_MIGRATED_REVID=105340677
* Add combine option for multiple profile file statsGravatar Klaas Boesche2015-10-09
| | | | | | | | Add the --combine option to produce a single aggregated statistics output for multiple profile files. Outputs neither Skylark histograms nor the task chart. -- MOS_MIGRATED_REVID=105051164
* Refactor SkylarkStatistics to reduce size.Gravatar Klaas Boesche2015-10-05
| | | | | | | | | Does not save all Tasks anymore and generates TasksStatistics on the fly. Adds an ArrayList implementation for primitive longs to efficiently save a lot of task duration data. Necessary when loading lots of profile files. -- MOS_MIGRATED_REVID=104656311
* Make CriticalPathStatistics output optional.Gravatar Klaas Boesche2015-10-05
| | | | | | | | Does not change the default output, but allows reuse of PhaseText without outputting those statistics. -- MOS_MIGRATED_REVID=104653246
* Add options for reducing the size of the HTML output: --[no]chart for ↵Gravatar Klaas Boesche2015-10-05
| | | | | | | omitting the Gantt-style charts of all tasks and --[no]histograms to omit Skylark histograms which require adding huge amounts of data to the output. Especially necessary when combining data from multiple profile files. -- MOS_MIGRATED_REVID=104646190
* Add --task_tree and --task_tree_threshold options.Gravatar Klaas Boesche2015-10-02
| | | | | | | | Options allow displaying some tasks in more detail, e.g. for inspecting what exactly a Skylark user-defined function calls and how long that takes. -- MOS_MIGRATED_REVID=104505599
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Heavily refactor ProfileCommand to separate output and statistics generation ↵Gravatar Klaas Boesche2015-09-22
| | | | | | | and enable their reuse -- MOS_MIGRATED_REVID=103634406
* Remove html title handling from Chart, ChartCreators, and HtmlChartVisitor, ↵Gravatar Klaas Boesche2015-09-21
| | | | | | | handle in HtmlCreator -- MOS_MIGRATED_REVID=103528221
* Add self-time relative to total time in HTML profiling output, enables ↵Gravatar Klaas Boesche2015-09-15
| | | | | | | finding optimizable functions faster. -- MOS_MIGRATED_REVID=103081207
* refactor usage of ProfilePhaseStatistics, no need to hand it around via ChartGravatar Klaas Boesche2015-09-15
| | | | | -- MOS_MIGRATED_REVID=103079475
* Save subtasks for Skylark function profiler tasks and then report self time ↵Gravatar Klaas Boesche2015-09-09
| | | | | | | of function calls in HTML output -- MOS_MIGRATED_REVID=102663672
* Modifications and improvements to AutoProfiler to reflect how it will be ↵Gravatar Nathan Harmata2015-09-02
| | | | | | | | | | used in the codebase: -Add integration with Profiler. -Add support for merely getting the elapsed time. -- MOS_MIGRATED_REVID=102165325
* Show a column with the location of a skylark function in HTML profiling ↵Gravatar Googler2015-09-02
| | | | | | | statistics. -- MOS_MIGRATED_REVID=102143715
* Fix incorrect rendering of first histogram on click in tableGravatar Googler2015-09-02
| | | | | -- MOS_MIGRATED_REVID=102138513
* Collect Skylark profile info and create HTML statistics when --html_details ↵Gravatar Googler2015-09-02
| | | | | | | given -- MOS_MIGRATED_REVID=102046602
* Add profiling for Skylark lexer, parser, user- and built-in functions.Gravatar Googler2015-08-28
| | | | | -- MOS_MIGRATED_REVID=101769963
* Add some utilities and relax some visibility restrictions to make ↵Gravatar Janak Ramakrishnan2015-06-19
| | | | | | | alternative include scanning implementations possible. -- MOS_MIGRATED_REVID=96337469
* Description redacted.Gravatar Googler2015-05-29
| | | | | -- MOS_MIGRATED_REVID=94674209
* Use VFS_READLINK rather than VFS_LINK, to avoid confusion with theGravatar Han-Wen Nienhuys2015-03-13
| | | | | | | link system call. -- MOS_MIGRATED_REVID=88441395
* Some cleanup changes.Gravatar Ulf Adams2015-03-05
| | | | | -- MOS_MIGRATED_REVID=87821306
* Update from Google.Gravatar Han-Wen Nienhuys2015-02-25
-- MOE_MIGRATED_REVID=85702957