FabricEvent

Enum FabricEvent 

Source
pub enum FabricEvent {
Show 50 variants LeaseAcquired { resource_type: ResourceType, lease_id: u64, node: String, bytes: u64, trace_id: Option<String>, }, LeaseDropped { resource_type: ResourceType, lease_id: u64, node: String, }, LeaseExpired { resource_type: ResourceType, lease_id: u64, node: String, }, OpCompleted { op_type: OpType, duration_us: u64, bytes: u64, }, OpFailed { op_type: OpType, error: String, }, RewriteStarted { plan_id: u64, }, RewriteCompleted { plan_id: u64, phase: RewritePhase, }, ServiceRegistered { name: String, version: String, }, ServiceDeregistered { name: String, }, MessagePublished { topic: String, bytes: u64, }, MessageConsumed { topic: String, group: String, }, ObjectStored { bucket: String, key: String, bytes: u64, }, ObjectRetrieved { bucket: String, key: String, bytes: u64, }, LeaseRevoked { resource_type: ResourceType, lease_id: u64, node: String, trace_id: Option<String>, }, LeaseFenced { resource_type: ResourceType, lease_id: u64, node: String, reason: String, trace_id: Option<String>, }, TeardownFailed { resource_type: ResourceType, lease_id: u64, node: String, error: String, }, AuthFailed { node: String, reason: String, trace_id: Option<String>, }, ReplayRejected { node: String, nonce: u64, trace_id: Option<String>, }, TokenValidationFailed { node: String, reason: String, }, ListenerAcquired { port: u16, node: String, lease_id: u64, }, ListenerRevoked { port: u16, node: String, lease_id: u64, }, ListenerFenced { port: u16, node: String, lease_id: u64, reason: String, }, SessionAccepted { listener_port: u16, session_id: u64, node: String, }, SessionClosed { listener_port: u16, session_id: u64, node: String, }, SessionDrained { listener_port: u16, sessions_drained: u32, node: String, }, ServiceDeployed { name: String, instance_count: u32, }, ServiceInstanceStateChanged { name: String, instance_id: u64, state: String, }, ServiceCutoverStarted { name: String, }, ServiceCutoverCompleted { name: String, }, ServiceFailoverTriggered { name: String, reason: String, }, ServiceFailoverCompleted { name: String, }, ServiceIngressFenced { name: String, instance_id: u64, }, ServiceUndeployed { name: String, }, TaskletSubmitted { tasklet_id: u64, node: String, runtime_type: String, trace_id: Option<String>, }, TaskletCompleted { tasklet_id: u64, status: u8, duration_us: u64, output_bytes: u64, runtime_type: String, trace_id: Option<String>, }, TaskletFailed { tasklet_id: u64, status: u8, duration_us: u64, reason: String, runtime_type: String, trace_id: Option<String>, }, SecurityProfileActive { mode: String, }, AdmissionApproved { tenant_id: String, node: String, resource_type: String, bytes: u64, trace_id: Option<String>, }, AdmissionDenied { tenant_id: String, resource_type: String, reason: String, trace_id: Option<String>, }, PlacementDecision { tenant_id: String, node: String, strategy: String, score: f64, trace_id: Option<String>, }, PreemptionTriggered { victim_lease_id: u64, victim_tenant: String, preemptor_tenant: String, node: String, trace_id: Option<String>, }, QuotaExceeded { tenant_id: String, resource_type: String, requested: u64, limit: u64, trace_id: Option<String>, }, TokenMinted { tenant_id: String, node: String, ttl_secs: u32, trace_id: Option<String>, }, ProcessStarted { pid: String, scenario: String, nodes: String, }, ProcessHeartbeat { pid: String, }, ProcessCompleted { pid: String, exit_code: i32, duration_secs: u64, }, SchedulerElectionLost { reason: String, epoch: u64, }, SchedulerPromotionFailed { reason: String, epoch: u64, }, SchedulerStaleLeaderDetected { local_epoch: u64, node_epoch: u64, }, SchedulerPromoted { epoch: u64, nodes_fenced: usize, latency_ms: u64, },
}
Expand description

An observable fabric event.

Each variant captures the relevant context for a single observable occurrence in the grafOS system. Events are passed to an EventSink or stored in an EventRingBuffer for later inspection.

All variants implement Display for human-readable output and Clone for buffering.

Variants§

§

LeaseAcquired

A new lease was acquired.

Fields

§resource_type: ResourceType

Kind of resource leased.

§lease_id: u64

Unique lease identifier.

§node: String

Node address (e.g. "10.10.0.11").

§bytes: u64

Size of the leased region in bytes.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

LeaseDropped

A lease was dropped (normal release).

Fields

§resource_type: ResourceType

Kind of resource released.

§lease_id: u64

Unique lease identifier.

