Struct ConnectUdpMetrics
pub struct ConnectUdpMetrics { /* private fields */ }masque only.Expand description
Metrics of the tunnels of a ConnectUdpService
built with them.
Every series carries principal.kind when the service tracks principals (a per-principal
limit or budget is set): user, token, ip or anonymous for the default keyer’s
PrincipalKey, ip for an IP address key, custom for
any other key type. A principal’s key itself is never exported.
connect_udp.tunnels.active: tunnels opened and not yet ended;connect_udp.tunnel.refused{reason}: requests refused, by theirProxy-Statuserror type;connect_udp.tunnel.closedandconnect_udp.tunnel.duration{reason=closed,idle,failed,capacity,upgrade_failed,relay_failed,cancelled}: tunnels ended, once each, when their task ends: as the relay returns, or when the proxy drops the task (cancelled), whatever handles of the tunnel the relay kept;connect_udp.datagrams.from_client{outcome=forwarded,unknown_context,oversize,rate_limited,over_quota,unanswered} andconnect_udp.datagrams.from_client.carrier{carrier=native,capsule}: each sums to the HTTP Datagrams received;connect_udp.datagrams.to_client{outcome=returned,rate_limited,over_quota,too_large,unsent}: sums to the datagrams accepted to send to the client;connect_udp.bytes.received,.oversize_declared,.forwarded,.returnedand.returned_dropped: the byte counts ofConnectUdpStats;oversize_declaredis what oversized capsules announced, not what arrived.
Datagram and byte counts are recorded as they are when a tunnel’s task ends; what a send
handle the relay kept moves after that is not. ConnectUdpMetrics::with_attributes adds
attributes of each request to its series. Cheap to clone; clones report into the same series.
Implementations§
§impl ConnectUdpMetrics
impl ConnectUdpMetrics
pub fn new(options: MeterOptions) -> ConnectUdpMetrics
pub fn new(options: MeterOptions) -> ConnectUdpMetrics
Metrics recorded with the global meter provider.
pub fn new_with_meter(meter: &Meter, options: MeterOptions) -> ConnectUdpMetrics
pub fn new_with_meter(meter: &Meter, options: MeterOptions) -> ConnectUdpMetrics
Metrics recorded with meter.
pub fn with_attributes<F>(self, factory: F) -> ConnectUdpMetricswhere
F: AttributesFactory,
pub fn with_attributes<F>(self, factory: F) -> ConnectUdpMetricswhere
F: AttributesFactory,
Add attributes of each CONNECT-UDP request to the series it records into: factory is
asked once per refused or opened tunnel, with the request’s extensions. Its attributes are
exported as given, so they must stay few in values.
Trait Implementations§
§impl Clone for ConnectUdpMetrics
impl Clone for ConnectUdpMetrics
§fn clone(&self) -> ConnectUdpMetrics
fn clone(&self) -> ConnectUdpMetrics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ConnectUdpMetrics
impl !UnwindSafe for ConnectUdpMetrics
impl Freeze for ConnectUdpMetrics
impl Send for ConnectUdpMetrics
impl Sync for ConnectUdpMetrics
impl Unpin for ConnectUdpMetrics
impl UnsafeUnpin for ConnectUdpMetrics
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more