/
history.go
54 lines (48 loc) · 1.7 KB
/
history.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package memory
import (
"net/http"
"github.com/containerum/cherry/adaptors/gonic"
"github.com/containerum/nodeMetrics/pkg/meterrs"
"github.com/containerum/nodeMetrics/pkg/metrics"
"github.com/containerum/nodeMetrics/pkg/service/handlers"
"github.com/gin-gonic/gin"
"github.com/sirupsen/logrus"
)
func History(metrics metrics.Metrics) func(ctx *gin.Context) {
return func(ctx *gin.Context) {
logrus.Debugf("START GET metrics history")
defer logrus.Debugf("END GET metrics history")
fromToStep, parsingErr := handlers.ParseFromToStep(ctx)
if parsingErr != nil {
gonic.Gonic(parsingErr, ctx)
return
}
logrus.Debugf("%+v %d points", fromToStep, fromToStep.To.Sub(fromToStep.From)/fromToStep.Step)
memoryHistory, err := metrics.MemoryHistory(fromToStep.From, fromToStep.To, fromToStep.Step)
if err != nil {
gonic.Gonic(meterrs.ErrUnableToGetMemoryHistory().AddDetailsErr(err), ctx)
return
}
logrus.Debugf("writing response")
ctx.JSON(http.StatusOK, memoryHistory)
}
}
func NodeHistory(metrics metrics.Metrics) func(ctx *gin.Context) {
return func(ctx *gin.Context) {
logrus.Debugf("START GET nodes metrics history")
defer logrus.Debugf("END GET nodes metrics history")
fromToStep, parsingErr := handlers.ParseFromToStep(ctx)
if parsingErr != nil {
gonic.Gonic(parsingErr, ctx)
return
}
logrus.Debugf("%+v %d points", fromToStep, fromToStep.To.Sub(fromToStep.From)/fromToStep.Step)
memoryHistory, err := metrics.MemoryNodesHistory(fromToStep.From, fromToStep.To, fromToStep.Step)
if err != nil {
gonic.Gonic(meterrs.ErrUnableToGetMemoryHistory().AddDetailsErr(err), ctx)
return
}
logrus.Debugf("writing response")
ctx.JSON(http.StatusOK, memoryHistory)
}
}