MCPcopy Create free account
hub / github.com/APIParkLab/APIPark / TokenOverview

Method TokenOverview

module/monitor/driver/influxdb-v2/executor.go:647–680  ·  view source on GitHub ↗
(ctx context.Context, start time.Time, end time.Time, wheres []monitor.MonWhereItem)

Source from the content-addressed store, hash-verified

645}
646
647func (e *executor) TokenOverview(ctx context.Context, start time.Time, end time.Time, wheres []monitor.MonWhereItem) ([]time.Time, *monitor.TokenOverview, []*monitor.TokenOverview, error) {
648 newStartTime, every, windowOffset, bucket := getTimeIntervalAndBucket(start, end)
649 filters := formatFilter(wheres)
650
651 requestConditions := []string{"total_token", "input_token", "output_token"}
652
653 dates, requestValues, err := e.fluxQuery.CommonTendency(ctx, e.openApi, newStartTime, end, bucket, "request", filters, requestConditions, every, windowOffset, flux.SumFn)
654 if err != nil {
655 return nil, nil, nil, err
656 }
657 //total := requestValues["total_token"]
658 //totalLen := len(total)
659 input := requestValues["input_token"]
660 inputLen := len(input)
661 output := requestValues["output_token"]
662 outputLen := len(output)
663 totalOverview := new(monitor.TokenOverview)
664 result := make([]*monitor.TokenOverview, 0, len(dates))
665 for i := range dates {
666 r := new(monitor.TokenOverview)
667 if inputLen > i {
668 r.InputToken = input[i]
669 }
670 if outputLen > i {
671 r.OutputToken = output[i]
672 }
673 r.TotalToken = r.InputToken + r.OutputToken
674 totalOverview.InputToken += r.InputToken
675 totalOverview.OutputToken += r.OutputToken
676 totalOverview.TotalToken += r.TotalToken
677 result = append(result, r)
678 }
679 return dates, totalOverview, result, nil
680}
681
682func (e *executor) ConsumerOverview(ctx context.Context, start time.Time, end time.Time, wheres []monitor.MonWhereItem) (int64, map[time.Time]int64, error) {
683 newStartTime, every, offset, bucket := getTimeIntervalAndBucket(start, end)

Callers

nothing calls this directly

Calls 3

getTimeIntervalAndBucketFunction · 0.85
formatFilterFunction · 0.85
CommonTendencyMethod · 0.65

Tested by

no test coverage detected