| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Arbiter.Core.RateLimit.Stats
Description
View and patch types for the rate-limit management/observability API.
Synopsis
- data RateLimitPolicyView = RateLimitPolicyView {}
- data RateLimitBucketView = RateLimitBucketView {
- rateLimitKey :: Text
- policyPrefix :: Text
- tokens :: Double
- maxTokens :: Double
- fillFraction :: Maybe Double
- lastRefill :: UTCTime
- data RateLimitPolicyUpdate = RateLimitPolicyUpdate {}
Documentation
Source #data RateLimitPolicyView
A policy with its default and override params plus live bucket and throttle
stats. The effective param is override when set, else default.
Constructors
| RateLimitPolicyView | |
Fields | |
Instances
Source #data RateLimitBucketView
A single key's bucket: current tokens, effective max, and fill fraction.
Constructors
| RateLimitBucketView | |
Fields
| |
Instances
| FromJSON RateLimitBucketView Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Methods #parseJSON :: Value -> Parser RateLimitBucketView #parseJSONList :: Value -> Parser [RateLimitBucketView] | |||||
| ToJSON RateLimitBucketView Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Methods #toJSON :: RateLimitBucketView -> Value #toEncoding :: RateLimitBucketView -> Encoding #toJSONList :: [RateLimitBucketView] -> Value | |||||
| Eq RateLimitBucketView Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Methods #(==) :: RateLimitBucketView -> RateLimitBucketView -> Bool #(/=) :: RateLimitBucketView -> RateLimitBucketView -> Bool | |||||
| Generic RateLimitBucketView Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Associated Types
Methods #from :: RateLimitBucketView -> Rep RateLimitBucketView x #to :: Rep RateLimitBucketView x -> RateLimitBucketView | |||||
| Show RateLimitBucketView Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Methods #showsPrec :: Int -> RateLimitBucketView -> ShowS #show :: RateLimitBucketView -> String #showList :: [RateLimitBucketView] -> ShowS | |||||
| type Rep RateLimitBucketView Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats type Rep RateLimitBucketView = D1 ('MetaData "RateLimitBucketView" "Arbiter.Core.RateLimit.Stats" "arbiter-core-0.1.0.0-inplace" 'False) (C1 ('MetaCons "RateLimitBucketView" 'PrefixI 'True) ((S1 ('MetaSel ('Just "rateLimitKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "policyPrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double))) :*: (S1 ('MetaSel ('Just "maxTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "fillFraction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "lastRefill") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime))))) | |||||
Source #data RateLimitPolicyUpdate
A patch over a policy's override params. Per field: Nothing leaves it
unchanged, Just Nothing clears the override (reverts to the default), and
Just (Just v) sets it.
Constructors
| RateLimitPolicyUpdate | |
Fields
| |
Instances
| FromJSON RateLimitPolicyUpdate Source # | Hand-written. A missing key leaves the field unchanged. An explicit | ||||
Defined in Arbiter.Core.RateLimit.Stats Methods #parseJSON :: Value -> Parser RateLimitPolicyUpdate | |||||
| ToJSON RateLimitPolicyUpdate Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Methods #toJSON :: RateLimitPolicyUpdate -> Value #toEncoding :: RateLimitPolicyUpdate -> Encoding #toJSONList :: [RateLimitPolicyUpdate] -> Value | |||||
| Eq RateLimitPolicyUpdate Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Methods #(==) :: RateLimitPolicyUpdate -> RateLimitPolicyUpdate -> Bool #(/=) :: RateLimitPolicyUpdate -> RateLimitPolicyUpdate -> Bool | |||||
| Generic RateLimitPolicyUpdate Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Associated Types
Methods #from :: RateLimitPolicyUpdate -> Rep RateLimitPolicyUpdate x | |||||
| Show RateLimitPolicyUpdate Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats Methods #showsPrec :: Int -> RateLimitPolicyUpdate -> ShowS #show :: RateLimitPolicyUpdate -> String #showList :: [RateLimitPolicyUpdate] -> ShowS | |||||
| type Rep RateLimitPolicyUpdate Source # | |||||
Defined in Arbiter.Core.RateLimit.Stats type Rep RateLimitPolicyUpdate = D1 ('MetaData "RateLimitPolicyUpdate" "Arbiter.Core.RateLimit.Stats" "arbiter-core-0.1.0.0-inplace" 'False) (C1 ('MetaCons "RateLimitPolicyUpdate" 'PrefixI 'True) (S1 ('MetaSel ('Just "overrideMaxTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Maybe Double))) :*: (S1 ('MetaSel ('Just "overrideRefillAmount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Maybe Double))) :*: S1 ('MetaSel ('Just "overrideInterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Maybe Double)))))) | |||||