Skip to main content

Crate ghostscope_protocol

Crate ghostscope_protocol 

Source
Expand description

GhostScope Protocol Library

Provides types and functionality for the GhostScope tracing protocol.

Re-exports§

pub use trace_event::EndInstructionData;
pub use trace_event::ExprErrorData;
pub use trace_event::InstructionHeader;
pub use trace_event::InstructionType;
pub use trace_event::PrintComplexFormatArgPrefix;
pub use trace_event::PrintStringIndexData;
pub use trace_event::PrintVariableIndexData;
pub use trace_event::TraceEventHeader;
pub use trace_event::TraceEventMessage;
pub use trace_event::VariableReadErrorPayload;
pub use trace_event::VariableStatus;
pub use trace_event::END_INSTRUCTION_DATA_OFFSET;
pub use trace_event::END_INSTRUCTION_EXECUTION_STATUS_OFFSET;
pub use trace_event::END_INSTRUCTION_TOTAL_INSTRUCTIONS_OFFSET;
pub use trace_event::EXPR_ERROR_DATA_ERROR_CODE_OFFSET;
pub use trace_event::EXPR_ERROR_DATA_FAILING_ADDR_OFFSET;
pub use trace_event::EXPR_ERROR_DATA_FLAGS_OFFSET;
pub use trace_event::EXPR_ERROR_DATA_SIZE;
pub use trace_event::EXPR_ERROR_DATA_STRING_INDEX_OFFSET;
pub use trace_event::INSTRUCTION_HEADER_DATA_LENGTH_OFFSET;
pub use trace_event::INSTRUCTION_HEADER_INST_TYPE_OFFSET;
pub use trace_event::INSTRUCTION_HEADER_RESERVED_OFFSET;
pub use trace_event::INSTRUCTION_HEADER_SIZE;
pub use trace_event::PRINT_COMPLEX_FORMAT_ARG_ACCESS_PATH_LEN_OFFSET;
pub use trace_event::PRINT_COMPLEX_FORMAT_ARG_ACCESS_PATH_OFFSET;
pub use trace_event::PRINT_COMPLEX_FORMAT_ARG_DATA_LEN_SIZE;
pub use trace_event::PRINT_COMPLEX_FORMAT_ARG_FIXED_HEADER_LEN;
pub use trace_event::PRINT_COMPLEX_FORMAT_ARG_STATUS_OFFSET;
pub use trace_event::PRINT_COMPLEX_FORMAT_ARG_TYPE_INDEX_OFFSET;
pub use trace_event::PRINT_COMPLEX_FORMAT_ARG_VAR_NAME_INDEX_OFFSET;
pub use trace_event::PRINT_COMPLEX_FORMAT_DATA_ARG_COUNT_OFFSET;
pub use trace_event::TRACE_EVENT_HEADER_MAGIC_OFFSET;
pub use trace_event::TRACE_EVENT_HEADER_SIZE;
pub use trace_event::TRACE_EVENT_MESSAGE_PID_OFFSET;
pub use trace_event::TRACE_EVENT_MESSAGE_SIZE;
pub use trace_event::TRACE_EVENT_MESSAGE_TID_OFFSET;
pub use trace_event::TRACE_EVENT_MESSAGE_TIMESTAMP_OFFSET;
pub use trace_event::TRACE_EVENT_MESSAGE_TRACE_ID_OFFSET;
pub use trace_event::VARIABLE_READ_ERROR_PAYLOAD_ADDR_OFFSET;
pub use trace_event::VARIABLE_READ_ERROR_PAYLOAD_ERRNO_OFFSET;
pub use trace_event::VARIABLE_READ_ERROR_PAYLOAD_LEN;
pub use bpf_abi::backtrace_unwind_row_from_words;
pub use bpf_abi::backtrace_unwind_row_register_word;
pub use bpf_abi::backtrace_unwind_row_word;
pub use bpf_abi::BacktraceModuleRowRange;
pub use bpf_abi::BacktraceTailCallState;
pub use bpf_abi::BacktraceUnwindRow;
pub use bpf_abi::PidAliasValue;
pub use bpf_abi::ProcModuleKey;
pub use bpf_abi::ProcModuleOffsetsValue;
pub use bpf_abi::ProcModuleRangeKey;
pub use bpf_abi::ProcModuleRangeMeta;
pub use bpf_abi::ProcModuleRangeValue;
pub use bpf_abi::BACKTRACE_MODULE_ROW_RANGE_ROW_END_OFFSET;
pub use bpf_abi::BACKTRACE_MODULE_ROW_RANGE_ROW_START_OFFSET;
pub use bpf_abi::BACKTRACE_MODULE_ROW_RANGE_SIZE;
pub use bpf_abi::BACKTRACE_RA_AT_CFA_OFFSET;
pub use bpf_abi::BACKTRACE_RA_REGISTER;
pub use bpf_abi::BACKTRACE_RA_SAME_VALUE;
pub use bpf_abi::BACKTRACE_RA_UNDEFINED;
pub use bpf_abi::BACKTRACE_RA_VAL_CFA_OFFSET;
pub use bpf_abi::BACKTRACE_RECOVERY_AT_CFA_OFFSET;
pub use bpf_abi::BACKTRACE_RECOVERY_REGISTER;
pub use bpf_abi::BACKTRACE_RECOVERY_SAME_VALUE;
pub use bpf_abi::BACKTRACE_RECOVERY_UNDEFINED;
pub use bpf_abi::BACKTRACE_RECOVERY_VAL_CFA_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_NO_NEXT_SLOT;
pub use bpf_abi::BACKTRACE_TAIL_STATE_ACTIVE_SLOT_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_CURRENT_IP_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_CURRENT_RBP_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_CURRENT_RSP_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_ERROR_CODE_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_EVENT_SIZE_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_FLAGS_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_FRAME_COUNT_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_INST_OFFSET_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_MODULE_BIAS_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_NEXT_SLOT_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_OFFSETS_FOUND_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_REQUESTED_DEPTH_OFFSET;
pub use bpf_abi::BACKTRACE_TAIL_STATE_SIZE;
pub use bpf_abi::BACKTRACE_TAIL_STATE_TAIL_CALLS_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_CFA_OFFSET_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_CFA_REGISTER_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_PC_END_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_PC_START_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_RA_KIND_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_RA_OFFSET_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_RA_REGISTER_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_RBP_KIND_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_RBP_OFFSET_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_RBP_REGISTER_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_ROW_SIZE;
pub use bpf_abi::BACKTRACE_UNWIND_WORDS_PER_ROW;
pub use bpf_abi::BACKTRACE_UNWIND_WORD_CFA_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_WORD_PC_END;
pub use bpf_abi::BACKTRACE_UNWIND_WORD_PC_START;
pub use bpf_abi::BACKTRACE_UNWIND_WORD_RA_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_WORD_RBP_OFFSET;
pub use bpf_abi::BACKTRACE_UNWIND_WORD_REGISTERS;
pub use bpf_abi::PID_ALIAS_VALUE_PROC_PID_OFFSET;
pub use bpf_abi::PID_ALIAS_VALUE_SIZE;
pub use bpf_abi::PROC_MODULE_KEY_PAD_OFFSET;
pub use bpf_abi::PROC_MODULE_KEY_PID_OFFSET;
pub use bpf_abi::PROC_MODULE_KEY_SIZE;
pub use bpf_abi::PROC_MODULE_OFFSETS_VALUE_BASE_OFFSET;
pub use bpf_abi::PROC_MODULE_OFFSETS_VALUE_BSS_OFFSET;
pub use bpf_abi::PROC_MODULE_OFFSETS_VALUE_DATA_OFFSET;
pub use bpf_abi::PROC_MODULE_OFFSETS_VALUE_RODATA_OFFSET;
pub use bpf_abi::PROC_MODULE_OFFSETS_VALUE_SIZE;
pub use bpf_abi::PROC_MODULE_OFFSETS_VALUE_SIZE_OFFSET;
pub use bpf_abi::PROC_MODULE_OFFSETS_VALUE_TEXT_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_KEY_INDEX_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_KEY_PAD_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_KEY_PID_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_KEY_SIZE;
pub use bpf_abi::PROC_MODULE_RANGE_KEY_SLOT_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_META_ACTIVE_SLOT_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_META_COUNT_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_META_SIZE;
pub use bpf_abi::PROC_MODULE_RANGE_VALUE_BASE_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_VALUE_END_OFFSET;
pub use bpf_abi::PROC_MODULE_RANGE_VALUE_SIZE;
pub use bpf_abi::PROC_MODULE_RANGE_VALUE_TEXT_OFFSET;
pub use trace_context::TraceContext;
pub use format_printer::FormatPrinter;
pub use streaming_parser::EventSource;
pub use streaming_parser::ParseState;
pub use streaming_parser::ParsedBacktraceFrame;
pub use streaming_parser::ParsedInstruction;
pub use streaming_parser::ParsedTraceEvent;
pub use streaming_parser::StreamingTraceParser;
pub use type_info::EnumVariant;
pub use type_info::StructMember;
pub use type_info::TypeCache;
pub use type_info::TypeInfo;
pub use type_info::TypeQualifier;
pub use ghostscope_platform as platform;

Modules§

bpf_abi
Shared eBPF map key/value ABI.
consts
Protocol constants
format_printer
Format printer for complex print instructions
streaming_parser
trace_context
Trace context for managing strings, types, and variable names
trace_event
type_info
Type information system for GhostScope

Enums§

TypeKind
Variable type kind - used by compiler and streaming parser for runtime classification