pub use cgroup::*;
pub use collector::*;
pub use network::*;
pub use process::*;
pub use sample::*;
pub use system::*;



Type that makes BTreeMap Queriable if its value is Queriable. Uses key to query into a map. Uses subquery_id to query into the selected value.

Type that makes Vec Queriable if Vec’s inner type is Queriable. Uses idx to query into a Vec. Uses subquery_id to query into the selected item.


A wrapper for different field types used in Models. By this way we can query different fields in a single function without using Box.


An enum that can iterate its variants. Ones without parameters are unit variants. Ones with exactly one parameter that is also IterEnum are nested variants. Can be auto derived with below_derive::EnumIter. Use this trait to programmatically list available variants in a FieldId.

Marker trait to bind FieldId back to Queriable for type inference.

Each Model is composed of Fields and optionally sub-Models. The Queriable trait let us query() a Model for a particular Field within the hierarchy with the given FieldId.

Models containing sub-Models with its own type, similar to a node in a tree. Such Model has a depth value for illustrating the tree hierarchy.


Get a sample Model. There are no guarantees internal consistency of the model, neither are values in the model supposed to be realistic.