Expand description
§perfetto-sdk-protos-trace-processor
Trace processor protobuf bindings for the Perfetto Rust SDK.
This crate provides auto-generated Rust types for Perfetto trace processor
protobuf messages, enabling communication with
trace_processor_shell serve http via its HTTP+protobuf RPC interface.
§Usage
use perfetto_sdk::heap_buffer::HeapBuffer;
use perfetto_sdk::pb_msg::{PbMsg, PbMsgWriter};
use perfetto_sdk_protos_trace_processor::protos::trace_processor
::trace_processor::QueryArgsFieldNumber;
/// Encode a SQL query as a QueryArgs protobuf message.
fn encode_query(sql: &str) -> Vec<u8> {
let writer = PbMsgWriter::new();
let hb = HeapBuffer::new(writer.stream_writer());
let mut msg = PbMsg::new(&writer).unwrap();
msg.append_cstr_field(QueryArgsFieldNumber::SqlQuery as u32, sql);
msg.finalize();
let size = writer.stream_writer().get_written_size();
let mut buffer = vec![0u8; size];
hb.copy_into(&mut buffer);
buffer
}§Related crates
| Crate | Description |
|---|---|
perfetto-sdk | Main SDK with tracing session and track event APIs |
perfetto-sdk-protos-gpu | GPU event protobuf bindings |
Modules§
- pb_msg
- Re-export pb_msg macro from this crate. Protobuf message module.
- protos
- Protobuf bindings module.
Macros§
- pb_enum
- Re-export pb_enum macro from this crate. Defines a protobuf enum.
- pb_msg
- Re-export pb_msg macro from this crate. Defines a protobuf message.
- pb_
msg_ ext - Re-export pb_msg_ext macro from this crate. Defines extra fields for a protobuf message.