#include "src/trace_processor/importers/proto/statsd_module.h"
#include "perfetto/ext/base/string_utils.h"
#include "perfetto/protozero/scattered_heap_buffer.h"
#include "protos/perfetto/trace/statsd/statsd_atom.pbzero.h"
#include "protos/perfetto/trace/trace_packet.pbzero.h"
#include "src/trace_processor/importers/common/async_track_set_tracker.h"
#include "src/trace_processor/importers/common/machine_tracker.h"
#include "src/trace_processor/importers/common/slice_tracker.h"
#include "src/trace_processor/importers/common/track_tracker.h"
#include "src/trace_processor/importers/proto/args_parser.h"
#include "src/trace_processor/importers/proto/packet_sequence_state_generation.h"
#include "src/trace_processor/sorter/trace_sorter.h"
#include "src/trace_processor/storage/stats.h"
#include "src/trace_processor/storage/trace_storage.h"
#include "src/trace_processor/util/descriptors.h"
#include "src/trace_processor/importers/proto/atoms.descriptor.h"
namespace perfetto {
namespace trace_processor {
namespace {
constexpr const char* kAtomProtoName = …;
base::Status ParseGenericEvent(const protozero::ConstBytes& cb,
util::ProtoToArgsParser::Delegate& delegate) { … }
}
StatsdAtom;
TracePacket;
PoolAndDescriptor::PoolAndDescriptor(const uint8_t* data,
size_t size,
const char* name) { … }
PoolAndDescriptor::~PoolAndDescriptor() = default;
StatsdModule::StatsdModule(TraceProcessorContext* context)
: … { … }
StatsdModule::~StatsdModule() = default;
ModuleResult StatsdModule::TokenizePacket(
const TracePacket::Decoder& decoder,
TraceBlobView* ,
int64_t packet_timestamp,
RefPtr<PacketSequenceStateGeneration> state,
uint32_t field_id) { … }
void StatsdModule::ParseTracePacketData(const TracePacket::Decoder& decoder,
int64_t ts,
const TracePacketData&,
uint32_t field_id) { … }
void StatsdModule::ParseAtom(int64_t ts, protozero::ConstBytes nested_bytes) { … }
StringId StatsdModule::GetAtomName(uint32_t atom_field_id) { … }
AsyncTrackSetTracker::TrackSetId StatsdModule::InternAsyncTrackSetId() { … }
}
}