#[non_exhaustive]pub struct EmbeddedCodegenOptions {
pub require_flame_attribution: bool,
}build only.Expand description
Options controlling the Rust source emitted by
DeployFlow::generate_embedded_with_options.
This is deliberately not the full set of DFIR codegen knobs (AsCodeOptions). Most of
those are decided by Hydro on the user’s behalf: type guards are excluded because Hydro has
already type-checked the dataflow and injects its own type hints, the serialized meta graph is
excluded because nothing consumes it in embedded mode, and runtime metrics tracking is driven by
sidecars rather than a raw flag. Only the choices that genuinely
belong to the embedding developer are exposed here, which also keeps the embedded API stable
as the underlying DFIR options evolve.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.require_flame_attribution: boolEmit a named wrapper function around every DFIR operator so that each operator gets its own stack frame in profiles/flamegraphs.
Off by default: the wrappers are purely for profiler attribution (Hydro already type-checks the dataflow), and they make the generated code several times more verbose. Enable this when profiling an embedded Hydro program.
Implementations§
Source§impl EmbeddedCodegenOptions
impl EmbeddedCodegenOptions
Sourcepub fn with_flame_attribution() -> Self
pub fn with_flame_attribution() -> Self
Returns options with Self::require_flame_attribution set.
Trait Implementations§
Source§impl Clone for EmbeddedCodegenOptions
impl Clone for EmbeddedCodegenOptions
Source§impl Debug for EmbeddedCodegenOptions
impl Debug for EmbeddedCodegenOptions
Auto Trait Implementations§
impl Freeze for EmbeddedCodegenOptions
impl RefUnwindSafe for EmbeddedCodegenOptions
impl Send for EmbeddedCodegenOptions
impl Sync for EmbeddedCodegenOptions
impl Unpin for EmbeddedCodegenOptions
impl UnsafeUnpin for EmbeddedCodegenOptions
impl UnwindSafe for EmbeddedCodegenOptions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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 more