Skip to content
This repository has been archived by the owner on Jul 3, 2021. It is now read-only.

Commit

Permalink
remove vendor and code improvement uses latest version
Browse files Browse the repository at this point in the history
  • Loading branch information
yabetsu93 committed Jan 3, 2021
1 parent 979cee9 commit bc3b190
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 22 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ module qvl.io/promplot
go 1.15

require (
github.com/nlopes/slack v0.6.0
github.com/prometheus/client_golang v1.9.0 // indirect
github.com/prometheus/common v0.15.0
github.com/slack-go/slack v0.7.4 // indirect
gonum.org/v1/plot v0.8.1
)
5 changes: 5 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
Expand Down Expand Up @@ -117,6 +118,8 @@ github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.2.0 h1:VJtLvh6VQym50czpZzx07z/kw9EgAxI3x1ZB8taTMQQ=
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
Expand Down Expand Up @@ -275,6 +278,8 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/slack-go/slack v0.7.4 h1:Z+7CmUDV+ym4lYLA4NNLFIpr3+nDgViHrx8xsuXgrYs=
github.com/slack-go/slack v0.7.4/go.mod h1:FGqNzJBmxIsZURAxh2a8D21AnOVvvXZvGligs4npPUM=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
Expand Down
14 changes: 8 additions & 6 deletions promplot/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,27 @@ import (
"fmt"
"time"

"github.com/prometheus/client_golang/api/prometheus"
"github.com/prometheus/client_golang/api"
v1 "github.com/prometheus/client_golang/api/prometheus/v1"
"github.com/prometheus/common/model"
)

// Metrics fetches data from Prometheus.
func Metrics(server, query string, queryTime time.Time, duration, step time.Duration) (model.Matrix, error) {
client, err := prometheus.New(prometheus.Config{Address: server})
client, err := api.NewClient(api.Config{Address: server})
if err != nil {
return nil, fmt.Errorf("failed to create Prometheus client: %v", err)
return nil, fmt.Errorf("failed to create prometheus api client: %v", err)
}

api := prometheus.NewQueryAPI(client)
value, err := api.QueryRange(context.Background(), query, prometheus.Range{
promAPI := v1.NewAPI(client)

value, _, err := promAPI.QueryRange(context.Background(), query, v1.Range{
Start: queryTime.Add(-duration),
End: queryTime,
Step: duration / step,
})
if err != nil {
return nil, fmt.Errorf("failed to query Prometheus: %v", err)
return nil, fmt.Errorf("failed to query prometheus api: %v", err)
}

metrics, ok := value.(model.Matrix)
Expand Down
30 changes: 15 additions & 15 deletions promplot/slack.go
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
package promplot

import (
"context"
"fmt"
"io"
"io/ioutil"
"os"

"github.com/nlopes/slack"
"github.com/slack-go/slack"
)

// Slack posts a file to a Slack channel.
func Slack(token, channel, title string, plot io.WriterTo) error {
api := slack.New(token)

_, _, err := api.PostMessage(channel, title, slack.PostMessageParameters{
Username: "Promplot",
IconEmoji: ":chart_with_upwards_trend:",
})
if err != nil {
if _, _, err := api.PostMessageContext(context.Background(), channel, slack.MsgOptionPostMessageParameters(
slack.PostMessageParameters{
Username: "Promplot",
IconEmoji: ":chart_with_upwards_trend:",
},
)); err != nil {
return fmt.Errorf("failed to post message: %v", err)
}

f, err := ioutil.TempFile("", "promplot-")
if err != nil {
return fmt.Errorf("failed to create tmp file: %v", err)
}

defer func() {
err = f.Close()
if err != nil {
if err = f.Close(); err != nil {
panic(fmt.Errorf("failed to close tmp file: %v", err))
}
err := os.Remove(f.Name())
if err != nil {
if err = os.Remove(f.Name()); err != nil {
panic(fmt.Errorf("failed to delete tmp file: %v", err))
}
}()
_, err = plot.WriteTo(f)
if err != nil {

if _, err = plot.WriteTo(f); err != nil {
return fmt.Errorf("failed to write plot to file: %v", err)
}

_, err = api.UploadFile(slack.FileUploadParameters{
if _, err = api.UploadFile(slack.FileUploadParameters{
Title: title,
File: f.Name(),
Channels: []string{channel},
})
if err != nil {
}); err != nil {
return fmt.Errorf("failed to upload file: %v", err)
}

Expand Down

0 comments on commit bc3b190

Please sign in to comment.