pub struct ExecMetrics {
pub project_id: String,
pub project_name: String,
pub started_at: DateTime<Utc>,
pub finished_at: Option<DateTime<Utc>>,
pub duration_ms: Option<u128>,
pub cpu_usage: f32,
pub mem_usage: f32,
pub mem_usage_kb: u64,
pub max_cpu: f32,
pub max_mem: f32,
pub jobs: HashMap<String, JobMetrics>,
pub logger: Logger,
}
Fields§
§project_id: String
§project_name: String
§started_at: DateTime<Utc>
§finished_at: Option<DateTime<Utc>>
§duration_ms: Option<u128>
§cpu_usage: f32
§mem_usage: f32
§mem_usage_kb: u64
§max_cpu: f32
§max_mem: f32
§jobs: HashMap<String, JobMetrics>
§logger: Logger
Implementations§
Source§impl ExecMetrics
impl ExecMetrics
pub fn new(project_id: &str, project_name: &str, logger: Logger) -> Self
pub fn sys_push(&mut self, name: &str, cpu: f32, mem: u64)
Sourcepub fn job_started(&mut self, name: &str)
pub fn job_started(&mut self, name: &str)
start job (just insert it with Running status)
pub fn job_finished(&mut self, name: &str, ok: bool)
pub async fn ensure_metrics_dir() -> Result<PathBuf>
pub fn get_metrics_path_by_id(id: &str) -> Result<PathBuf>
pub fn rm_metrics_by_id(id: &str) -> Result<()>
pub async fn open_metrics_file(project_id: &str) -> Result<File>
pub async fn save(&self) -> Result<()>
Trait Implementations§
Source§impl Clone for ExecMetrics
impl Clone for ExecMetrics
Source§fn clone(&self) -> ExecMetrics
fn clone(&self) -> ExecMetrics
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 ExecMetrics
impl Debug for ExecMetrics
Source§impl<'de> Deserialize<'de> for ExecMetrics
impl<'de> Deserialize<'de> for ExecMetrics
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExecMetrics
impl !RefUnwindSafe for ExecMetrics
impl Send for ExecMetrics
impl Sync for ExecMetrics
impl Unpin for ExecMetrics
impl !UnwindSafe for ExecMetrics
Blanket Implementations§
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more