Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | List of all members
v8::metrics::Recorder Class Reference

#include <v8-metrics.h>

Classes

class  ContextId
 

Public Member Functions

virtual ~Recorder ()=default
 
virtual void AddMainThreadEvent (const GarbageCollectionFullCycle &, ContextId)
 
virtual void AddMainThreadEvent (const GarbageCollectionFullMainThreadIncrementalMark &, ContextId)
 
virtual void AddMainThreadEvent (const GarbageCollectionFullMainThreadBatchedIncrementalMark &, ContextId)
 
virtual void AddMainThreadEvent (const GarbageCollectionFullMainThreadIncrementalSweep &, ContextId)
 
virtual void AddMainThreadEvent (const GarbageCollectionFullMainThreadBatchedIncrementalSweep &, ContextId)
 
virtual void AddMainThreadEvent (const GarbageCollectionYoungCycle &, ContextId)
 
virtual void AddMainThreadEvent (const WasmModuleDecoded &, ContextId)
 
virtual void AddMainThreadEvent (const WasmModuleCompiled &, ContextId)
 
virtual void AddMainThreadEvent (const WasmModuleInstantiated &, ContextId)
 
virtual void AddThreadSafeEvent (const WasmModulesPerIsolate &)
 
virtual void NotifyIsolateDisposal ()
 

Static Public Member Functions

static MaybeLocal< ContextGetContext (Isolate *isolate, ContextId id)
 
static ContextId GetContextId (Local< Context > context)
 

Detailed Description

This class serves as a base class for recording event-based metrics in V8. There a two kinds of metrics, those which are expected to be thread-safe and whose implementation is required to fulfill this requirement and those whose implementation does not have that requirement and only needs to be executable on the main thread. If such an event is triggered from a background thread, it will be delayed and executed by the foreground task runner.

The embedder is expected to call v8::Isolate::SetMetricsRecorder() providing its implementation and have the virtual methods overwritten for the events it cares about.

Constructor & Destructor Documentation

◆ ~Recorder()

virtual v8::metrics::Recorder::~Recorder ( )
virtualdefault

Member Function Documentation

◆ AddMainThreadEvent() [1/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const GarbageCollectionFullCycle ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [2/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const GarbageCollectionFullMainThreadBatchedIncrementalMark ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [3/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const GarbageCollectionFullMainThreadBatchedIncrementalSweep ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [4/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const GarbageCollectionFullMainThreadIncrementalMark ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [5/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const GarbageCollectionFullMainThreadIncrementalSweep ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [6/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const GarbageCollectionYoungCycle ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [7/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const WasmModuleCompiled ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [8/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const WasmModuleDecoded ,
ContextId   
)
inlinevirtual

◆ AddMainThreadEvent() [9/9]

virtual void v8::metrics::Recorder::AddMainThreadEvent ( const WasmModuleInstantiated ,
ContextId   
)
inlinevirtual

◆ AddThreadSafeEvent()

virtual void v8::metrics::Recorder::AddThreadSafeEvent ( const WasmModulesPerIsolate )
inlinevirtual

◆ GetContext()

static MaybeLocal< Context > v8::metrics::Recorder::GetContext ( Isolate isolate,
ContextId  id 
)
static

◆ GetContextId()

static ContextId v8::metrics::Recorder::GetContextId ( Local< Context context)
static

◆ NotifyIsolateDisposal()

virtual void v8::metrics::Recorder::NotifyIsolateDisposal ( )
inlinevirtual

The documentation for this class was generated from the following file: