#include "src/trace_processor/importers/common/clock_tracker.h"
#include <time.h>
#include <algorithm>
#include <atomic>
#include <cinttypes>
#include <queue>
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/hash.h"
#include "src/trace_processor/storage/trace_storage.h"
#include "src/trace_processor/types/trace_processor_context.h"
#include "protos/perfetto/common/builtin_clock.pbzero.h"
#include "protos/perfetto/trace/clock_snapshot.pbzero.h"
namespace perfetto {
namespace trace_processor {
Clock;
ClockTracker::ClockTracker(TraceProcessorContext* context)
: … { … }
ClockTracker::~ClockTracker() = default;
base::StatusOr<uint32_t> ClockTracker::AddSnapshot(
const std::vector<ClockTimestamp>& clock_timestamps) { … }
ClockTracker::ClockPath ClockTracker::FindPath(ClockId src, ClockId target) { … }
std::optional<int64_t> ClockTracker::ToTraceTimeFromSnapshot(
const std::vector<ClockTimestamp>& snapshot) { … }
base::StatusOr<int64_t> ClockTracker::ConvertSlowpath(ClockId src_clock_id,
int64_t src_timestamp,
ClockId target_clock_id) { … }
}
}