MCPcopy Create free account
hub / github.com/tbphp/gpt-load / getRPMStats

Method getRPMStats

internal/handler/dashboard_handler.go:205–237  ·  view source on GitHub ↗
(now time.Time)

Source from the content-addressed store, hash-verified

203}
204
205func (s *Server) getRPMStats(now time.Time) (models.StatCard, error) {
206 tenMinutesAgo := now.Add(-10 * time.Minute)
207 twentyMinutesAgo := now.Add(-20 * time.Minute)
208
209 var result rpmStatResult
210 err := s.DB.Model(&models.RequestLog{}).
211 Select("count(case when timestamp >= ? then 1 end) as current_requests, count(case when timestamp >= ? and timestamp < ? then 1 end) as previous_requests", tenMinutesAgo, twentyMinutesAgo, tenMinutesAgo).
212 Where("timestamp >= ? AND request_type = ?", twentyMinutesAgo, models.RequestTypeFinal).
213 Scan(&result).Error
214
215 if err != nil {
216 return models.StatCard{}, err
217 }
218
219 currentRPM := float64(result.CurrentRequests) / 10.0
220 previousRPM := float64(result.PreviousRequests) / 10.0
221
222 rpmTrend := 0.0
223 rpmTrendIsGrowth := true
224 if previousRPM > 0 {
225 rpmTrend = (currentRPM - previousRPM) / previousRPM * 100
226 rpmTrendIsGrowth = rpmTrend >= 0
227 } else if currentRPM > 0 {
228 rpmTrend = 100.0
229 rpmTrendIsGrowth = true
230 }
231
232 return models.StatCard{
233 Value: currentRPM,
234 Trend: rpmTrend,
235 TrendIsGrowth: rpmTrendIsGrowth,
236 }, nil
237}
238
239// getSecurityWarnings 检查安全配置并返回警告信息
240func (s *Server) getSecurityWarnings(c *gin.Context) []models.SecurityWarning {

Callers 1

StatsMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected