@@ -62,109 +62,109 @@ func NewExporter(pm PoolManager) *Exporter {
62
62
up : prometheus .NewDesc (
63
63
prometheus .BuildFQName (namespace , "" , "up" ),
64
64
"Could PHP-FPM be reached?" ,
65
- []string {"pool" },
65
+ []string {"pool" , "scrape_uri" },
66
66
nil ),
67
67
68
68
scrapeFailues : prometheus .NewDesc (
69
69
prometheus .BuildFQName (namespace , "" , "scrape_failures" ),
70
70
"The number of failures scraping from PHP-FPM." ,
71
- []string {"pool" },
71
+ []string {"pool" , "scrape_uri" },
72
72
nil ),
73
73
74
74
startSince : prometheus .NewDesc (
75
75
prometheus .BuildFQName (namespace , "" , "start_since" ),
76
76
"The number of seconds since FPM has started." ,
77
- []string {"pool" },
77
+ []string {"pool" , "scrape_uri" },
78
78
nil ),
79
79
80
80
acceptedConnections : prometheus .NewDesc (
81
81
prometheus .BuildFQName (namespace , "" , "accepted_connections" ),
82
82
"The number of requests accepted by the pool." ,
83
- []string {"pool" },
83
+ []string {"pool" , "scrape_uri" },
84
84
nil ),
85
85
86
86
listenQueue : prometheus .NewDesc (
87
87
prometheus .BuildFQName (namespace , "" , "listen_queue" ),
88
88
"The number of requests in the queue of pending connections." ,
89
- []string {"pool" },
89
+ []string {"pool" , "scrape_uri" },
90
90
nil ),
91
91
92
92
maxListenQueue : prometheus .NewDesc (
93
93
prometheus .BuildFQName (namespace , "" , "max_listen_queue" ),
94
94
"The maximum number of requests in the queue of pending connections since FPM has started." ,
95
- []string {"pool" },
95
+ []string {"pool" , "scrape_uri" },
96
96
nil ),
97
97
98
98
listenQueueLength : prometheus .NewDesc (
99
99
prometheus .BuildFQName (namespace , "" , "listen_queue_length" ),
100
100
"The size of the socket queue of pending connections." ,
101
- []string {"pool" },
101
+ []string {"pool" , "scrape_uri" },
102
102
nil ),
103
103
104
104
idleProcesses : prometheus .NewDesc (
105
105
prometheus .BuildFQName (namespace , "" , "idle_processes" ),
106
106
"The number of idle processes." ,
107
- []string {"pool" },
107
+ []string {"pool" , "scrape_uri" },
108
108
nil ),
109
109
110
110
activeProcesses : prometheus .NewDesc (
111
111
prometheus .BuildFQName (namespace , "" , "active_processes" ),
112
112
"The number of active processes." ,
113
- []string {"pool" },
113
+ []string {"pool" , "scrape_uri" },
114
114
nil ),
115
115
116
116
totalProcesses : prometheus .NewDesc (
117
117
prometheus .BuildFQName (namespace , "" , "total_processes" ),
118
118
"The number of idle + active processes." ,
119
- []string {"pool" },
119
+ []string {"pool" , "scrape_uri" },
120
120
nil ),
121
121
122
122
maxActiveProcesses : prometheus .NewDesc (
123
123
prometheus .BuildFQName (namespace , "" , "max_active_processes" ),
124
124
"The maximum number of active processes since FPM has started." ,
125
- []string {"pool" },
125
+ []string {"pool" , "scrape_uri" },
126
126
nil ),
127
127
128
128
maxChildrenReached : prometheus .NewDesc (
129
129
prometheus .BuildFQName (namespace , "" , "max_children_reached" ),
130
130
"The number of times, the process limit has been reached, when pm tries to start more children (works only for pm 'dynamic' and 'ondemand')." ,
131
- []string {"pool" },
131
+ []string {"pool" , "scrape_uri" },
132
132
nil ),
133
133
134
134
slowRequests : prometheus .NewDesc (
135
135
prometheus .BuildFQName (namespace , "" , "slow_requests" ),
136
136
"The number of requests that exceeded your 'request_slowlog_timeout' value." ,
137
- []string {"pool" },
137
+ []string {"pool" , "scrape_uri" },
138
138
nil ),
139
139
140
140
processRequests : prometheus .NewDesc (
141
141
prometheus .BuildFQName (namespace , "" , "process_requests" ),
142
142
"The number of requests the process has served." ,
143
- []string {"pool" , "pid_hash" },
143
+ []string {"pool" , "pid_hash" , "scrape_uri" },
144
144
nil ),
145
145
146
146
processLastRequestMemory : prometheus .NewDesc (
147
147
prometheus .BuildFQName (namespace , "" , "process_last_request_memory" ),
148
148
"The max amount of memory the last request consumed." ,
149
- []string {"pool" , "pid_hash" },
149
+ []string {"pool" , "pid_hash" , "scrape_uri" },
150
150
nil ),
151
151
152
152
processLastRequestCPU : prometheus .NewDesc (
153
153
prometheus .BuildFQName (namespace , "" , "process_last_request_cpu" ),
154
154
"The %cpu the last request consumed." ,
155
- []string {"pool" , "pid_hash" },
155
+ []string {"pool" , "pid_hash" , "scrape_uri" },
156
156
nil ),
157
157
158
158
processRequestDuration : prometheus .NewDesc (
159
159
prometheus .BuildFQName (namespace , "" , "process_request_duration" ),
160
160
"The duration in microseconds of the requests." ,
161
- []string {"pool" , "pid_hash" },
161
+ []string {"pool" , "pid_hash" , "scrape_uri" },
162
162
nil ),
163
163
164
164
processState : prometheus .NewDesc (
165
165
prometheus .BuildFQName (namespace , "" , "process_state" ),
166
166
"The state of the process (Idle, Running, ...)." ,
167
- []string {"pool" , "pid_hash" , "state" },
167
+ []string {"pool" , "pid_hash" , "state" , "scrape_uri" },
168
168
nil ),
169
169
}
170
170
}
@@ -179,10 +179,10 @@ func (e *Exporter) Collect(ch chan<- prometheus.Metric) {
179
179
}
180
180
181
181
for _ , pool := range e .PoolManager .Pools {
182
- ch <- prometheus .MustNewConstMetric (e .scrapeFailues , prometheus .CounterValue , float64 (pool .ScrapeFailures ), pool .Name )
182
+ ch <- prometheus .MustNewConstMetric (e .scrapeFailues , prometheus .CounterValue , float64 (pool .ScrapeFailures ), pool .Name , pool . Address )
183
183
184
184
if pool .ScrapeError != nil {
185
- ch <- prometheus .MustNewConstMetric (e .up , prometheus .GaugeValue , 0 , pool .Name )
185
+ ch <- prometheus .MustNewConstMetric (e .up , prometheus .GaugeValue , 0 , pool .Name , pool . Address )
186
186
log .Errorf ("Error scraping PHP-FPM: %v" , pool .ScrapeError )
187
187
continue
188
188
}
@@ -198,26 +198,26 @@ func (e *Exporter) Collect(ch chan<- prometheus.Metric) {
198
198
total = pool .TotalProcesses
199
199
}
200
200
201
- ch <- prometheus .MustNewConstMetric (e .up , prometheus .GaugeValue , 1 , pool .Name )
202
- ch <- prometheus .MustNewConstMetric (e .startSince , prometheus .CounterValue , float64 (pool .StartSince ), pool .Name )
203
- ch <- prometheus .MustNewConstMetric (e .acceptedConnections , prometheus .CounterValue , float64 (pool .AcceptedConnections ), pool .Name )
204
- ch <- prometheus .MustNewConstMetric (e .listenQueue , prometheus .GaugeValue , float64 (pool .ListenQueue ), pool .Name )
205
- ch <- prometheus .MustNewConstMetric (e .maxListenQueue , prometheus .CounterValue , float64 (pool .MaxListenQueue ), pool .Name )
206
- ch <- prometheus .MustNewConstMetric (e .listenQueueLength , prometheus .GaugeValue , float64 (pool .ListenQueueLength ), pool .Name )
207
- ch <- prometheus .MustNewConstMetric (e .idleProcesses , prometheus .GaugeValue , float64 (idle ), pool .Name )
208
- ch <- prometheus .MustNewConstMetric (e .activeProcesses , prometheus .GaugeValue , float64 (active ), pool .Name )
209
- ch <- prometheus .MustNewConstMetric (e .totalProcesses , prometheus .GaugeValue , float64 (total ), pool .Name )
210
- ch <- prometheus .MustNewConstMetric (e .maxActiveProcesses , prometheus .CounterValue , float64 (pool .MaxActiveProcesses ), pool .Name )
211
- ch <- prometheus .MustNewConstMetric (e .maxChildrenReached , prometheus .CounterValue , float64 (pool .MaxChildrenReached ), pool .Name )
212
- ch <- prometheus .MustNewConstMetric (e .slowRequests , prometheus .CounterValue , float64 (pool .SlowRequests ), pool .Name )
201
+ ch <- prometheus .MustNewConstMetric (e .up , prometheus .GaugeValue , 1 , pool .Name , pool . Address )
202
+ ch <- prometheus .MustNewConstMetric (e .startSince , prometheus .CounterValue , float64 (pool .StartSince ), pool .Name , pool . Address )
203
+ ch <- prometheus .MustNewConstMetric (e .acceptedConnections , prometheus .CounterValue , float64 (pool .AcceptedConnections ), pool .Name , pool . Address )
204
+ ch <- prometheus .MustNewConstMetric (e .listenQueue , prometheus .GaugeValue , float64 (pool .ListenQueue ), pool .Name , pool . Address )
205
+ ch <- prometheus .MustNewConstMetric (e .maxListenQueue , prometheus .CounterValue , float64 (pool .MaxListenQueue ), pool .Name , pool . Address )
206
+ ch <- prometheus .MustNewConstMetric (e .listenQueueLength , prometheus .GaugeValue , float64 (pool .ListenQueueLength ), pool .Name , pool . Address )
207
+ ch <- prometheus .MustNewConstMetric (e .idleProcesses , prometheus .GaugeValue , float64 (idle ), pool .Name , pool . Address )
208
+ ch <- prometheus .MustNewConstMetric (e .activeProcesses , prometheus .GaugeValue , float64 (active ), pool .Name , pool . Address )
209
+ ch <- prometheus .MustNewConstMetric (e .totalProcesses , prometheus .GaugeValue , float64 (total ), pool .Name , pool . Address )
210
+ ch <- prometheus .MustNewConstMetric (e .maxActiveProcesses , prometheus .CounterValue , float64 (pool .MaxActiveProcesses ), pool .Name , pool . Address )
211
+ ch <- prometheus .MustNewConstMetric (e .maxChildrenReached , prometheus .CounterValue , float64 (pool .MaxChildrenReached ), pool .Name , pool . Address )
212
+ ch <- prometheus .MustNewConstMetric (e .slowRequests , prometheus .CounterValue , float64 (pool .SlowRequests ), pool .Name , pool . Address )
213
213
214
214
for _ , process := range pool .Processes {
215
215
pidHash := calculateProcessHash (process )
216
- ch <- prometheus .MustNewConstMetric (e .processState , prometheus .GaugeValue , 1 , pool .Name , pidHash , process .State )
217
- ch <- prometheus .MustNewConstMetric (e .processRequests , prometheus .CounterValue , float64 (process .Requests ), pool .Name , pidHash )
218
- ch <- prometheus .MustNewConstMetric (e .processLastRequestMemory , prometheus .GaugeValue , float64 (process .LastRequestMemory ), pool .Name , pidHash )
219
- ch <- prometheus .MustNewConstMetric (e .processLastRequestCPU , prometheus .GaugeValue , process .LastRequestCPU , pool .Name , pidHash )
220
- ch <- prometheus .MustNewConstMetric (e .processRequestDuration , prometheus .GaugeValue , float64 (process .RequestDuration ), pool .Name , pidHash )
216
+ ch <- prometheus .MustNewConstMetric (e .processState , prometheus .GaugeValue , 1 , pool .Name , pidHash , process .State , pool . Address )
217
+ ch <- prometheus .MustNewConstMetric (e .processRequests , prometheus .CounterValue , float64 (process .Requests ), pool .Name , pidHash , pool . Address )
218
+ ch <- prometheus .MustNewConstMetric (e .processLastRequestMemory , prometheus .GaugeValue , float64 (process .LastRequestMemory ), pool .Name , pidHash , pool . Address )
219
+ ch <- prometheus .MustNewConstMetric (e .processLastRequestCPU , prometheus .GaugeValue , process .LastRequestCPU , pool .Name , pidHash , pool . Address )
220
+ ch <- prometheus .MustNewConstMetric (e .processRequestDuration , prometheus .GaugeValue , float64 (process .RequestDuration ), pool .Name , pidHash , pool . Address )
221
221
}
222
222
}
223
223
}
0 commit comments