feldera_types::config

Struct RuntimeConfig

Source
pub struct RuntimeConfig {
    pub workers: u16,
    pub storage: bool,
    pub fault_tolerance: Option<FtConfig>,
    pub cpu_profiler: bool,
    pub tracing: bool,
    pub tracing_endpoint_jaeger: String,
    pub min_batch_size_records: u64,
    pub max_buffering_delay_usecs: u64,
    pub resources: ResourceConfig,
    pub min_storage_bytes: Option<usize>,
    pub clock_resolution_usecs: Option<u64>,
}
Expand description

Global pipeline configuration settings. This is the publicly exposed type for users to configure pipelines.

Fields§

§workers: u16

Number of DBSP worker threads.

§storage: bool

Should storage be enabled for this pipeline?

  • If false (default), the pipeline’s state is kept in in-memory data-structures. This is useful if the pipeline’s state will fit in memory and if the pipeline is ephemeral and does not need to be recovered after a restart. The pipeline will most likely run faster since it does not need to access storage.

  • If true, the pipeline’s state is kept on storage. This allows the pipeline to work with state that will not fit into memory. It also allows the state to be checkpointed and recovered across restarts. This feature is currently experimental.

§fault_tolerance: Option<FtConfig>

Configures fault tolerance with the specified start up behavior. Fault tolerance is disabled if this is None or if storage is false.

§cpu_profiler: bool

Enable CPU profiler.

The default value is true.

§tracing: bool

Enable pipeline tracing.

§tracing_endpoint_jaeger: String

Jaeger tracing endpoint to send tracing information to.

§min_batch_size_records: u64

Minimal input batch size.

The controller delays pushing input records to the circuit until at least min_batch_size_records records have been received (total across all endpoints) or max_buffering_delay_usecs microseconds have passed since at least one input records has been buffered. Defaults to 0.

§max_buffering_delay_usecs: u64

Maximal delay in microseconds to wait for min_batch_size_records to get buffered by the controller, defaults to 0.

§resources: ResourceConfig

Resource reservations and limits. This is enforced only in Feldera Cloud.

§min_storage_bytes: Option<usize>

The minimum estimated number of bytes in a batch of data to write it to storage. This is provided for debugging and fine-tuning and should ordinarily be left unset. It only has an effect when storage is set to true.

A value of 0 will write even empty batches to storage, and nonzero values provide a threshold. usize::MAX would effectively disable storage.

§clock_resolution_usecs: Option<u64>

Real-time clock resolution in microseconds.

This parameter controls the execution of queries that use the NOW() function. The output of such queries depends on the real-time clock and can change over time without any external inputs. The pipeline will update the clock value and trigger incremental recomputation at most each clock_resolution_usecs microseconds.

It is set to 100 milliseconds (100,000 microseconds) by default.

Set to null to disable periodic clock updates.

Implementations§

Source§

impl RuntimeConfig

Source

pub fn from_yaml(s: &str) -> Self

Source

pub fn to_yaml(&self) -> String

Trait Implementations§

Source§

impl Clone for RuntimeConfig

Source§

fn clone(&self) -> RuntimeConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RuntimeConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RuntimeConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for RuntimeConfig

Source§

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 PartialEq for RuntimeConfig

Source§

fn eq(&self, other: &RuntimeConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for RuntimeConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'__s> ToSchema<'__s> for RuntimeConfig

Source§

fn schema() -> (&'__s str, RefOr<Schema>)

Return a tuple of name and schema or reference to a schema that can be referenced by the name or inlined directly to responses, request bodies or parameters.
Source§

fn aliases() -> Vec<(&'__s str, Schema)>

Optional set of alias schemas for the ToSchema::schema. Read more
Source§

impl Eq for RuntimeConfig

Source§

impl StructuralPartialEq for RuntimeConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T