Struct mz_persist::workload::DataGenerator
source · pub struct DataGenerator {
pub record_count: usize,
pub record_size_bytes: usize,
pub batch_max_count: usize,
key_buf: Vec<u8>,
val_buf: Vec<u8>,
}
Expand description
A configurable data generator for benchmarking.
Fields§
§record_count: usize
The total number of records to produce.
record_size_bytes: usize
The number of “goodput” bytes to make each record.
batch_max_count: usize
The maximum number of records included in a generated batch of records.
key_buf: Vec<u8>
§val_buf: Vec<u8>
Implementations§
source§impl DataGenerator
impl DataGenerator
sourcepub fn new(
record_count: usize,
record_size_bytes: usize,
batch_max_count: usize,
) -> Self
pub fn new( record_count: usize, record_size_bytes: usize, batch_max_count: usize, ) -> Self
Returns a new DataGenerator.
sourcepub fn small() -> Self
pub fn small() -> Self
Returns a new DataGenerator specifically for testing small data volumes.
sourcepub fn goodput_bytes(&self) -> u64
pub fn goodput_bytes(&self) -> u64
Returns the number of “goodput” bytes represented by the entire dataset produced by this generator.
sourcepub fn goodput_pretty(&self) -> String
pub fn goodput_pretty(&self) -> String
Returns a more easily human readable version of Self::goodput_bytes.
sourcepub fn gen_batch(&mut self, batch_idx: usize) -> Option<ColumnarRecords>
pub fn gen_batch(&mut self, batch_idx: usize) -> Option<ColumnarRecords>
Generates the requested batch of records.
fn gen_record(&mut self, record_idx: usize) -> ((&[u8], &[u8]), u64, i64)
sourcepub fn batches(&self) -> DataGeneratorBatchIter ⓘ
pub fn batches(&self) -> DataGeneratorBatchIter ⓘ
Returns an Iterator of all records in batches.
Trait Implementations§
source§impl Clone for DataGenerator
impl Clone for DataGenerator
source§fn clone(&self) -> DataGenerator
fn clone(&self) -> DataGenerator
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 DataGenerator
impl Debug for DataGenerator
Auto Trait Implementations§
impl Freeze for DataGenerator
impl RefUnwindSafe for DataGenerator
impl Send for DataGenerator
impl Sync for DataGenerator
impl Unpin for DataGenerator
impl UnwindSafe for DataGenerator
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp 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
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.