Struct pprof::protos::Location[][src]

pub struct Location {
    pub id: u64,
    pub mapping_id: u64,
    pub address: u64,
    pub line: Vec<Line>,
    pub is_folded: bool,
}

Describes function and line table debug information.

Fields

id: u64

Unique nonzero id for the location. A profile could use instruction addresses or any integer sequence as ids.

mapping_id: u64

The id of the corresponding profile.Mapping for this location. It can be unset if the mapping is unknown or not applicable for this profile type.

address: u64

The instruction address for this location, if available. It should be within [Mapping.memory_start…Mapping.memory_limit] for the corresponding mapping. A non-leaf address may be in the middle of a call instruction. It is up to display tools to find the beginning of the instruction if necessary.

line: Vec<Line>

Multiple line indicates this location has inlined functions, where the last entry represents the caller into which the preceding entries were inlined.

E.g., if memcpy() is inlined into printf: line[0].function_name == “memcpy” line[1].function_name == “printf”

is_folded: bool

Provides an indication that multiple symbols map to this location’s address, for example due to identical code folding by the linker. In that case the line information above represents one of the multiple symbols. This field must be recomputed when the symbolization state of the profile changes.

Trait Implementations

impl Clone for Location[src]

impl Debug for Location[src]

impl Default for Location[src]

impl Message for Location[src]

impl PartialEq<Location> for Location[src]

impl StructuralPartialEq for Location[src]

Auto Trait Implementations

impl RefUnwindSafe for Location

impl Send for Location

impl Sync for Location

impl Unpin for Location

impl UnwindSafe for Location

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]