pub struct TimeseriesPushMsg {}Expand description
Timeseries metric batch push (client → server, 0x40).
Fields§
§lite_id: StringSource Lite instance ID (UUID v7).
batch_id: u64Monotonic batch ID for ACK correlation, echoed verbatim on
TimeseriesAckMsg::batch_id.
Identifies this batch specifically, which seq cannot: applied_seq
on the ack is a cumulative producer frontier, so it can only retire
batches at or below the frontier. A terminally rejected batch never
advances the frontier, so without this field the sender has no way to
name the one batch it must retire.
collection: StringCollection name.
ts_block: Vec<u8>Gorilla-encoded timestamp block.
val_block: Vec<u8>Gorilla-encoded value block.
series_block: Vec<u8>Raw LE u64 series ID block.
sample_count: u64Number of samples in this batch.
min_ts: i64Min timestamp in this batch.
max_ts: i64Max timestamp in this batch.
watermarks: HashMap<u64, u64>Per-series sync watermark: highest LSN already synced for each series. Only samples after these watermarks are included.
producer_id: u64Stable identity of the originating producer. 0 for legacy clients.
epoch: u64Monotonic epoch counter incremented on every producer restart.
seq: u64Per-stream monotonic sequence number within the epoch.
Trait Implementations§
Source§impl Clone for TimeseriesPushMsg
impl Clone for TimeseriesPushMsg
Source§impl Debug for TimeseriesPushMsg
impl Debug for TimeseriesPushMsg
Source§impl<'de> Deserialize<'de> for TimeseriesPushMsg
impl<'de> Deserialize<'de> for TimeseriesPushMsg
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>,
Source§impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for TimeseriesPushMsg
impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for TimeseriesPushMsg
Source§impl Serialize for TimeseriesPushMsg
impl Serialize for TimeseriesPushMsg
Source§impl ToMessagePack for TimeseriesPushMsg
impl ToMessagePack for TimeseriesPushMsg
Source§fn write<W: Write>(&self, writer: &mut W) -> Result<(), Error>
fn write<W: Write>(&self, writer: &mut W) -> Result<(), Error>
Source§fn size_hint(&self) -> Option<TrustedSizeHint>
fn size_hint(&self) -> Option<TrustedSizeHint>
Self::write, or None when it cannot be determined cheaply. Read moreAuto Trait Implementations§
impl Freeze for TimeseriesPushMsg
impl RefUnwindSafe for TimeseriesPushMsg
impl Send for TimeseriesPushMsg
impl Sync for TimeseriesPushMsg
impl Unpin for TimeseriesPushMsg
impl UnsafeUnpin for TimeseriesPushMsg
impl UnwindSafe for TimeseriesPushMsg
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>,
impl<T> FromMessagePackOwned for Twhere
T: for<'a> FromMessagePack<'a>,
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.