v8/test/unittests/heap/cppgc
Omer Katz adda4c5f98 cppgc: Add UMA support
This CL introduces cppgc::HistogramRecorder api which is similar to the
v8::metrics::Recorder api and is used by cppgc to report histogram
samples to embedders. Embedders should implement the api if they want to
collect histograms and provide an instance of it on heap creation.

CppHeap uses an adaptor class that implements the HistogramRecorder api
and is used to forward the relevant info to the relevant
v8::metrics::Recorder.

The api used 3 data structures: 2 for incremental steps that need to be
reported as they come (marking and sweeping) and 1 for the end of a GC
cycle that aggregates statistics over the entire cycle.
The data structure only provide the "raw" samples (e.g. atomic mark
time, incremental mark time, etc...). The embedder is expected to
compute aggregate histogram on its own (e.g. overall marking time).

Bug: chromium:1056170
Change-Id: If63ef50a29a21594f654edb83084598980d221ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642258
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72256}
2021-01-22 15:04:35 +00:00
..
compactor-unittest.cc Reland "cppgc: Use tracing scopes" 2020-11-20 09:53:23 +00:00
concurrent-marking-unittest.cc cppgc: Add bailout for concurrent marking 2020-10-09 15:04:32 +00:00
concurrent-sweeper-unittest.cc cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
cross-thread-persistent-unittest.cc Migrate CrossThreadPersistent 2020-10-09 14:33:57 +00:00
custom-spaces-unittest.cc cppgc: Mark custom spaces as compactable 2020-10-06 14:59:22 +00:00
ephemeron-pair-unittest.cc cppgc: Support ephemeron tracing 2020-10-15 10:01:23 +00:00
finalizer-trait-unittest.cc cppgc: Rename unittest files 2020-05-08 08:50:48 +00:00
free-list-unittest.cc cppgc: Rename unittest files 2020-05-08 08:50:48 +00:00
garbage-collected-unittest.cc cppgc: Use object start bitmap to trace mixins 2020-07-10 12:00:45 +00:00
gc-info-unittest.cc cppgc: Add naming infrastructure 2020-10-08 12:25:21 +00:00
gc-invoker-unittest.cc cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
heap-growing-unittest.cc cppgc: Add UMA support 2021-01-22 15:04:35 +00:00
heap-object-header-unittest.cc cppgc: Move AccessMode to globals.h 2020-10-22 14:10:34 +00:00
heap-page-unittest.cc cppgc: Remove -inl.h files 2020-07-01 08:46:26 +00:00
heap-unittest.cc heap,cppgc: Support for termination GC 2021-01-19 14:08:18 +00:00
incremental-marking-schedule-unittest.cc cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
logging-unittest.cc cppgc: Rename unittest files 2020-05-08 08:50:48 +00:00
marker-unittest.cc cppgc: Expose write barriers 2020-11-24 17:41:11 +00:00
marking-verifier-unittest.cc cppgc: Allow MarkingVerifier to be specialized for unified heap 2020-10-21 12:58:49 +00:00
marking-visitor-unittest.cc cppgc: Support weak containers 2020-10-22 14:01:04 +00:00
member-unittest.cc cppgc: Add support for const T in Member and friends 2021-01-14 09:10:25 +00:00
metric-recorder-unittest.cc cppgc: Add UMA support 2021-01-22 15:04:35 +00:00
minor-gc-unittest.cc cppgc: Refactor write barriers 2020-11-25 15:29:24 +00:00
name-trait-unittest.cc cppgc: Add naming infrastructure 2020-10-08 12:25:21 +00:00
object-start-bitmap-unittest.cc cppgc: Remove -inl.h files 2020-07-01 08:46:26 +00:00
page-memory-unittest.cc [cppgc][unittests] Only expect guard pages support on 4k platforms. 2020-10-20 16:54:38 +00:00
persistent-family-unittest.cc cppgc: Add support for const T in Member and friends 2021-01-14 09:10:25 +00:00
prefinalizer-unittest.cc cppgc: Use object start bitmap to trace mixins 2020-07-10 12:00:45 +00:00
run-all-unittests.cc cppgc: Hello world 2020-03-23 21:42:56 +00:00
source-location-unittest.cc cppgc: Rename unittest files 2020-05-08 08:50:48 +00:00
stack-unittest.cc Disable GCStackTest.IteratePointersFindsParameterNesting8 for MSVC 2020-10-02 09:08:46 +00:00
stats-collector-scopes-unittest.cc cppgc: Add UMA support 2021-01-22 15:04:35 +00:00
stats-collector-unittest.cc cppgc: Add UMA support 2021-01-22 15:04:35 +00:00
sweeper-unittest.cc cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
test-platform.cc cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
test-platform.h [config] Add V8_NODISCARD for Scope classes 2020-11-26 11:08:45 +00:00
tests.cc cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
tests.h cppgc: Fix perfetto build 2020-11-27 06:57:16 +00:00
visitor-unittest.cc cppgc: Use object start bitmap to trace mixins 2020-07-10 12:00:45 +00:00
weak-container-unittest.cc cppgc: Expose write barriers 2020-11-24 17:41:11 +00:00
write-barrier-unittest.cc [config] Add V8_NODISCARD for Scope classes 2020-11-26 11:08:45 +00:00