pub struct SemaphoreMetrics {
cfg: PersistConfig,
registry: MetricsRegistry,
fetch: OnceCell<MetricsSemaphore>,
}
Fields§
§cfg: PersistConfig
§registry: MetricsRegistry
§fetch: OnceCell<MetricsSemaphore>
Implementations§
Source§impl SemaphoreMetrics
impl SemaphoreMetrics
fn new(cfg: PersistConfig, registry: MetricsRegistry) -> Self
Sourceasync fn fetch(&self) -> &MetricsSemaphore
async fn fetch(&self) -> &MetricsSemaphore
We can’t easily change the number of permits, and the dyncfgs are all set to defaults on process start, so make sure we only initialize the semaphore once we’ve synced dyncfgs at least once.
pub(crate) async fn acquire_fetch_permits( &self, encoded_size_bytes: usize, ) -> MetricsPermits
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for SemaphoreMetrics
impl !RefUnwindSafe for SemaphoreMetrics
impl Send for SemaphoreMetrics
impl Sync for SemaphoreMetrics
impl Unpin for SemaphoreMetrics
impl !UnwindSafe for SemaphoreMetrics
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> 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<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
.