mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-04 10:13:53 +08:00
update data
This commit is contained in:
@@ -618,7 +618,7 @@ func (e *executor) TopN(ctx context.Context, start time.Time, end time.Time, lim
|
||||
{
|
||||
Measurement: "request",
|
||||
AggregateFn: "sum()",
|
||||
Fields: []string{"total", "request", "response", "total_token"},
|
||||
Fields: []string{"total", "request", "response", "input_token", "output_token"},
|
||||
},
|
||||
{
|
||||
Measurement: "proxy",
|
||||
@@ -654,8 +654,8 @@ func (e *executor) TokenOverview(ctx context.Context, start time.Time, end time.
|
||||
if err != nil {
|
||||
return nil, nil, nil, err
|
||||
}
|
||||
total := requestValues["total_token"]
|
||||
totalLen := len(total)
|
||||
//total := requestValues["total_token"]
|
||||
//totalLen := len(total)
|
||||
input := requestValues["input_token"]
|
||||
inputLen := len(input)
|
||||
output := requestValues["output_token"]
|
||||
@@ -664,19 +664,16 @@ func (e *executor) TokenOverview(ctx context.Context, start time.Time, end time.
|
||||
result := make([]*monitor.TokenOverview, 0, len(dates))
|
||||
for i := range dates {
|
||||
r := new(monitor.TokenOverview)
|
||||
if totalLen > i {
|
||||
r.TotalToken = total[i]
|
||||
totalOverview.TotalToken += r.TotalToken
|
||||
}
|
||||
if inputLen > i {
|
||||
r.InputToken = input[i]
|
||||
totalOverview.InputToken += r.InputToken
|
||||
}
|
||||
if outputLen > i {
|
||||
r.OutputToken = output[i]
|
||||
totalOverview.OutputToken += r.OutputToken
|
||||
}
|
||||
|
||||
r.TotalToken = r.InputToken + r.OutputToken
|
||||
totalOverview.InputToken += r.InputToken
|
||||
totalOverview.OutputToken += r.OutputToken
|
||||
totalOverview.TotalToken += r.TotalToken
|
||||
result = append(result, r)
|
||||
}
|
||||
return dates, totalOverview, result, nil
|
||||
|
||||
@@ -65,9 +65,11 @@ func (f *fluxQuery) CommonStatistics(ctx context.Context, queryApi api.QueryAPI,
|
||||
totalResponse := common.FmtIntFromInterface(maps["response"])
|
||||
maxResponse := common.FmtIntFromInterface(maps["response_max"])
|
||||
minResponse := common.FmtIntFromInterface(maps["response_min"])
|
||||
totalToken := common.FmtIntFromInterface(maps["total_token"])
|
||||
maxToken := common.FmtIntFromInterface(maps["total_token_max"])
|
||||
minToken := common.FmtIntFromInterface(maps["total_token_min"])
|
||||
inputToken := common.FmtIntFromInterface(maps["input_token"])
|
||||
outputToken := common.FmtIntFromInterface(maps["output_token"])
|
||||
//totalToken := common.FmtIntFromInterface(maps["total_token"])
|
||||
//maxToken := common.FmtIntFromInterface(maps["total_token_max"])
|
||||
//minToken := common.FmtIntFromInterface(maps["total_token_min"])
|
||||
|
||||
resultMap[key] = &FluxStatistics{
|
||||
Total: total,
|
||||
@@ -83,9 +85,7 @@ func (f *fluxQuery) CommonStatistics(ctx context.Context, queryApi api.QueryAPI,
|
||||
TotalResponse: totalResponse,
|
||||
ResponseMax: maxResponse,
|
||||
ResponseMin: minResponse,
|
||||
TotalToken: totalToken,
|
||||
TokenMax: maxToken,
|
||||
TokenMin: minToken,
|
||||
TotalToken: inputToken + outputToken,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+61
-33
@@ -112,10 +112,11 @@ func (i *imlMonitorStatisticModule) AIChartOverview(ctx context.Context, service
|
||||
if avgRequestPerSubscriber > result.MaxRequestPerSubscriber {
|
||||
result.MaxRequestPerSubscriber = avgRequestPerSubscriber
|
||||
}
|
||||
if result.MinRequestPerSubscriber == 0 || result.MinRequestPerSubscriber > avgRequestPerSubscriber {
|
||||
result.MinRequestPerSubscriber = avgRequestPerSubscriber
|
||||
}
|
||||
}
|
||||
if result.MinRequestPerSubscriber == 0 || result.MinRequestPerSubscriber > avgRequestPerSubscriber {
|
||||
result.MinRequestPerSubscriber = avgRequestPerSubscriber
|
||||
}
|
||||
|
||||
result.AvgRequestPerSubscriberOverview = append(result.AvgRequestPerSubscriberOverview, avgRequestPerSubscriber)
|
||||
result.RequestOverview = append(result.RequestOverview, &monitor_dto.StatusCodeOverview{
|
||||
Status2xx: item.Status2xx,
|
||||
@@ -179,9 +180,9 @@ func (i *imlMonitorStatisticModule) AIChartOverview(ctx context.Context, service
|
||||
if avgTotalPerSubscriber > result.MaxTokenPerSubscriber {
|
||||
result.MaxTokenPerSubscriber = avgTotalPerSubscriber
|
||||
}
|
||||
}
|
||||
if result.MinTokenPerSubscriber == 0 || result.MinTokenPerSubscriber > avgTotalPerSubscriber {
|
||||
result.MinTokenPerSubscriber = avgTotalPerSubscriber
|
||||
if result.MinTokenPerSubscriber == 0 || result.MinTokenPerSubscriber > avgTotalPerSubscriber {
|
||||
result.MinTokenPerSubscriber = avgTotalPerSubscriber
|
||||
}
|
||||
}
|
||||
|
||||
result.AvgTokenPerSubscriberOverview = append(result.AvgTokenPerSubscriberOverview, &monitor_dto.TokenFloatOverview{
|
||||
@@ -221,7 +222,8 @@ func (i *imlMonitorStatisticModule) AIChartOverview(ctx context.Context, service
|
||||
if maxTokenPerSecond < p {
|
||||
maxTokenPerSecond = p
|
||||
}
|
||||
if minTokenPerSecond == 0 || minTokenPerSecond > p {
|
||||
|
||||
if p > 0 && (minTokenPerSecond == 0 || minTokenPerSecond > p) {
|
||||
minTokenPerSecond = p
|
||||
}
|
||||
}
|
||||
@@ -272,11 +274,11 @@ func (i *imlMonitorStatisticModule) RestChartOverview(ctx context.Context, servi
|
||||
if avgRequestPerSubscriber > result.MaxRequestPerSubscriber {
|
||||
result.MaxRequestPerSubscriber = avgRequestPerSubscriber
|
||||
}
|
||||
if result.MinRequestPerSubscriber == 0 || avgRequestPerSubscriber < result.MinRequestPerSubscriber {
|
||||
result.MinRequestPerSubscriber = avgRequestPerSubscriber
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if result.MinRequestPerSubscriber == 0 || avgRequestPerSubscriber < result.MinRequestPerSubscriber {
|
||||
result.MinRequestPerSubscriber = avgRequestPerSubscriber
|
||||
}
|
||||
result.AvgRequestPerSubscriberOverview = append(result.AvgRequestPerSubscriberOverview, avgRequestPerSubscriber)
|
||||
result.RequestOverview = append(result.RequestOverview, &monitor_dto.StatusCodeOverview{
|
||||
Status2xx: item.Status2xx,
|
||||
@@ -300,10 +302,18 @@ func (i *imlMonitorStatisticModule) RestChartOverview(ctx context.Context, servi
|
||||
errChan <- err
|
||||
return
|
||||
}
|
||||
for _, item := range items {
|
||||
if item > result.MaxResponseTime {
|
||||
result.MaxResponseTime = item
|
||||
}
|
||||
if result.MinResponseTime == 0 || item < result.MinResponseTime {
|
||||
result.MinResponseTime = item
|
||||
}
|
||||
}
|
||||
result.AvgResponseTimeOverview = items
|
||||
result.AvgResponseTime = summary.Avg
|
||||
result.MaxResponseTime = summary.Max
|
||||
result.MinResponseTime = summary.Min
|
||||
//result.MaxResponseTime = summary.Max
|
||||
//result.MinResponseTime = summary.Min
|
||||
}()
|
||||
|
||||
go func() {
|
||||
@@ -330,11 +340,12 @@ func (i *imlMonitorStatisticModule) RestChartOverview(ctx context.Context, servi
|
||||
if avgTrafficPerSubscriber > result.MaxTrafficPerSubscriber {
|
||||
result.MaxTrafficPerSubscriber = avgTrafficPerSubscriber
|
||||
}
|
||||
if result.MinTrafficPerSubscriber == 0 || result.MinTrafficPerSubscriber > avgTrafficPerSubscriber {
|
||||
result.MinTrafficPerSubscriber = avgTrafficPerSubscriber
|
||||
}
|
||||
|
||||
}
|
||||
if result.MinTrafficPerSubscriber == 0 || result.MinTrafficPerSubscriber > avgTrafficPerSubscriber {
|
||||
result.MinTrafficPerSubscriber = avgTrafficPerSubscriber
|
||||
}
|
||||
|
||||
result.AvgTrafficPerSubscriberOverview = append(result.AvgTrafficPerSubscriberOverview, avgTrafficPerSubscriber)
|
||||
}
|
||||
result.TrafficTotal = summary.StatusTotal
|
||||
@@ -569,6 +580,10 @@ func (i *imlMonitorStatisticModule) SubscriberStatistics(ctx context.Context, in
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
apps = append(apps, &service.Service{
|
||||
Id: "apipark-global",
|
||||
Name: "System Consumer",
|
||||
})
|
||||
appIds := utils.SliceToSlice(apps, func(p *service.Service) string {
|
||||
return p.Id
|
||||
})
|
||||
@@ -777,18 +792,27 @@ func (i *imlMonitorStatisticModule) statisticOnApi(ctx context.Context, clusterI
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var service []*service.Service
|
||||
var services []*service.Service
|
||||
switch groupBy {
|
||||
case "app":
|
||||
service, err = i.serviceService.AppList(ctx)
|
||||
services, err = i.serviceService.AppList(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
services = append(services, &service.Service{
|
||||
Id: "apipark-global",
|
||||
Name: "System Consumer",
|
||||
})
|
||||
|
||||
case "provider":
|
||||
service, err = i.serviceService.ServiceList(ctx)
|
||||
services, err = i.serviceService.ServiceList(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, errors.New("invalid group by")
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
wheres, err := i.genCommonWheres(ctx, clusterId)
|
||||
if err != nil {
|
||||
@@ -806,7 +830,7 @@ func (i *imlMonitorStatisticModule) statisticOnApi(ctx context.Context, clusterI
|
||||
}
|
||||
|
||||
result := make([]*monitor_dto.ServiceStatisticBasicItem, 0, len(statisticMap))
|
||||
for _, item := range service {
|
||||
for _, item := range services {
|
||||
|
||||
statisticItem := &monitor_dto.ServiceStatisticBasicItem{
|
||||
Id: item.Id,
|
||||
@@ -872,17 +896,21 @@ func (i *imlMonitorStatisticModule) ApiStatisticsOnSubscriber(ctx context.Contex
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// 根据订阅ID查询订阅的服务列表
|
||||
subscriptions, err := i.subscribeService.MySubscribeServices(ctx, subscriberId, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
serviceIds := utils.SliceToSlice(subscriptions, func(t *subscribe.Subscribe) string {
|
||||
return t.Service
|
||||
})
|
||||
if len(serviceIds) < 1 {
|
||||
return nil, nil
|
||||
serviceIds := make([]string, 0)
|
||||
if subscriberId != "apipark-global" {
|
||||
// 根据订阅ID查询订阅的服务列表
|
||||
subscriptions, err := i.subscribeService.MySubscribeServices(ctx, subscriberId, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
serviceIds = utils.SliceToSlice(subscriptions, func(t *subscribe.Subscribe) string {
|
||||
return t.Service
|
||||
})
|
||||
if len(serviceIds) < 1 {
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
|
||||
apiInfos, err := i.apiService.ListInfoForServices(ctx, serviceIds...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user