prometheus / client_python

Prometheus instrumentation library for Python applications
Apache License 2.0
3.93k stars 794 forks source link

metrics include path parameters instead of setting them as a field #989

Closed jscancella closed 9 months ago

jscancella commented 9 months ago

@ns.route("/metadata/<string:serial_number>") results in

flask_http_request_duration_seconds_bucket{le="0.005",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 0.0
flask_http_request_duration_seconds_bucket{le="0.01",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 0.0
flask_http_request_duration_seconds_bucket{le="0.025",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 0.0
flask_http_request_duration_seconds_bucket{le="0.05",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 0.0
flask_http_request_duration_seconds_bucket{le="0.075",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 0.0
flask_http_request_duration_seconds_bucket{le="0.1",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 0.0
flask_http_request_duration_seconds_bucket{le="0.25",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 2.0
flask_http_request_duration_seconds_bucket{le="0.5",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 5.0
flask_http_request_duration_seconds_bucket{le="0.75",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 5.0
flask_http_request_duration_seconds_bucket{le="1.0",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 6.0
flask_http_request_duration_seconds_bucket{le="2.5",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 6.0
flask_http_request_duration_seconds_bucket{le="5.0",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 6.0
flask_http_request_duration_seconds_bucket{le="7.5",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 6.0
flask_http_request_duration_seconds_bucket{le="10.0",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 6.0
flask_http_request_duration_seconds_bucket{le="+Inf",method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 6.0
flask_http_request_duration_seconds_count{method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 6.0
flask_http_request_duration_seconds_sum{method="GET",path="/gateway/api/cms/metadata/77777777",status="200"} 2.229277920036111

but I would have expected it to have serial_number as a field set to 77777777 instead. Is there something I need to do for it automatically do this?

csmarchbanks commented 9 months ago

I do not believe those metrics come from this library, are you using https://github.com/rycus86/prometheus_flask_exporter? If so asking there would hopefully be able to provide an answer.

jscancella commented 9 months ago

@csmarchbanks you are correct, sorry I will ask over there.