§node: String

Node address.

§

LeaseExpired

A lease expired without being dropped.

Fields

§resource_type: ResourceType

Kind of resource whose lease expired.

§lease_id: u64

Unique lease identifier.

§node: String

Node address.

§

OpCompleted

A data-plane operation completed successfully.

Fields

§op_type: OpType

Operation type (read, write, etc.).

§duration_us: u64

Duration in microseconds.

§bytes: u64

Bytes transferred.

§

OpFailed

A data-plane operation failed.

Fields

§op_type: OpType

Operation type that failed.

§error: String

Error description.

§

RewriteStarted

A graph rewrite plan started execution.

Fields

§plan_id: u64

Unique rewrite plan identifier.

§

RewriteCompleted

A graph rewrite plan completed a phase.

Fields

§plan_id: u64

Unique rewrite plan identifier.

§phase: RewritePhase

Phase that was completed.

§

ServiceRegistered

A service was registered in the service registry.

Fields

§name: String

Service name.

§version: String

Service version.

§

ServiceDeregistered

A service was deregistered from the service registry.

Fields

§name: String

Service name.

§

MessagePublished

A message was published to a topic.

Fields

§topic: String

Topic name.

§bytes: u64

Message size in bytes.

§

MessageConsumed

A message was consumed from a topic.

Fields

§topic: String

Topic name.

§group: String

Consumer group.

§

ObjectStored

An object was stored in a bucket.

Fields

§bucket: String

Bucket name.

§key: String

Object key.

§bytes: u64

Object size in bytes.

§

ObjectRetrieved

An object was retrieved from a bucket.

Fields

§bucket: String

Bucket name.

§key: String

Object key.

§bytes: u64

Object size in bytes.

§

LeaseRevoked

A lease was explicitly revoked (not just expired).

Fields

§resource_type: ResourceType

Kind of resource revoked.

§lease_id: u64

Unique lease identifier.

§node: String

Node address.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

LeaseFenced

A resource entered fenced state after teardown failure.

Fields

§resource_type: ResourceType

Kind of resource fenced.

§lease_id: u64

Unique lease identifier.

§node: String

Node address.

§reason: String

Reason for fencing.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

TeardownFailed

A teardown operation failed.

Fields

§resource_type: ResourceType

Kind of resource whose teardown failed.

§lease_id: u64

Unique lease identifier.

§node: String

Node address.

§error: String

Error description.

§

AuthFailed

An authentication attempt failed.

Fields

§node: String

Node address.

§reason: String

Reason for failure.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

ReplayRejected

An anti-replay cache rejected a message.

Fields

§node: String

Node address.

§nonce: u64

Rejected nonce.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

TokenValidationFailed

A capability token validation failed.

Fields

§node: String

Node address.

§reason: String

Reason for failure.

§

ListenerAcquired

A service listener was acquired (bound to a port).

Fields

§port: u16

Port number.

§node: String

Node address.

§lease_id: u64

Lease identifier.

§

ListenerRevoked

A service listener was revoked.

Fields

§port: u16

Port number.

§node: String

Node address.

§lease_id: u64

Lease identifier.

§

ListenerFenced

A service listener entered fenced state.

Fields

§port: u16

Port number.

§node: String

Node address.

§lease_id: u64

Lease identifier.

§reason: String

Reason for fencing.

§

SessionAccepted

A session was accepted on a service listener.

Fields

§listener_port: u16

Listener port.

§session_id: u64

Session identifier.

§node: String

Node address.

§

SessionClosed

A session was closed on a service listener.

Fields

§listener_port: u16

Listener port.

§session_id: u64

Session identifier.

§node: String

Node address.

§

SessionDrained

Sessions were drained from a service listener.

Fields

§listener_port: u16

Listener port.

§sessions_drained: u32

Number of sessions drained.

§node: String

Node address.

§

ServiceDeployed

A service was deployed with replicated instances.

Fields

§name: String

Service name.

§instance_count: u32

Number of instances.

§

ServiceInstanceStateChanged

A service instance changed state.

Fields

§name: String

Service name.

§instance_id: u64

Instance identifier.

§state: String

New state description.

§

ServiceCutoverStarted

A planned service cutover started.

Fields

§name: String

Service name.

§

ServiceCutoverCompleted

A planned service cutover completed.

Fields

§name: String

Service name.

§

ServiceFailoverTriggered

An unplanned service failover was triggered.

Fields

§name: String

Service name.

§reason: String

Reason for failover.

§

ServiceFailoverCompleted

An unplanned service failover completed.

Fields

§name: String

Service name.

§

ServiceIngressFenced

A service instance’s ingress was fenced.

Fields

§name: String

Service name.

§instance_id: u64

Instance identifier.

§

ServiceUndeployed

A service was undeployed.

Fields

§name: String

