Skip to content

Commit

Permalink
add alerts as event intervals for viewing
Browse files Browse the repository at this point in the history
  • Loading branch information
deads2k committed Oct 6, 2021
1 parent a650954 commit 0dad46b
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
49 changes: 49 additions & 0 deletions pkg/monitor/alerts.go
@@ -1 +1,50 @@
package monitor

import (
"context"
"fmt"
"strings"
"time"

routeclient "github.com/openshift/client-go/route/clientset/versioned"
"github.com/openshift/library-go/test/library/metrics"
"github.com/openshift/origin/pkg/monitor/monitorapi"
prometheusv1 "github.com/prometheus/client_golang/api/prometheus/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
)

func CreateEventIntervalsForAlerts(ctx context.Context, restConfig *rest.Config, startTime time.Time) ([]monitorapi.EventInterval, error) {
kubeClient, err := kubernetes.NewForConfig(restConfig)
if err != nil {
return nil, err
}
routeClient, err := routeclient.NewForConfig(restConfig)
if err != nil {
return nil, err
}
prometheusClient, err := metrics.NewPrometheusClient(ctx, kubeClient, routeClient)
if err != nil {
return nil, err
}

timeRange := prometheusv1.Range{
Start: startTime,
End: time.Now(),
Step: 1 * time.Second,
}
alerts, warningsForQuery, err := prometheusClient.QueryRange(ctx, `ALERTS{alertstate="firing"}`, timeRange)
if err != nil {
return nil, err
}
if len(warningsForQuery) > 0 {
fmt.Printf("#### warnings \n\t%v\n", strings.Join(warningsForQuery, "\n\t"))
}

fmt.Printf("\n\n\n#### alertType=%v\n", alerts.Type())
fmt.Printf("\n\n\n#### alerts=%v\n\n\n", alerts.String())

ret := []monitorapi.EventInterval{}

return ret, nil
}
9 changes: 9 additions & 0 deletions pkg/test/ginkgo/cmd_runsuite.go
Expand Up @@ -367,6 +367,15 @@ func (opt *Options) Run(suite *TestSuite) error {
sort.Sort(events)
}
}

// add events from alerts so we can create the intervals
alertEventIntervals, err := monitor.CreateEventIntervalsForAlerts(ctx, restConfig, start)
if err != nil {
fmt.Printf("\n\n\n#### alertErr=%v\n", err)
}
events = append(events, alertEventIntervals...)
sort.Sort(events)

events.Clamp(start, end)

if len(opt.JUnitDir) > 0 {
Expand Down

0 comments on commit 0dad46b

Please sign in to comment.