Scrape Errors when Return value is not a number
I frequently get errors that puts the prometheus job in failure:
docker-hub-limit-exporter | Traceback (most recent call last):
docker-hub-limit-exporter | File "/usr/local/lib/python3.9/wsgiref/handlers.py", line 137, in run
docker-hub-limit-exporter | self.result = application(self.environ, self.start_response)
docker-hub-limit-exporter | File "/usr/local/lib/python3.9/site-packages/prometheus_client/exposition.py", line 53, in prometheus_app
docker-hub-limit-exporter | status, header, output = _bake_output(registry, accept_header, params)
docker-hub-limit-exporter | File "/usr/local/lib/python3.9/site-packages/prometheus_client/exposition.py", line 41, in _bake_output
docker-hub-limit-exporter | output = encoder(registry)
docker-hub-limit-exporter | File "/usr/local/lib/python3.9/site-packages/prometheus_client/openmetrics/exposition.py", line 56, in generate_latest
docker-hub-limit-exporter | floatToGoString(s.value),
docker-hub-limit-exporter | File "/usr/local/lib/python3.9/site-packages/prometheus_client/utils.py", line 9, in floatToGoString
docker-hub-limit-exporter | d = float(d)
docker-hub-limit-exporter | ValueError: ("could not convert string to float: ''", Metric(dockerhub_limit_remaining_requests_total, Docker Hub Rate Limit Remaining Requests, gauge, , [Sample(name='dockerhub_limit_remaining_requests_total', labels={'limit': 'remaining_requests_total'}, value='', timestamp=None, exemplar=None)]))
...
docker-hub-limit-exporter | HTTP Headers START
docker-hub-limit-exporter | Content-Length: 2782
docker-hub-limit-exporter | Content-Type: application/vnd.docker.distribution.manifest.v1+prettyjws
docker-hub-limit-exporter | Docker-Content-Digest: sha256:767a3815c34823b355bed31760d5fa3daca0aec2ce15b217c9cd83229e0e2020
docker-hub-limit-exporter | Docker-Distribution-Api-Version: registry/2.0
docker-hub-limit-exporter | Etag: "sha256:767a3815c34823b355bed31760d5fa3daca0aec2ce15b217c9cd83229e0e2020"
docker-hub-limit-exporter | Date: Mon, 08 Mar 2021 13:18:29 GMT
docker-hub-limit-exporter | Strict-Transport-Security: max-age=31536000
docker-hub-limit-exporter | RateLimit-Limit: ;w=21600
docker-hub-limit-exporter | RateLimit-Remaining: ;w=21600
docker-hub-limit-exporter | HTTP Headers END
docker-hub-limit-exporter | Notice: Extracting limit from string: ;w=21600
docker-hub-limit-exporter | Notice: Extracting limit from string: ;w=21600
docker-hub-limit-exporter | Notice: Using anonymous Docker Hub token
I can not tell what causes the missing value, but would you mind adding some kind of error checking or default mapping?
Thank you.
Peter