client_python
client_python copied to clipboard
`write_to_textfile` leaves back temp files on errors
Hey.
A simple:
prometheus_client.write_to_textfile("", registry=registry)
which causes an exception:
Traceback (most recent call last):
File "/home/calestyo/prj/prometheus-smart-array-collector/src/./smart-array.py", line 1185, in <module>
sys.exit(main())
^^^^^^
File "/home/calestyo/prj/prometheus-smart-array-collector/src/./smart-array.py", line 1176, in main
prometheus_client.write_to_textfile("", registry=registry)
File "/usr/lib/python3/dist-packages/prometheus_client/exposition.py", line 363, in write_to_textfile
os.rename(tmppath, path)
FileNotFoundError: [Errno 2] No such file or directory: '.969277.139657657282624' -> ''
shows that the module doesn't properly clean up it's temp files on errors, as that file is left over afterwards.
Cheers, Chris.
Seems reasonable to avoid leaving around tons of temporary files, though they will be cleaned up eventually. I'd be happy to accept a PR.
PTAL #1066 @calestyo @csmarchbanks