diff options
Diffstat (limited to 'below/model/src/lib.rs')
-rw-r--r-- | below/model/src/lib.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/below/model/src/lib.rs b/below/model/src/lib.rs index c69380f5..307ccf01 100644 --- a/below/model/src/lib.rs +++ b/below/model/src/lib.rs @@ -41,6 +41,8 @@ pub mod resctrl; pub mod sample; mod sample_model; pub mod system; +pub mod tc_collector_plugin; +pub mod tc_model; open_source_shim!(pub); @@ -51,6 +53,7 @@ pub use process::*; pub use resctrl::*; pub use sample::*; pub use system::*; +pub use tc_model::*; /// A wrapper for different field types used in Models. By this way we can query /// different fields in a single function without using Box. @@ -485,6 +488,8 @@ pub struct Model { pub gpu: Option<GpuModel>, #[queriable(subquery)] pub resctrl: Option<ResctrlModel>, + #[queriable(subquery)] + pub tc: Option<TcModel>, } impl Model { @@ -543,6 +548,16 @@ impl Model { }, ) }), + tc: sample.tc.as_ref().map(|tc| { + TcModel::new( + tc, + if let Some((s, d)) = last { + s.tc.as_ref().map(|tc| (tc, d)) + } else { + None + }, + ) + }), } } } |