Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
a5d4ab9
feat: add runtime resource snapshots to the Rust core
mnajafian-nv Oct 15, 2026
0e016fd
feat: expose runtime resource snapshots in the Python SDK
mnajafian-nv Oct 15, 2026
ce4f5f4
docs: document runtime resource snapshots
mnajafian-nv Oct 15, 2026
d5a09f9
docs: state which exited descendants count toward snapshot CPU time
mnajafian-nv Oct 15, 2026
85f1e5a
refactor: queue macOS snapshot children with their usage
mnajafian-nv Oct 16, 2026
c846c78
fix: check each macOS snapshot child is still the listed process
mnajafian-nv Oct 16, 2026
ba3404a
fix: report a snapshot as unavailable when a runtime process cannot b…
mnajafian-nv Oct 16, 2026
5cf94dc
perf: read only the runtime's own processes on Linux
mnajafian-nv Oct 16, 2026
9c54d0a
docs: regenerate API references for unavailable snapshot reads
mnajafian-nv Oct 16, 2026
888230b
fix: read macOS snapshots from each process's children
mnajafian-nv Oct 16, 2026
ced92e8
docs: explain unavailable and unsupported resource snapshots
mnajafian-nv Oct 16, 2026
8e52556
test: name the snapshot mapping test for both checks it makes
mnajafian-nv Oct 16, 2026
2e9cfed
docs: regenerate API references for resource snapshot docs
mnajafian-nv Oct 16, 2026
e46f641
docs: stop saying a later snapshot explains a missing result snapshot
mnajafian-nv Oct 16, 2026
f4cba23
docs: list a changing process tree and hidepid among snapshot limits
mnajafian-nv Oct 16, 2026
0371c19
docs: regenerate API references for resource snapshot error docs
mnajafian-nv Oct 16, 2026
e7665eb
refactor: move the RFC 3339 formatter into a shared time module
mnajafian-nv Oct 16, 2026
3d0b6ed
fix: check the parent's generation before counting a Linux child
mnajafian-nv Oct 16, 2026
b2e92f2
fix: make a Linux snapshot unavailable when /proc hides a descendant
mnajafian-nv Oct 16, 2026
5e39195
docs: state that a hidden descendant makes a snapshot unavailable
mnajafian-nv Oct 16, 2026
2f76f8c
docs: regenerate the Rust reference for the hidepid module doc
mnajafian-nv Oct 16, 2026
2fcc672
test: lower the exited-child CPU threshold to two clock ticks
mnajafian-nv Oct 16, 2026
24407bb
docs: name NeMo Fabric in the resource snapshot docs
mnajafian-nv Oct 16, 2026
778d8d8
docs: regenerate the references for the snapshot product name
mnajafian-nv Oct 16, 2026
395efa6
test: say the exited-child threshold is two ticks only on Linux
mnajafian-nv Oct 16, 2026
c723c68
fix: require RFC 3339 UTC resource snapshot timestamps
mnajafian-nv Oct 16, 2026
5b0033b
fix: require the full RFC 3339 shape for snapshot timestamps
mnajafian-nv Oct 16, 2026
83a93bb
Merge upstream main into feat/runtime-resource-snapshots
mnajafian-nv Oct 16, 2026
bc75c39
docs: regenerate references after merging main
mnajafian-nv Oct 16, 2026
9c89293
Merge upstream main into feat/runtime-resource-snapshots
mnajafian-nv Oct 18, 2026
8c9e6b3
Merge upstream main into feat/runtime-resource-snapshots
mnajafian-nv Oct 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions crates/fabric-core/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,26 @@ pub enum FabricError {
/// Environment handle id.
environment_id: String,
},
/// A runtime's resources cannot be read now: the runtime stopped, is
/// stopping, its adapter host process exited, a live process in its tree
/// or the process table cannot be read, or the process tree kept changing
/// during the read.
#[error("resource observation is unavailable for runtime `{runtime_id}`: {reason}")]
ResourceObservationUnavailable {
/// Runtime handle id.
runtime_id: String,
/// Why the runtime cannot be observed.
reason: String,
},
/// The runtime's adapter kind, environment provider, or operating system has
/// no resource reader.
#[error("resource observation is unsupported for runtime `{runtime_id}`: {reason}")]
ResourceObservationUnsupported {
/// Runtime handle id.
runtime_id: String,
/// What has no resource reader.
reason: String,
},
/// Process adapter settings were invalid.
#[error("invalid process adapter settings for {path}: {source}")]
InvalidProcessSettings {
Expand Down
7 changes: 5 additions & 2 deletions crates/fabric-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ pub mod config;
pub mod doctor;
mod environment;
pub mod error;
pub mod resource_snapshot;
pub mod runtime;
pub mod schema;
mod task_command;
mod time;

pub use adapter_contract::{ADAPTER_CONTRACT_VERSION, AdapterExtensionPoint};
pub use agent_execution::{
Expand Down Expand Up @@ -40,6 +42,7 @@ pub use config::{
};
pub use doctor::{DoctorCheck, DoctorReport, DoctorStatus, doctor_plan};
pub use error::{FabricError, Result};
pub use resource_snapshot::RuntimeResourceSnapshot;
pub use runtime::{
AdapterInvocation, ArtifactManifest, ArtifactRef, EnvironmentHandle, EnvironmentReference,
ErrorInfo, ErrorStage, FabricEvent, InvocationHandle, OpenAiChatCompletionChunk,
Expand All @@ -49,8 +52,8 @@ pub use runtime::{
RunRequest, RunResult, RunStatus, RunUsage, RuntimeContext, RuntimeHandle,
RuntimeTelemetryContext, ServiceHandle, ServiceOwnership, ServiceReference, TelemetryRef,
attach_environment, attach_service, invoke_openai_stream, invoke_runtime, prepare_environment,
prepare_service, release_environment, release_service, run_plan, start_runtime,
start_runtime_in, start_runtime_with_service, stop_runtime,
prepare_service, release_environment, release_service, run_plan, runtime_resource_snapshot,
start_runtime, start_runtime_in, start_runtime_with_service, stop_runtime,
};
pub use schema::{
SchemaName, generate_all_schemas, generate_schema, generate_schema_json, write_schema_snapshots,
Expand Down
Loading
Loading