pub struct CompileOptions {Show 20 fields
pub save_llvm_ir: bool,
pub save_ebpf: bool,
pub save_ast: bool,
pub binary_path_hint: Option<String>,
pub target_binary_path: Option<String>,
pub ringbuf_size: u64,
pub proc_module_offsets_max_entries: u64,
pub backtrace_unwind_rows_max_entries: u32,
pub perf_page_count: u32,
pub event_map_type: EventMapType,
pub mem_dump_cap: u32,
pub compare_cap: u32,
pub max_trace_event_size: u32,
pub backtrace_depth: u8,
pub selected_index: Option<usize>,
pub pid_filter_spec: Option<PidFilterSpec>,
pub special_pid_ns: Option<PidNamespaceId>,
pub proc_offsets_pid_ns: Option<PidNamespaceId>,
pub input_pid: Option<u32>,
pub runtime_capabilities: RuntimeCapabilities,
}Expand description
Compilation options including save options and eBPF map configuration
Fields§
§save_llvm_ir: bool§save_ebpf: bool§save_ast: bool§binary_path_hint: Option<String>§target_binary_path: Option<String>Explicit -t target path. When present, trace target resolution is
scoped to this module even if DWARF was loaded from a -p PID.
ringbuf_size: u64§proc_module_offsets_max_entries: u64§backtrace_unwind_rows_max_entries: u32Fixed capacity for DWARF compact CFI rows used by bt.
perf_page_count: u32§event_map_type: EventMapType§mem_dump_cap: u32Max bytes to read per memory-dump argument (format {:x}/{:s}).
compare_cap: u32Max bytes to compare for string/memory comparisons (strncmp/starts_with/memcmp)
max_trace_event_size: u32Max total bytes in a single trace event (used for PerfEventArray accumulation buffer size).
backtrace_depth: u8Max DWARF-unwound frames captured by each bt/backtrace instruction.
selected_index: Option<usize>Optional single-address filter: if set, only the Nth (1-based) address resolved for a target will be compiled. When None, compile all.
pid_filter_spec: Option<PidFilterSpec>Optional PID filter strategy override. When None, compiler falls back to HostTgid using compile_script(pid).
special_pid_ns: Option<PidNamespaceId>Optional PID namespace context used by special vars like $pid/$tid.
This is independent of PID filtering and is primarily for -t mode.
proc_offsets_pid_ns: Option<PidNamespaceId>Optional PID namespace context used by proc_module_offsets lookups.
In -p mode this only switches to the target PID-namespace view when
GhostScope has an explicit namespace-local target PID that can be
aliased back to the /proc key used to populate
proc_module_offsets. Otherwise it stays on GhostScope’s current
/proc-visible PID view.
In -t mode we continue to use GhostScope’s own /proc view, because
offsets are discovered from /proc/<pid>/maps in that namespace.
input_pid: Option<u32>Optional original -p input PID for $input_pid.
This is only available in -p mode.
runtime_capabilities: RuntimeCapabilitiesRuntime/backend capabilities used to validate DWARF variable read plans.
Trait Implementations§
Source§impl Clone for CompileOptions
impl Clone for CompileOptions
Source§fn clone(&self) -> CompileOptions
fn clone(&self) -> CompileOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompileOptions
impl Debug for CompileOptions
Auto Trait Implementations§
impl Freeze for CompileOptions
impl RefUnwindSafe for CompileOptions
impl Send for CompileOptions
impl Sync for CompileOptions
impl Unpin for CompileOptions
impl UnsafeUnpin for CompileOptions
impl UnwindSafe for CompileOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more