#include "src/trace_processor/importers/proto/v8_sequence_state.h"
#include <optional>
#include "protos/perfetto/trace/chrome/v8.pbzero.h"
#include "protos/perfetto/trace/interned_data/interned_data.pbzero.h"
#include "src/trace_processor/importers/proto/packet_sequence_state_generation.h"
#include "src/trace_processor/importers/proto/string_encoding_utils.h"
#include "src/trace_processor/importers/proto/v8_tracker.h"
#include "src/trace_processor/storage/stats.h"
#include "src/trace_processor/storage/trace_storage.h"
#include "src/trace_processor/tables/v8_tables_py.h"
namespace perfetto {
namespace trace_processor {
namespace {
InternedData;
InternedV8JsFunction;
InternedV8String;
protozero::ConstBytes ToConstBytes(const TraceBlobView& view) { … }
}
V8SequenceState::V8SequenceState(TraceProcessorContext* context)
: … { … }
V8SequenceState::~V8SequenceState() = default;
std::optional<IsolateId> V8SequenceState::GetOrInsertIsolate(uint64_t iid) { … }
std::optional<tables::V8JsFunctionTable::Id>
V8SequenceState::GetOrInsertJsFunction(uint64_t iid, IsolateId isolate_id) { … }
std::optional<tables::V8WasmScriptTable::Id>
V8SequenceState::GetOrInsertWasmScript(uint64_t iid, IsolateId isolate_id) { … }
std::optional<tables::V8JsScriptTable::Id> V8SequenceState::GetOrInsertJsScript(
uint64_t iid,
IsolateId v8_isolate_id) { … }
std::optional<StringId> V8SequenceState::GetOrInsertJsFunctionName(
uint64_t iid) { … }
}
}