gdvalle/trafficserver_exporter

Duplicated timeseries in collector registry - procstats

Closed this issue · 2 comments

  File "/opt/python/bin/trafficserver_exporter", line 11, in <module>
    load_entry_point('trafficserver-exporter==0.3.3', 'console_scripts', 'trafficserver_exporter')()
  File "/opt/python/lib/python3.6/site-packages/trafficserver_exporter-0.3.3-py3.6.egg/trafficserver_exporter/trafficserver_exporter.py", line 126, in main
    pid=lambda: get_ts_pid(args.pidfile), namespace="trafficserver"
  File "/opt/python/lib/python3.6/site-packages/prometheus_client-0.8.0-py3.6.egg/prometheus_client/registry.py", line 31, in register
    duplicates))
ValueError: Duplicated timeseries in CollectorRegistry: {'trafficserver_process_cpu_seconds_total', 'trafficserver_process_cpu_seconds_created', 'trafficserver_process_start_time_seconds', 'trafficserver_process_open_fds', 'trafficserver_process_max_fds', 'trafficserver_process_virtual_memory_bytes', 'trafficserver_process_resident_memory_bytes'}```  I'm testing this on trafficserver9 and python3.6

Hi! Thanks for the report.

It looks like ProcessCollector is registering itself on init, and we're attempting to re-register it with the explicit REGISTRY.register(). I think we can just let it register itself.

Would you like to submit a patch for this?

Sure, I can submit a patch for this