#[non_exhaustive]pub struct TimeInterval {
pub end_time: Option<Timestamp>,
pub start_time: Option<Timestamp>,
}Expand description
Describes a time interval:
- Reads: A half-open time interval. It includes the end time but
excludes the start time:
(startTime, endTime]. The start time must be specified, must be earlier than the end time, and should be no older than the data retention period for the metric. - Writes: A closed time interval. It extends from the start time to the end
time,
and includes both:
[startTime, endTime]. Valid time intervals depend on theMetricKindof the metric value. The end time must not be earlier than the start time, and the end time must not be more than 25 hours in the past or more than five minutes in the future.- For
GAUGEmetrics, thestartTimevalue is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only forGAUGEmetrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval. - For
DELTAmetrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. ForDELTAmetrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval. - For
CUMULATIVEmetrics, the start time and end time must specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. The new start time must be at least a millisecond after the end time of the previous interval. - The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time.
- For
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.end_time: Option<Timestamp>Required. The end of the time interval.
start_time: Option<Timestamp>Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.
Implementations§
Source§impl TimeInterval
impl TimeInterval
Sourcepub fn set_end_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
pub fn set_end_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
Sets the value of end_time.
Sourcepub fn set_start_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
pub fn set_start_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
Sets the value of start_time.
Trait Implementations§
Source§impl Clone for TimeInterval
impl Clone for TimeInterval
Source§fn clone(&self) -> TimeInterval
fn clone(&self) -> TimeInterval
Returns a copy 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 TimeInterval
impl Debug for TimeInterval
Source§impl Default for TimeInterval
impl Default for TimeInterval
Source§fn default() -> TimeInterval
fn default() -> TimeInterval
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for TimeIntervalwhere
TimeInterval: Default,
impl<'de> Deserialize<'de> for TimeIntervalwhere
TimeInterval: Default,
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
Source§impl Message for TimeInterval
impl Message for TimeInterval
Source§impl PartialEq for TimeInterval
impl PartialEq for TimeInterval
Source§impl Serialize for TimeInterval
impl Serialize for TimeInterval
impl StructuralPartialEq for TimeInterval
Auto Trait Implementations§
impl Freeze for TimeInterval
impl RefUnwindSafe for TimeInterval
impl Send for TimeInterval
impl Sync for TimeInterval
impl Unpin for TimeInterval
impl UnwindSafe for TimeInterval
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