95template <
typename EventType>
100using GarbageCollectionFullMainThreadBatchedIncrementalMark =
103using GarbageCollectionFullMainThreadBatchedIncrementalSweep =
118#if defined(CPPGC_YOUNG_GENERATION)
131 size_t module_size_in_bytes, size_t function_count,
132 int64_t wall_clock_duration_in_us)
152 bool lazy,
bool success, size_t code_size_in_bytes,
153 size_t liftoff_bailout_count,
154 int64_t wall_clock_duration_in_us)
188
189
190
191
192
193
194
195
196
197
198
199
208 bool IsEmpty()
const {
return id_ == kEmptyId; }
218 explicit ContextId(uintptr_t id) : id_(id) {}
220 static constexpr uintptr_t kEmptyId = 0;
228#define ADD_MAIN_THREAD_EVENT(E)
229 virtual void AddMainThreadEvent(const E&, ContextId) {}
239#undef ADD_MAIN_THREAD_EVENT
247#define ADD_THREAD_SAFE_EVENT(E)
248 virtual void AddThreadSafeEvent(const E&) {}
250#undef ADD_THREAD_SAFE_EVENT
262
263
264
265
266
267
268
271
272
278
279
static V8_INLINE void IncrementLongTasksStatsCounter(v8::Isolate *isolate)
static const ContextId Empty()
bool operator!=(const ContextId &other) const
bool operator==(const ContextId &other) const
virtual ~Recorder()=default
static MaybeLocal< Context > GetContext(Isolate *isolate, ContextId id)
static ContextId GetContextId(Local< Context > context)
virtual void NotifyIsolateDisposal()
std::vector< EventType > events
int64_t incremental_marking_start_stop_wall_clock_duration_in_us
double collection_weight_cpp_in_percent
int64_t external_memory_bytes
double efficiency_in_bytes_per_us
GarbageCollectionSizes objects
GarbageCollectionPhases main_thread_incremental
GarbageCollectionPhases main_thread_atomic_cpp
GarbageCollectionPhases total
GarbageCollectionLimits global_consumed
int incremental_marking_reason
GarbageCollectionPhases main_thread
double main_thread_collection_weight_cpp_in_percent
int64_t total_duration_since_last_mark_compact
double collection_rate_cpp_in_percent
GarbageCollectionPhases main_thread_incremental_cpp
GarbageCollectionPhases main_thread_cpp
GarbageCollectionSizes memory_cpp
double main_thread_efficiency_in_bytes_per_us
double collection_weight_in_percent
GarbageCollectionPhases total_cpp
GarbageCollectionPhases main_thread_atomic
double efficiency_cpp_in_bytes_per_us
double main_thread_collection_weight_in_percent
double main_thread_efficiency_cpp_in_bytes_per_us
GarbageCollectionSizes objects_cpp
double collection_rate_in_percent
GarbageCollectionLimits old_generation_consumed
std::optional< v8::Isolate::Priority > priority
GarbageCollectionSizes memory
int64_t cpp_wall_clock_duration_in_us
int64_t wall_clock_duration_in_us
int64_t cpp_wall_clock_duration_in_us
int64_t wall_clock_duration_in_us
int64_t weak_wall_clock_duration_in_us
int64_t total_wall_clock_duration_in_us
int64_t sweep_wall_clock_duration_in_us
int64_t mark_wall_clock_duration_in_us
int64_t compact_wall_clock_duration_in_us
int64_t total_wall_clock_duration_in_us
double efficiency_in_bytes_per_us
int64_t main_thread_wall_clock_duration_in_us
double main_thread_efficiency_in_bytes_per_us
double collection_rate_in_percent
std::optional< v8::Isolate::Priority > priority
int64_t gc_full_incremental_wall_clock_duration_us
int64_t gc_young_wall_clock_duration_us
static V8_INLINE void Reset(Isolate *isolate)
int64_t gc_full_atomic_wall_clock_duration_us
static LongTaskStats Get(Isolate *isolate)
size_t liftoff_bailout_count
WasmModuleCompiled()=default
WasmModuleCompiled(bool async, bool streamed, bool cached, bool deserialized, bool lazy, bool success, size_t code_size_in_bytes, size_t liftoff_bailout_count, int64_t wall_clock_duration_in_us)
size_t code_size_in_bytes
int64_t wall_clock_duration_in_us
WasmModuleDecoded()=default
WasmModuleDecoded(bool async, bool streamed, bool success, size_t module_size_in_bytes, size_t function_count, int64_t wall_clock_duration_in_us)
size_t module_size_in_bytes
int64_t wall_clock_duration_in_us
size_t imported_function_count
int64_t wall_clock_duration_in_us
#define ADD_MAIN_THREAD_EVENT(E)
#define ADD_THREAD_SAFE_EVENT(E)