MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / serviceStatistics

Method serviceStatistics

module/monitor/iml.go:606–641  ·  view source on GitHub ↗
(ctx context.Context, clusterId string, services []*service.Service, groupBy string, start time.Time, end time.Time, wheres []monitor.MonWhereItem, limit int)

Source from the content-addressed store, hash-verified

604}
605
606func (i *imlMonitorStatisticModule) serviceStatistics(ctx context.Context, clusterId string, services []*service.Service, groupBy string, start time.Time, end time.Time, wheres []monitor.MonWhereItem, limit int) ([]*monitor_dto.ServiceStatisticBasicItem, error) {
607 statisticMap, err := i.statistics(ctx, clusterId, groupBy, start, end, wheres, limit)
608 if err != nil {
609 return nil, err
610 }
611
612 result := make([]*monitor_dto.ServiceStatisticBasicItem, 0, len(statisticMap))
613 for _, item := range services {
614 statisticItem := &monitor_dto.ServiceStatisticBasicItem{
615 Id: item.Id,
616 Name: item.Name,
617 MonCommonData: new(monitor_dto.MonCommonData),
618 }
619 if val, ok := statisticMap[item.Id]; ok {
620 statisticItem.MonCommonData = monitor_dto.ToMonCommonData(val)
621 delete(statisticMap, item.Id)
622 }
623 result = append(result, statisticItem)
624 }
625 for key, item := range statisticMap {
626 statisticItem := &monitor_dto.ServiceStatisticBasicItem{
627 Id: key,
628 Name: "未知-" + key,
629 MonCommonData: monitor_dto.ToMonCommonData(item),
630 }
631
632 if key == "-" {
633 statisticItem.Name = "-"
634 }
635 result = append(result, statisticItem)
636 }
637 sort.Slice(result, func(i, j int) bool {
638 return result[i].RequestTotal > result[j].RequestTotal
639 })
640 return result, nil
641}
642
643func (i *imlMonitorStatisticModule) ProviderStatistics(ctx context.Context, input *monitor_dto.StatisticInput) ([]*monitor_dto.ServiceStatisticBasicItem, error) {
644 clusterId := cluster.DefaultClusterID

Callers 2

SubscriberStatisticsMethod · 0.95
ProviderStatisticsMethod · 0.95

Calls 1

statisticsMethod · 0.95

Tested by

no test coverage detected