#include "base/functional/callback.h"
#include "base/task/sequenced_task_runner.h"
#include "services/tracing/public/cpp/perfetto/perfetto_session.h"
#include "services/tracing/public/cpp/perfetto/trace_packet_tokenizer.h"
#include "third_party/perfetto/include/perfetto/ext/tracing/core/trace_packet.h"
#include "third_party/perfetto/protos/perfetto/common/trace_stats.gen.h"
namespace tracing {
double GetTraceBufferUsage(const perfetto::protos::gen::TraceStats& stats) { … }
bool HasLostData(const perfetto::protos::gen::TraceStats& stats) { … }
void ReadTraceStats(
const perfetto::TracingSession::GetTraceStatsCallbackArgs& args,
base::OnceCallback<void(bool success, float percent_full, bool data_loss)>
on_stats_callback,
const scoped_refptr<base::SequencedTaskRunner>& task_runner) { … }
void ReadTraceAsJson(
const perfetto::TracingSession::ReadTraceCallbackArgs& args,
const scoped_refptr<
base::RefCountedData<std::unique_ptr<TracePacketTokenizer>>>& tokenizer,
base::OnceCallback<void(std::unique_ptr<std::string>)> on_data_callback,
base::OnceClosure on_data_complete_callback,
const scoped_refptr<base::SequencedTaskRunner>& task_runner) { … }
void ReadTraceAsProtobuf(
const perfetto::TracingSession::ReadTraceCallbackArgs& args,
base::OnceCallback<void(std::unique_ptr<std::string>)> on_data_callback,
base::OnceClosure on_data_complete_callback,
const scoped_refptr<base::SequencedTaskRunner>& task_runner) { … }
}