pub struct ProbeSpec {Show 13 fields
pub route_name: String,
pub url: Option<String>,
pub method: String,
pub interval: Duration,
pub timeout: Duration,
pub expected_status: u16,
pub headers: Vec<(String, String)>,
pub body: Option<String>,
pub failure_threshold: u32,
pub body_contains: Option<String>,
pub body_jsonpath: Option<String>,
pub journey: Option<Vec<ProbeStep>>,
pub probe_from: Option<String>,
}Expand description
A synthetic probe specification for a route.
Created at config publish time from the route’s probe config
field. Immutable after creation.
Fields§
§route_name: StringThe route name this probe is attached to.
url: Option<String>The URL to probe. If None, the probe uses the route’s own URL (constructed from the listener + route match).
method: StringThe HTTP method to use (default: GET).
interval: DurationThe probe interval (how often to run the probe).
timeout: DurationThe probe timeout (how long to wait for a response).
expected_status: u16The expected status code. If the response status does not match, the probe is considered failed.
headers: Vec<(String, String)>Optional headers to send with the probe request.
body: Option<String>Optional request body to send with the probe.
failure_threshold: u32The number of consecutive failures before alerting (default: 1).
body_contains: Option<String>DP-10 (#238): optional body-contains assertion. The probe fails if the response body does not contain this substring.
body_jsonpath: Option<String>DP-10 (#238): optional JSONPath assertion (simple dot-notation
like $.status or $.data.id). The probe fails if the path
does not resolve to a non-null value in the JSON body.
journey: Option<Vec<ProbeStep>>DP-10 (#238): optional multi-step journey. When set, the probe
executes each step sequentially; the journey fails if any step
fails. Step-extracted values (via extract JSONPath) are
substituted into subsequent step headers via {{var}} templates.
probe_from: Option<String>DP-10 (#238): optional probe-from identifier. When set, the
X-Dwara-Probe-From header is added to each probe request so
the target can identify the probing agent/region.
Trait Implementations§
impl Eq for ProbeSpec
impl StructuralPartialEq for ProbeSpec
Auto Trait Implementations§
impl Freeze for ProbeSpec
impl RefUnwindSafe for ProbeSpec
impl Send for ProbeSpec
impl Sync for ProbeSpec
impl Unpin for ProbeSpec
impl UnwindSafe for ProbeSpec
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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