(ctx context.Context, start time.Time, end time.Time, wheres []monitor.MonWhereItem)
| 568 | } |
| 569 | |
| 570 | func (e *executor) RequestOverview(ctx context.Context, start time.Time, end time.Time, wheres []monitor.MonWhereItem) ([]time.Time, *monitor.StatusCodeOverview, []*monitor.StatusCodeOverview, error) { |
| 571 | newStartTime, every, windowOffset, bucket := getTimeIntervalAndBucket(start, end) |
| 572 | filters := formatFilter(wheres) |
| 573 | |
| 574 | requestConditions := []string{"total", "s2xx", "s4xx", "s5xx"} |
| 575 | |
| 576 | dates, requestValues, err := e.fluxQuery.CommonTendency(ctx, e.openApi, newStartTime, end, bucket, "request", filters, requestConditions, every, windowOffset, flux.SumFn) |
| 577 | if err != nil { |
| 578 | return nil, nil, nil, err |
| 579 | } |
| 580 | total := requestValues["total"] |
| 581 | totalLen := len(total) |
| 582 | s2xx := requestValues["s2xx"] |
| 583 | s2xxLen := len(s2xx) |
| 584 | s4xx := requestValues["s4xx"] |
| 585 | s4xxLen := len(s4xx) |
| 586 | s5xx := requestValues["s5xx"] |
| 587 | s5xxLen := len(s5xx) |
| 588 | totalOverview := new(monitor.StatusCodeOverview) |
| 589 | result := make([]*monitor.StatusCodeOverview, 0, len(dates)) |
| 590 | for i := range dates { |
| 591 | r := new(monitor.StatusCodeOverview) |
| 592 | if totalLen > i { |
| 593 | r.StatusTotal = total[i] |
| 594 | totalOverview.StatusTotal += r.StatusTotal |
| 595 | } |
| 596 | if s2xxLen > i { |
| 597 | r.Status2xx = s2xx[i] |
| 598 | totalOverview.Status2xx += r.Status2xx |
| 599 | } |
| 600 | if s4xxLen > i { |
| 601 | r.Status4xx = s4xx[i] |
| 602 | totalOverview.Status4xx += r.Status4xx |
| 603 | } |
| 604 | if s5xxLen > i { |
| 605 | r.Status5xx = s5xx[i] |
| 606 | totalOverview.Status5xx += r.Status5xx |
| 607 | } |
| 608 | result = append(result, r) |
| 609 | } |
| 610 | return dates, totalOverview, result, nil |
| 611 | } |
| 612 | |
| 613 | func (e *executor) TopN(ctx context.Context, start time.Time, end time.Time, limit int, groupBy string, wheres []monitor.MonWhereItem) ([]*monitor.TopN, error) { |
| 614 | filters := formatFilter(wheres) |
nothing calls this directly
no test coverage detected