#include "third_party/blink/renderer/bindings/core/v8/profiler_trace_builder.h"
#include "base/time/time.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_profiler_frame.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_profiler_marker.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_profiler_sample.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_profiler_stack.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_profiler_trace.h"
#include "third_party/blink/renderer/core/timing/performance.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
#include "v8/include/v8.h"
namespace blink {
ProfilerTrace* ProfilerTraceBuilder::FromProfile(
ScriptState* script_state,
const v8::CpuProfile* profile,
const SecurityOrigin* allowed_origin,
base::TimeTicks time_origin) { … }
ProfilerTraceBuilder::ProfilerTraceBuilder(ScriptState* script_state,
const SecurityOrigin* allowed_origin,
base::TimeTicks time_origin)
: … { … }
void ProfilerTraceBuilder::Trace(Visitor* visitor) const { … }
void ProfilerTraceBuilder::AddSample(
const v8::CpuProfileNode* node,
base::TimeTicks timestamp,
const v8::StateTag state,
const v8::EmbedderStateTag embedder_state) { … }
std::optional<wtf_size_t> ProfilerTraceBuilder::GetOrInsertStackId(
const v8::CpuProfileNode* node) { … }
wtf_size_t ProfilerTraceBuilder::GetOrInsertFrameId(
const v8::CpuProfileNode* node) { … }
wtf_size_t ProfilerTraceBuilder::GetOrInsertResourceId(
const char* resource_name) { … }
ProfilerTrace* ProfilerTraceBuilder::GetTrace() const { … }
bool ProfilerTraceBuilder::ShouldIncludeStackFrame(
const v8::CpuProfileNode* node) { … }
}