pub enum FillStrategy {
ForwardFill,
BackwardFill,
LinearInterpolate,
Zero,
Skip,
}Expand description
Strategy for filling missing time-series points
Variants§
ForwardFill
Carry forward the last observed value
BackwardFill
Use the next observed value (requires future data)
LinearInterpolate
Linear interpolation between surrounding points
Zero
Fill with zero/default value
Skip
Skip missing points (no output for missing intervals)
Implementations§
Source§impl FillStrategy
impl FillStrategy
Sourcepub fn fill(
&self,
prev_value: Option<f64>,
next_value: Option<f64>,
prev_time: Option<DateTime<Utc>>,
next_time: Option<DateTime<Utc>>,
target_time: DateTime<Utc>,
) -> NormalizationResult<Option<f64>>
pub fn fill( &self, prev_value: Option<f64>, next_value: Option<f64>, prev_time: Option<DateTime<Utc>>, next_time: Option<DateTime<Utc>>, target_time: DateTime<Utc>, ) -> NormalizationResult<Option<f64>>
Fill a missing value given surrounding context
§Arguments
prev_value- The last observed value before the gapnext_value- The next observed value after the gapprev_time- Timestamp of previous valuenext_time- Timestamp of next valuetarget_time- Timestamp to fill
§Returns
Some(value) if a value should be filled, None if point should be skipped
Sourcepub fn requires_future_data(&self) -> bool
pub fn requires_future_data(&self) -> bool
Check if this strategy requires future data
Trait Implementations§
Source§impl Clone for FillStrategy
impl Clone for FillStrategy
impl Copy for FillStrategy
Source§impl Debug for FillStrategy
impl Debug for FillStrategy
Source§impl<'de> Deserialize<'de> for FillStrategy
impl<'de> Deserialize<'de> for FillStrategy
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
impl Eq for FillStrategy
Source§impl PartialEq for FillStrategy
impl PartialEq for FillStrategy
Source§impl Serialize for FillStrategy
impl Serialize for FillStrategy
impl StructuralPartialEq for FillStrategy
Auto Trait Implementations§
impl Freeze for FillStrategy
impl RefUnwindSafe for FillStrategy
impl Send for FillStrategy
impl Sync for FillStrategy
impl Unpin for FillStrategy
impl UnsafeUnpin for FillStrategy
impl UnwindSafe for FillStrategy
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.