forked from vieter-v/vieter
				
			feat(metrics): add prefix; use base unit for time
							parent
							
								
									849bf54979
								
							
						
					
					
						commit
						60d5fb77e0
					
				|  | @ -10,8 +10,9 @@ fn (mut app App) v1_metrics() web.Result { | |||
| 		return app.status(.not_found) | ||||
| 	} | ||||
| 
 | ||||
| 	mut exporter := metrics.new_prometheus_exporter([0.01, 0.05, 0.1, 0.5, 1, 100]) | ||||
| 	exporter.load(app.collector) | ||||
| 	mut exporter := metrics.new_prometheus_exporter([0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, | ||||
| 		10]) | ||||
| 	exporter.load('vieter_', app.collector) | ||||
| 
 | ||||
| 	// TODO stream to connection instead | ||||
| 	body := exporter.export_to_string() or { return app.status(.internal_server_error) } | ||||
|  |  | |||
|  | @ -335,11 +335,15 @@ fn handle_conn<T>(mut conn net.TcpConn, mut app T, routes map[string]Route) { | |||
| 		labels := [ | ||||
| 			['method', app.req.method.str()]!, | ||||
| 			['path', app.req.url]!, | ||||
| 			// Not all methods properly set this value yet I think | ||||
| 			['status', app.status.int().str()]!, | ||||
| 		] | ||||
| 		app.collector.counter_increment(name: 'http_requests_total', labels: labels) | ||||
| 		app.collector.histogram_record(time.ticks() - app.page_gen_start, | ||||
| 			name: 'http_requests_time_ms' | ||||
| 		// Prometheus prefers metrics containing base units, as defined here | ||||
| 		// https://prometheus.io/docs/practices/naming/ | ||||
| 		app.collector.histogram_record(f64(time.ticks() - app.page_gen_start) / 1000, | ||||
| 			 | ||||
| 			name: 'http_requests_duration_seconds' | ||||
| 			labels: labels | ||||
| 		) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue