@@ -17,19 +17,18 @@ import (
17
17
"bufio"
18
18
"bytes"
19
19
"fmt"
20
+ "log/slog"
20
21
"net"
21
22
"net/http"
22
23
_ "net/http/pprof"
23
24
"os"
24
25
25
26
"github.com/alecthomas/kingpin/v2"
26
- "github.com/go-kit/log"
27
- "github.com/go-kit/log/level"
28
27
"github.com/prometheus/client_golang/prometheus"
29
28
clientVersion "github.com/prometheus/client_golang/prometheus/collectors/version"
30
29
"github.com/prometheus/client_golang/prometheus/promhttp"
31
- "github.com/prometheus/common/promlog "
32
- "github.com/prometheus/common/promlog /flag"
30
+ "github.com/prometheus/common/promslog "
31
+ "github.com/prometheus/common/promslog /flag"
33
32
"github.com/prometheus/common/version"
34
33
"github.com/prometheus/exporter-toolkit/web"
35
34
"github.com/prometheus/exporter-toolkit/web/kingpinflag"
@@ -57,33 +56,33 @@ func init() {
57
56
prometheus .MustRegister (clientVersion .NewCollector ("graphite_exporter" ))
58
57
}
59
58
60
- func dumpFSM (mapper * mapper.MetricMapper , dumpFilename string , logger log .Logger ) error {
59
+ func dumpFSM (mapper * mapper.MetricMapper , dumpFilename string , logger * slog .Logger ) error {
61
60
if mapper .FSM == nil {
62
61
return fmt .Errorf ("no FSM available to be dumped, possibly because the mapping contains regex patterns" )
63
62
}
64
63
f , err := os .Create (dumpFilename )
65
64
if err != nil {
66
65
return err
67
66
}
68
- level .Info (logger ). Log ( "msg" , "Start dumping FSM" , "to" , dumpFilename )
67
+ logger .Info ("Start dumping FSM" , "to" , dumpFilename )
69
68
w := bufio .NewWriter (f )
70
69
mapper .FSM .DumpFSM (w )
71
70
w .Flush ()
72
71
f .Close ()
73
- level .Info (logger ). Log ( "msg" , "Finish dumping FSM" )
72
+ logger .Info ("Finish dumping FSM" )
74
73
return nil
75
74
}
76
75
77
76
func main () {
78
- promlogConfig := & promlog .Config {}
79
- flag .AddFlags (kingpin .CommandLine , promlogConfig )
77
+ promslogConfig := & promslog .Config {}
78
+ flag .AddFlags (kingpin .CommandLine , promslogConfig )
80
79
kingpin .Version (version .Print ("graphite_exporter" ))
81
80
kingpin .HelpFlag .Short ('h' )
82
81
kingpin .Parse ()
83
- logger := promlog .New (promlogConfig )
82
+ logger := promslog .New (promslogConfig )
84
83
85
- level .Info (logger ). Log ( "msg" , "Starting graphite_exporter" , "version_info" , version .Info ())
86
- level .Info (logger ). Log ( "build_context" , version .BuildContext ())
84
+ logger .Info ("Starting graphite_exporter" , "version_info" , version .Info ())
85
+ logger .Info (version .BuildContext ())
87
86
88
87
http .Handle (* metricsPath , promhttp .Handler ())
89
88
c := collector .NewGraphiteCollector (logger , * strictMatch , * sampleExpiry )
@@ -93,27 +92,27 @@ func main() {
93
92
if * mappingConfig != "" {
94
93
err := metricMapper .InitFromFile (* mappingConfig )
95
94
if err != nil {
96
- level .Error (logger ). Log ( "msg" , "Error loading metric mapping config" , "err" , err )
95
+ logger .Error ("Error loading metric mapping config" , "err" , err )
97
96
os .Exit (1 )
98
97
}
99
98
}
100
99
101
100
cache , err := getCache (* cacheSize , * cacheType , prometheus .DefaultRegisterer )
102
101
if err != nil {
103
- level .Error (logger ). Log ( "msg" , "error initializing mapper cache" , "err" , err )
102
+ logger .Error ("error initializing mapper cache" , "err" , err )
104
103
os .Exit (1 )
105
104
}
106
105
metricMapper .UseCache (cache )
107
106
108
107
if * checkConfig {
109
- level .Info (logger ). Log ( "msg" , "Configuration check successful, exiting" )
108
+ logger .Info ("Configuration check successful, exiting" )
110
109
return
111
110
}
112
111
113
112
if * dumpFSMPath != "" {
114
113
err := dumpFSM (metricMapper , * dumpFSMPath , logger )
115
114
if err != nil {
116
- level .Error (logger ). Log ( "msg" , "Error dumping FSM" , "err" , err )
115
+ logger .Error ("Error dumping FSM" , "err" , err )
117
116
os .Exit (1 )
118
117
}
119
118
}
@@ -122,14 +121,14 @@ func main() {
122
121
123
122
tcpSock , err := net .Listen ("tcp" , * graphiteAddress )
124
123
if err != nil {
125
- level .Error (logger ). Log ( "msg" , "Error binding to TCP socket" , "err" , err )
124
+ logger .Error ("Error binding to TCP socket" , "err" , err )
126
125
os .Exit (1 )
127
126
}
128
127
go func () {
129
128
for {
130
129
conn , err := tcpSock .Accept ()
131
130
if err != nil {
132
- level .Error (logger ). Log ( "msg" , "Error accepting TCP connection" , "err" , err )
131
+ logger .Error ("Error accepting TCP connection" , "err" , err )
133
132
continue
134
133
}
135
134
go func () {
@@ -141,12 +140,12 @@ func main() {
141
140
142
141
udpAddress , err := net .ResolveUDPAddr ("udp" , * graphiteAddress )
143
142
if err != nil {
144
- level .Error (logger ). Log ( "msg" , "Error resolving UDP address" , "err" , err )
143
+ logger .Error ("Error resolving UDP address" , "err" , err )
145
144
os .Exit (1 )
146
145
}
147
146
udpSock , err := net .ListenUDP ("udp" , udpAddress )
148
147
if err != nil {
149
- level .Error (logger ). Log ( "msg" , "Error listening to UDP address" , "err" , err )
148
+ logger .Error ("Error listening to UDP address" , "err" , err )
150
149
os .Exit (1 )
151
150
}
152
151
go func () {
@@ -155,7 +154,7 @@ func main() {
155
154
buf := make ([]byte , 65536 )
156
155
chars , srcAddress , err := udpSock .ReadFromUDP (buf )
157
156
if err != nil {
158
- level .Error (logger ). Log ( "msg" , "Error reading UDP packet" , "from" , srcAddress , "err" , err )
157
+ logger .Error ("Error reading UDP packet" , "from" , srcAddress , "err" , err )
159
158
continue
160
159
}
161
160
go c .ProcessReader (bytes .NewReader (buf [0 :chars ]))
@@ -179,7 +178,7 @@ func main() {
179
178
180
179
server := & http.Server {}
181
180
if err := web .ListenAndServe (server , toolkitFlags , logger ); err != nil {
182
- level .Error (logger ). Log ( "err" , err )
181
+ logger .Error ("error running HTTP server" , "err" , err )
183
182
os .Exit (1 )
184
183
}
185
184
}
0 commit comments