#[repr(C, align(128))]pub struct GpuObjectEvent {Show 14 fields
pub event_id: u64,
pub object_id: u64,
pub activity_id: u32,
pub event_type: u8,
pub _padding1: [u8; 3],
pub timestamp: HybridTimestamp,
pub resource_id: u32,
pub cost: f32,
pub duration_ms: u32,
pub flags: u32,
pub attributes: [u32; 4],
pub object_type_id: u32,
pub related_object_id: u64,
pub _reserved: [u8; 36],
}Expand description
GPU-compatible process event (128 bytes, cache-line aligned).
Represents a single event in an event log, optimized for GPU processing.
Fields§
§event_id: u64Unique event identifier.
object_id: u64Case/trace identifier (object ID in OCPM terms).
activity_id: u32Activity identifier.
event_type: u8Event type (start, complete, etc.).
_padding1: [u8; 3]Padding for alignment.
timestamp: HybridTimestampEvent timestamp with HLC.
resource_id: u32Resource that performed the activity.
cost: f32Cost associated with the event.
duration_ms: u32Duration in milliseconds (for interval events).
flags: u32Event flags (custom attributes).
attributes: [u32; 4]Custom attribute values.
object_type_id: u32Object type identifier (for OCPM).
Related object ID (for object relationships).
_reserved: [u8; 36]Reserved for future use.
Implementations§
Source§impl GpuObjectEvent
impl GpuObjectEvent
Sourcepub fn new(
event_id: u64,
object_id: u64,
activity_id: u32,
event_type: EventType,
timestamp: HybridTimestamp,
) -> Self
pub fn new( event_id: u64, object_id: u64, activity_id: u32, event_type: EventType, timestamp: HybridTimestamp, ) -> Self
Create a new event.
Sourcepub fn get_event_type(&self) -> EventType
pub fn get_event_type(&self) -> EventType
Get the event type.
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Check if this is a complete event.
Trait Implementations§
Source§impl Archive for GpuObjectEvent
impl Archive for GpuObjectEvent
Source§type Archived = ArchivedGpuObjectEvent
type Archived = ArchivedGpuObjectEvent
The archived representation of this type. Read more
Source§type Resolver = GpuObjectEventResolver
type Resolver = GpuObjectEventResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for GpuObjectEvent
impl Clone for GpuObjectEvent
Source§fn clone(&self) -> GpuObjectEvent
fn clone(&self) -> GpuObjectEvent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GpuObjectEvent
impl Debug for GpuObjectEvent
Source§impl Default for GpuObjectEvent
impl Default for GpuObjectEvent
Source§impl<__D: Fallible + ?Sized> Deserialize<GpuObjectEvent, __D> for Archived<GpuObjectEvent>where
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
u8: Archive,
Archived<u8>: Deserialize<u8, __D>,
[u8; 3]: Archive,
Archived<[u8; 3]>: Deserialize<[u8; 3], __D>,
HybridTimestamp: Archive,
Archived<HybridTimestamp>: Deserialize<HybridTimestamp, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
[u32; 4]: Archive,
Archived<[u32; 4]>: Deserialize<[u32; 4], __D>,
[u8; 36]: Archive,
Archived<[u8; 36]>: Deserialize<[u8; 36], __D>,
impl<__D: Fallible + ?Sized> Deserialize<GpuObjectEvent, __D> for Archived<GpuObjectEvent>where
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
u8: Archive,
Archived<u8>: Deserialize<u8, __D>,
[u8; 3]: Archive,
Archived<[u8; 3]>: Deserialize<[u8; 3], __D>,
HybridTimestamp: Archive,
Archived<HybridTimestamp>: Deserialize<HybridTimestamp, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
[u32; 4]: Archive,
Archived<[u32; 4]>: Deserialize<[u32; 4], __D>,
[u8; 36]: Archive,
Archived<[u8; 36]>: Deserialize<[u8; 36], __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<GpuObjectEvent, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<GpuObjectEvent, __D::Error>
Deserializes using the given deserializer
impl Copy for GpuObjectEvent
Auto Trait Implementations§
impl Freeze for GpuObjectEvent
impl RefUnwindSafe for GpuObjectEvent
impl Send for GpuObjectEvent
impl Sync for GpuObjectEvent
impl Unpin for GpuObjectEvent
impl UnwindSafe for GpuObjectEvent
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.