c
com.digitalasset.canton.networking.grpc.ratelimiting
ActiveRequestCounterInterceptor
Companion object ActiveRequestCounterInterceptor
class ActiveRequestCounterInterceptor extends ServerInterceptor with NamedLogging
Count and enforce limit for selected endpoints
Works for both, streams and requests. Limits the number of pending requests. For each enforced method, the count and limits are reported as metrics.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ActiveRequestCounterInterceptor
- NamedLogging
- ServerInterceptor
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new ActiveRequestCounterInterceptor(api: String, initialLimits: Map[FullMethodName, NonNegativeInt], warnOnUnconfiguredLimits: Boolean, maxLoggingRatePerSecond: NonNegativeInt, metrics: ActiveRequestsMetrics, loggerFactory: NamedLoggerFactory)
- api
The API name for metrics labelling and ensuring that the metric counts don't conflict
- warnOnUnconfiguredLimits
if true, then each method without a configured limit will be logged as warning
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def interceptCall[ReqT, RespT](call: ServerCall[ReqT, RespT], headers: Metadata, next: ServerCallHandler[ReqT, RespT]): Listener[ReqT]
- Definition Classes
- ActiveRequestCounterInterceptor → ServerInterceptor
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Definition Classes
- ActiveRequestCounterInterceptor → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def updateLimits(key: FullMethodName, newLimit: Option[NonNegativeInt]): Unit
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()