#include "src/trace_processor/importers/proto/network_trace_module.h"
#include "perfetto/ext/base/string_writer.h"
#include "protos/perfetto/trace/interned_data/interned_data.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/slice_tracker.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/trace_storage.h"
#include "src/trace_processor/types/tcp_state.h"
namespace perfetto {
namespace trace_processor {
namespace {
constexpr int kPerUserRange = …;
base::StackString<12> GetTcpFlagMask(uint32_t tcp_flags) { … }
}
NetworkPacketBundle;
NetworkPacketEvent;
TracePacket;
TrafficDirection;
ConstBytes;
NetworkTraceModule::NetworkTraceModule(TraceProcessorContext* context)
: … { … }
ModuleResult NetworkTraceModule::TokenizePacket(
const protos::pbzero::TracePacket::Decoder& decoder,
TraceBlobView*,
int64_t ts,
RefPtr<PacketSequenceStateGeneration> state,
uint32_t field_id) { … }
void NetworkTraceModule::ParseTracePacketData(
const TracePacket::Decoder& decoder,
int64_t ts,
const TracePacketData&,
uint32_t field_id) { … }
void NetworkTraceModule::ParseGenericEvent(
int64_t ts,
int64_t dur,
int64_t length,
int64_t count,
protos::pbzero::NetworkPacketEvent::Decoder& evt) { … }
StringId NetworkTraceModule::GetIpProto(NetworkPacketEvent::Decoder& evt) { … }
void NetworkTraceModule::ParseNetworkPacketEvent(int64_t ts, ConstBytes blob) { … }
void NetworkTraceModule::ParseNetworkPacketBundle(int64_t ts, ConstBytes blob) { … }
void NetworkTraceModule::PushPacketBufferForSort(
int64_t timestamp,
RefPtr<PacketSequenceStateGeneration> state) { … }
}
}