2015-03-22 14:14:00 -05:00
|
|
|
package metrics
|
|
|
|
|
|
|
|
import (
|
2017-09-04 12:16:35 -05:00
|
|
|
"context"
|
2015-03-22 14:14:00 -05:00
|
|
|
|
2017-09-06 15:00:17 -05:00
|
|
|
ini "gopkg.in/ini.v1"
|
|
|
|
|
2015-03-22 14:45:13 -05:00
|
|
|
"github.com/grafana/grafana/pkg/log"
|
2017-09-06 12:23:03 -05:00
|
|
|
"github.com/grafana/grafana/pkg/metrics/graphitebridge"
|
2015-03-22 14:14:00 -05:00
|
|
|
)
|
|
|
|
|
2016-06-07 02:29:47 -05:00
|
|
|
var metricsLogger log.Logger = log.New("metrics")
|
|
|
|
|
2017-09-04 12:16:35 -05:00
|
|
|
type logWrapper struct {
|
|
|
|
logger log.Logger
|
|
|
|
}
|
|
|
|
|
|
|
|
func (lw *logWrapper) Println(v ...interface{}) {
|
|
|
|
lw.logger.Info("graphite metric bridge", v...)
|
|
|
|
}
|
|
|
|
|
2017-09-06 15:00:17 -05:00
|
|
|
func Init(file *ini.File) {
|
|
|
|
cfg := ReadSettings(file)
|
|
|
|
internalInit(cfg)
|
|
|
|
}
|
|
|
|
|
|
|
|
func internalInit(settings *MetricSettings) {
|
2016-06-03 05:50:51 -05:00
|
|
|
initMetricVars(settings)
|
2017-09-04 12:16:35 -05:00
|
|
|
|
2017-09-05 16:19:57 -05:00
|
|
|
if settings.GraphiteBridgeConfig != nil {
|
2017-09-06 12:23:03 -05:00
|
|
|
bridge, err := graphitebridge.NewBridge(settings.GraphiteBridgeConfig)
|
2017-09-05 16:19:57 -05:00
|
|
|
if err != nil {
|
|
|
|
metricsLogger.Error("failed to create graphite bridge", "error", err)
|
2015-09-29 06:47:56 -05:00
|
|
|
} else {
|
2017-09-05 16:19:57 -05:00
|
|
|
go bridge.Run(context.Background())
|
2015-09-29 06:47:56 -05:00
|
|
|
}
|
|
|
|
}
|
2015-03-22 14:14:00 -05:00
|
|
|
}
|