#include <limits>
#include <stdint.h>
#include "src/trace_processor/importers/common/args_translation_table.h"
#include "src/trace_processor/importers/common/process_tracker.h"
#include "src/trace_processor/importers/common/slice_tracker.h"
#include "src/trace_processor/importers/common/slice_translation_table.h"
#include "src/trace_processor/importers/common/track_tracker.h"
#include "src/trace_processor/storage/trace_storage.h"
#include "src/trace_processor/types/trace_processor_context.h"
namespace perfetto {
namespace trace_processor {
SliceTracker::SliceTracker(TraceProcessorContext* context)
: … { … }
SliceTracker::~SliceTracker() = default;
std::optional<SliceId> SliceTracker::Begin(int64_t timestamp,
TrackId track_id,
StringId category,
StringId raw_name,
SetArgsCallback args_callback) { … }
void SliceTracker::BeginLegacyUnnestable(tables::SliceTable::Row row,
SetArgsCallback args_callback) { … }
std::optional<SliceId> SliceTracker::Scoped(int64_t timestamp,
TrackId track_id,
StringId category,
StringId raw_name,
int64_t duration,
SetArgsCallback args_callback) { … }
std::optional<SliceId> SliceTracker::End(int64_t timestamp,
TrackId track_id,
StringId category,
StringId raw_name,
SetArgsCallback args_callback) { … }
std::optional<uint32_t> SliceTracker::AddArgs(TrackId track_id,
StringId category,
StringId name,
SetArgsCallback args_callback) { … }
std::optional<SliceId> SliceTracker::StartSlice(
int64_t timestamp,
TrackId track_id,
SetArgsCallback args_callback,
std::function<SliceId()> inserter) { … }
std::optional<SliceId> SliceTracker::CompleteSlice(
int64_t timestamp,
TrackId track_id,
SetArgsCallback args_callback,
std::function<std::optional<uint32_t>(const SlicesStack&)> finder) { … }
std::optional<uint32_t> SliceTracker::MatchingIncompleteSliceIndex(
const SlicesStack& stack,
StringId name,
StringId category) { … }
void SliceTracker::MaybeAddTranslatableArgs(SliceInfo& slice_info) { … }
void SliceTracker::FlushPendingSlices() { … }
void SliceTracker::SetOnSliceBeginCallback(OnSliceBeginCallback callback) { … }
std::optional<SliceId> SliceTracker::GetTopmostSliceOnTrack(
TrackId track_id) const { … }
void SliceTracker::MaybeCloseStack(int64_t ts,
const SlicesStack& stack,
TrackId track_id) { … }
int64_t SliceTracker::GetStackHash(const SlicesStack& stack) { … }
void SliceTracker::StackPop(TrackId track_id) { … }
void SliceTracker::StackPush(TrackId track_id,
tables::SliceTable::RowReference ref) { … }
}
}