Struct mz_persist_client::internal::trace::Trace
source · pub struct Trace<T> {
spine: Spine<T>,
}
Expand description
An append-only collection of compactable update batches.
In an effort to keep our fork of Spine as close as possible to the original, we push as many changes as possible into this wrapper.
Fields§
§spine: Spine<T>
Implementations§
source§impl<T> Trace<T>
impl<T> Trace<T>
pub fn since(&self) -> &Antichain<T>
pub fn upper(&self) -> &Antichain<T>
pub fn map_batches<'a, F: FnMut(&'a HollowBatch<T>)>(&'a self, f: F)
pub fn batches<'a>(&'a self) -> impl IntoIterator<Item = &'a HollowBatch<T>>
pub fn num_spine_batches(&self) -> usize
source§impl<T: Timestamp + Lattice> Trace<T>
impl<T: Timestamp + Lattice> Trace<T>
pub fn downgrade_since(&mut self, since: &Antichain<T>)
pub fn push_batch(&mut self, batch: HollowBatch<T>) -> Vec<FueledMergeReq<T>>
sourcepub(crate) fn push_batch_no_merge_reqs(&mut self, batch: HollowBatch<T>)
pub(crate) fn push_batch_no_merge_reqs(&mut self, batch: HollowBatch<T>)
The same as Self::push_batch but without the FueledMergeReq
s, which
account for a surprising amount of cpu in prod. #18368
sourcepub fn validate(&self) -> Result<(), String>
pub fn validate(&self) -> Result<(), String>
Validates invariants.
See Spine::validate
for details.
pub fn apply_merge_res(&mut self, res: &FueledMergeRes<T>) -> ApplyMergeResult
pub(crate) fn all_fueled_merge_reqs(&self) -> Vec<FueledMergeReq<T>>
fn remove_redundant_merge_reqs( merge_reqs: Vec<FueledMergeReq<T>> ) -> Vec<FueledMergeReq<T>>
pub fn describe(&self) -> String
Trait Implementations§
source§impl<T: PartialEq> PartialEq for Trace<T>
impl<T: PartialEq> PartialEq for Trace<T>
source§impl<T: Timestamp + Lattice + Codec64> RustType<ProtoTrace> for Trace<T>
impl<T: Timestamp + Lattice + Codec64> RustType<ProtoTrace> for Trace<T>
source§fn into_proto(&self) -> ProtoTrace
fn into_proto(&self) -> ProtoTrace
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoTrace) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoTrace) -> Result<Self, TryFromProtoError>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Trace<T>where T: RefUnwindSafe,
impl<T> Send for Trace<T>where T: Send + Sync,
impl<T> Sync for Trace<T>where T: Send + Sync,
impl<T> Unpin for Trace<T>where T: Unpin,
impl<T> UnwindSafe for Trace<T>where T: UnwindSafe + RefUnwindSafe,
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> 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> 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::Request
Creates a shared type from an unshared type.
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.