arbiter-core-0.1.0.0
arbiter-core
Safe HaskellNone
LanguageGHC2024

Arbiter.Core.RateLimit.Stats

Description

View and patch types for the rate-limit management/observability API.

Synopsis

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.

Instances

Instances details
FromJSON RateLimitPolicyView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

ToJSON RateLimitPolicyView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Eq RateLimitPolicyView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Generic RateLimitPolicyView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Associated Types

type Rep RateLimitPolicyView 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Show RateLimitPolicyView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

type Rep RateLimitPolicyView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Source #data RateLimitBucketView

A single key's bucket: current tokens, effective max, and fill fraction.

Instances

Instances details
FromJSON RateLimitBucketView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

ToJSON RateLimitBucketView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Eq RateLimitBucketView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Generic RateLimitBucketView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Associated Types

type Rep RateLimitBucketView 
Instance details

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)))))
Show RateLimitBucketView Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

type Rep RateLimitBucketView Source # 
Instance details

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.

Instances

Instances details
FromJSON RateLimitPolicyUpdate Source #

Hand-written. A missing key leaves the field unchanged. An explicit null clears the override.

Instance details

Defined in Arbiter.Core.RateLimit.Stats

ToJSON RateLimitPolicyUpdate Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Eq RateLimitPolicyUpdate Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Generic RateLimitPolicyUpdate Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

Associated Types

type Rep RateLimitPolicyUpdate 
Instance details

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))))))
Show RateLimitPolicyUpdate Source # 
Instance details

Defined in Arbiter.Core.RateLimit.Stats

type Rep RateLimitPolicyUpdate Source # 
Instance details

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))))))