Documentation
¶
Index ¶
- Variables
- func CacheMiddle(duration time.Duration, key ...string) gin.HandlerFunc
- func GetRateLimiter(resourceName string) (*rate.Limiter, bool)
- func InitAuth(service rbac.IRBACService)
- func LogInfoMiddle() gin.HandlerFunc
- func PanicMiddle() gin.HandlerFunc
- func PrometheusMiddle() gin.HandlerFunc
- func RegisterPrometheus()
- func ThrottleMiddle(resourceName string) gin.HandlerFunc
- type CustomClaims
- type ThrottleEntity
Constants ¶
This section is empty.
Variables ¶
View Source
var ( CustomerRequestsTotal = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "custom_http_requests_total", Help: "Total number of HTTP requests.", }, []string{"path", "method", "status"}, ) ThrottleCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "throttle_counter_total", Help: "Total number of requests that passed the throttle.", }, []string{"resource", "status"}, ) )
全局 Prometheus 指标
View Source
var Auth *auth
定义全局变量
Functions ¶
func CacheMiddle ¶
func CacheMiddle(duration time.Duration, key ...string) gin.HandlerFunc
duration:缓存时长,key:可选参数缓存key
func GetRateLimiter ¶
GetRateLimiter 获取限流器,确保每个资源名对应的限流器是持久化的
func PrometheusMiddle ¶
func PrometheusMiddle() gin.HandlerFunc
PrometheusMiddleware 记录常规的 HTTP 请求统计数据
Types ¶
type CustomClaims ¶
type ThrottleEntity ¶
type ThrottleEntity struct { RateLimit int `gorm:"column:rate_limit" json:"RateLimit" form:"RateLimit" comment:"RateLimit"` // 每秒令牌生成数 Burst int `gorm:"column:burst" json:"Burst" form:"Burst" comment:"Burst"` // 突发容量 WaitTime int `gorm:"column:wait_time" json:"WaitTime" form:"WaitTime" comment:"WaitTime"` // 最大排队等待时间 }
Source Files
¶
Click to show internal directories.
Click to hide internal directories.