Service name.

§

TaskletSubmitted

A tasklet was submitted for execution.

Fields

§tasklet_id: u64

Unique tasklet identifier.

§node: String

Node address where the tasklet will execute.

§runtime_type: String

Runtime type that will execute this tasklet.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

TaskletCompleted

A tasklet completed successfully.

Fields

§tasklet_id: u64

Unique tasklet identifier.

§status: u8

Status code (STATUS_OK).

§duration_us: u64

Execution duration in microseconds.

§output_bytes: u64

Output size in bytes.

§runtime_type: String

Runtime type that executed this tasklet.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

TaskletFailed

A tasklet execution failed.

Fields

§tasklet_id: u64

Unique tasklet identifier.

§status: u8

Status code (error code).

§duration_us: u64

Execution duration in microseconds.

§reason: String

Failure reason description.

§runtime_type: String

Runtime type that executed this tasklet.

§trace_id: Option<String>

W3C traceparent correlation ID (55 chars) for distributed tracing.

§

SecurityProfileActive

The active security profile at daemon startup.

Fields

§mode: String

Profile mode (e.g. "secure-default" or "trusted-fabric").

§

AdmissionApproved

A scheduler admission request was approved.

Fields

§tenant_id: String

Tenant identifier.

§node: String

Node address where resources were admitted.

§resource_type: String

Kind of resource admitted.

§bytes: u64

Size of the admitted resource in bytes.

§trace_id: Option<String>

W3C traceparent correlation ID for distributed tracing.

§

AdmissionDenied

A scheduler admission request was denied.

Fields

§tenant_id: String

Tenant identifier.

§resource_type: String

Kind of resource requested.

§reason: String

Reason for denial.

§trace_id: Option<String>

W3C traceparent correlation ID for distributed tracing.

§

PlacementDecision

A placement decision was made by the scheduler.

Fields

§tenant_id: String

Tenant identifier.

§node: String

Node address chosen for placement.

§strategy: String

Placement strategy used.

§score: f64

Placement score (higher is better).

§trace_id: Option<String>

W3C traceparent correlation ID for distributed tracing.

§

PreemptionTriggered

A lease preemption was triggered by the scheduler.

Fields

§victim_lease_id: u64

Lease identifier of the victim.

§victim_tenant: String

Tenant that owns the preempted lease.

§preemptor_tenant: String

Tenant that triggered the preemption.

§node: String

Node address where preemption occurred.

§trace_id: Option<String>

W3C traceparent correlation ID for distributed tracing.

§

QuotaExceeded

A tenant exceeded their resource quota.

Fields

§tenant_id: String

Tenant identifier.

§resource_type: String

Kind of resource that exceeded quota.

§requested: u64

Amount requested in bytes.

§limit: u64

Quota limit in bytes.

§trace_id: Option<String>

W3C traceparent correlation ID for distributed tracing.

§

TokenMinted

A capability token was minted by the scheduler.

Fields

§tenant_id: String

Tenant identifier.

§node: String

Node address the token is scoped to.

§ttl_secs: u32

Token time-to-live in seconds.

§trace_id: Option<String>

W3C traceparent correlation ID for distributed tracing.

§

ProcessStarted

A process (scenario) started execution.

Fields

§pid: String

Process identifier (OS PID as string).

§scenario: String

Scenario name.

§nodes: String

Comma-separated node addresses.

§

ProcessHeartbeat

A heartbeat from a running process.

Fields

§pid: String

Process identifier (OS PID as string).

§

ProcessCompleted

A process (scenario) completed execution.

Fields

§pid: String

Process identifier (OS PID as string).

§exit_code: i32

Exit code (0 = success).

§duration_secs: u64

Duration in seconds.

§

SchedulerElectionLost

The scheduler lost its election (meta-lease renewal failure, etc.).

Fields

§reason: String

Human-readable reason for the loss.

§epoch: u64

Leader epoch at the time of loss.

§

SchedulerPromotionFailed

The scheduler failed to promote after acquiring the meta-lease.

Fields

§reason: String

Human-readable reason for the failure.

§epoch: u64

Leader epoch at the time of failure.

§

SchedulerStaleLeaderDetected

A stale leader was detected during fencing (local epoch < node epoch).

Fields

§local_epoch: u64

Local epoch the scheduler believed was current.

§node_epoch: u64

Epoch observed on the node (higher than local).

§

SchedulerPromoted

The scheduler successfully promoted to Active.

Fields

§epoch: u64

New leader epoch after promotion.

§nodes_fenced: usize

Number of nodes successfully fenced.

§latency_ms: u64

Time from meta-lease acquisition to Active state (milliseconds).

Trait Implementations§

Source§

impl Clone for FabricEvent

Source§

fn clone(&self) -> FabricEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FabricEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for FabricEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.