feat: publish sanitized custom.97 source
This commit is contained in:
1022 files changed
+69903
-19207
No files matched your search
+46
-28
@@ -19,31 +19,35 @@ import (
|
||||
const requestTimeout = 30 * time.Second
|
||||
|
||||
type Monitor struct {
|
||||
Tags []string `json:"tags,omitempty"`
|
||||
RecentDegraded bool `json:"recent_degraded,omitempty"`
|
||||
ModelCosts map[string]model.GroupModelCost `json:"model_costs,omitempty"`
|
||||
GroupRatio float64 `json:"group_ratio"`
|
||||
ProbeHistory []service.ProbeHistoryPoint `json:"probe_history"`
|
||||
ID string `json:"id"`
|
||||
Models []string `json:"models"`
|
||||
Alias string `json:"alias,omitempty"`
|
||||
Hidden bool `json:"hidden,omitempty"`
|
||||
Candy *service.BenchmarkSummary `json:"candy,omitempty"`
|
||||
Benchmark *service.BenchmarkSummary `json:"benchmark,omitempty"`
|
||||
StatusSource string `json:"status_source"`
|
||||
StatusCheckedAt int64 `json:"status_checked_at,omitempty"`
|
||||
Fingerprint *service.AstraSamplingSummary `json:"fingerprint,omitempty"`
|
||||
Metrics *perfmetrics.GroupResult `json:"metrics,omitempty"`
|
||||
Name string `json:"name"`
|
||||
Uptime float64 `json:"uptime"`
|
||||
Status int `json:"status"`
|
||||
Group string `json:"group,omitempty"`
|
||||
Ping int `json:"ping,omitempty"`
|
||||
LastChecked string `json:"last_checked,omitempty"`
|
||||
History []MonitorSample `json:"history,omitempty"`
|
||||
CacheStats *model.GroupCacheStats `json:"cache_stats,omitempty"`
|
||||
ProbeStatus int `json:"probe_status"`
|
||||
ChannelDisabled bool `json:"channel_disabled"`
|
||||
VisionUnavailable bool `json:"vision_unavailable,omitempty"`
|
||||
QualityResetAt int64 `json:"quality_reset_at,omitempty"`
|
||||
Tags []string `json:"tags,omitempty"`
|
||||
RecentDegraded bool `json:"recent_degraded,omitempty"`
|
||||
ModelCosts map[string]model.GroupModelCost `json:"model_costs,omitempty"`
|
||||
ModelPerformance map[string]model.GroupModelPerformance `json:"model_performance,omitempty"`
|
||||
GroupRatio float64 `json:"group_ratio"`
|
||||
ProbeHistory []service.ProbeHistoryPoint `json:"probe_history"`
|
||||
ID string `json:"id"`
|
||||
Models []string `json:"models"`
|
||||
Alias string `json:"alias,omitempty"`
|
||||
Hidden bool `json:"hidden,omitempty"`
|
||||
Ciallo *service.BenchmarkSummary `json:"ciallo,omitempty"`
|
||||
Vision *service.BenchmarkSummary `json:"vision,omitempty"`
|
||||
Benchmark *service.BenchmarkSummary `json:"benchmark,omitempty"`
|
||||
StatusSource string `json:"status_source"`
|
||||
StatusCheckedAt int64 `json:"status_checked_at,omitempty"`
|
||||
Fingerprint *service.AstraSamplingSummary `json:"fingerprint,omitempty"`
|
||||
Metrics *perfmetrics.GroupResult `json:"metrics,omitempty"`
|
||||
Name string `json:"name"`
|
||||
Uptime float64 `json:"uptime"`
|
||||
Status int `json:"status"`
|
||||
Group string `json:"group,omitempty"`
|
||||
Ping int `json:"ping,omitempty"`
|
||||
LastChecked string `json:"last_checked,omitempty"`
|
||||
History []MonitorSample `json:"history,omitempty"`
|
||||
CacheStats *model.GroupCacheStats `json:"cache_stats,omitempty"`
|
||||
ProbeStatus int `json:"probe_status"`
|
||||
ChannelDisabled bool `json:"channel_disabled"`
|
||||
}
|
||||
|
||||
type MonitorSample struct {
|
||||
@@ -132,13 +136,25 @@ func currentGroupMonitors(ctx context.Context, admin bool) ([]UptimeGroupResult,
|
||||
groupCacheSnapshot.updated = now
|
||||
groupCacheSnapshot.channels = string(encoded)
|
||||
}
|
||||
visionUnavailable, qualityErr := service.VisionUnavailableGroups(ctx)
|
||||
if qualityErr != nil {
|
||||
return nil, qualityErr
|
||||
}
|
||||
userResults := perfmetrics.LatestUserResults(ctx, order)
|
||||
monitors := make([]Monitor, 0, len(order))
|
||||
for _, group := range order {
|
||||
monitor := Monitor{ID: model.DetectionSecretHash(group)[:16], Name: group, Status: -1, Models: models[group], GroupRatio: ratio_setting.GetGroupRatio(group)}
|
||||
monitor := Monitor{QualityResetAt: settings[group].ResetBefore, ID: model.DetectionSecretHash(group)[:16], Name: group, Status: -1, Models: models[group], GroupRatio: ratio_setting.GetGroupRatio(group)}
|
||||
if monitor.Models == nil {
|
||||
monitor.Models = []string{}
|
||||
}
|
||||
monitor.ModelPerformance = make(map[string]model.GroupModelPerformance, len(monitor.Models))
|
||||
for _, modelName := range monitor.Models {
|
||||
performance, performanceErr := service.GroupModelPerformance(ctx, group, modelName)
|
||||
if performanceErr != nil {
|
||||
return nil, performanceErr
|
||||
}
|
||||
monitor.ModelPerformance[modelName] = performance
|
||||
}
|
||||
if settings[group].Alias != "" {
|
||||
monitor.Name = settings[group].Alias
|
||||
}
|
||||
@@ -163,8 +179,10 @@ func currentGroupMonitors(ctx context.Context, admin bool) ([]UptimeGroupResult,
|
||||
if !admin && monitor.Metrics != nil {
|
||||
monitor.Metrics.Group = monitor.Name
|
||||
}
|
||||
monitor.Benchmark = detections[group].Benchmark
|
||||
monitor.Candy = detections[group].Candy
|
||||
monitor.Benchmark = nil
|
||||
monitor.Vision = detections[group].Vision
|
||||
monitor.VisionUnavailable = visionUnavailable[group]
|
||||
monitor.Ciallo = detections[group].Ciallo
|
||||
monitor.ProbeHistory = detections[group].ProbeHistory
|
||||
applyCurrentStatus(&monitor, userResults[group], now.Unix())
|
||||
monitors = append(monitors, monitor)
|
||||
|
||||
Reference in new issue
Block a user