Prometheus instrumentation library for Python applications
APACHE-2.0 License
Published by brian-brazil almost 6 years ago
[ENHANCEMENT] Be more resilient to certain file corruptions (#329)
[ENHANCEMENT] Permit subclassing of MetricsHandler (#339)
[ENHANCEMENT] Updates based on latest OpenMetrics draft spec discussions (#338 #346)
[BUGFIX] In multiprocess mode, ensure that metrics initialise to the correct file (#346)
[BUGFIX] Avoid re-entrant calls to GC collector's callback (#343)
Published by brian-brazil about 6 years ago
[BUGFIX] Disable GCCollector in multiprocess mode to prevent a deadlock
Published by brian-brazil about 6 years ago
[BUGFIX] Fix OpenMetrics http negotiation handling
Published by brian-brazil about 6 years ago
[CHANGE] Counter time series will now always be exposed with _total, and counter metrics will have a _total suffix stripped. This is as the internal data model is now OpenMetrics, rather than Prometheus Text Format (#300)
[CHANGE] Samples now use a namedtuple (#300)
[FEATURE] Add OpenMetrics exposition and parser (#300 #306)
[FEATURE] Add Info, Stateset, Enum, GaugeHistogram support for OpenMetrics (#300)
[FEATURE] Add timestamp support for Prometheus text format exposition (#300)
[FEATURE] Add garbage collection metrics (#301)
[ENHANCEMENT] If reading multiprocess file, open it readonly. (#307)
[BUGFIX] Fix bug in WSGI app code. (#307)
[BUGFIX] Write to multiprocess files directly (#315)
Published by brian-brazil about 6 years ago
[BUGFIX] Fix handing of escaping in parser
[BUGFIX] Fix concurrency issues with timers
Published by brian-brazil over 6 years ago
[ENHANCEMENT] 4.5x speedup in parser #282
[ENHANCEMENT] Performance improvements for multiproc mode #266
[BUGFIX] Fix FD leak in multiproc mode #269
Published by brian-brazil over 6 years ago
[CHANGE/ENHANCEMENT] Set default timeout of 30s on pushgateway actions
[ENHANCEMENT] Various performance improvements to multi-process mode
[BUGFIX] Handle QUERY_STRING not being present for WSGI
Published by brian-brazil almost 7 years ago
[BUGFIX] Handle non-ASCII characters in /proc/pid/stat
[BUGFIX] Make check for Python 2.6 work on development versions of Python
Published by brian-brazil almost 7 years ago
[FEATURE] Add UntypedMetricFamily
[FEATURE] Allow start_http_server to take a registry, for use in multiprocesses setups
[ENCHANCEMENT] Don't log requests to WSGI server
[ENCHANCEMENT] Improved error handling when prometheus_multiproc_dir isn't set
[BUGFIX] Handle /proc/self/fd not being accessible
[BUGFIX] Workaround urlparse bug in Python 2.6
Published by brian-brazil about 7 years ago
[BUGFIX] In multi-proc mode correctly handle metrics being created in both parent and child processes
[BUGFIX] Handle iterators being passed as labelnames to *MetricFamily
[ENHANCEMENT] Python 3.6 now officially supported
Published by brian-brazil over 7 years ago
[FEATURE] Support all modes of mutli-process operation in mutliproc mode, and it's a little faster too
[FEATURE] Add platform collector by default to add information about the Python/JVM runtime
[ENHANCEMENT] Httpserver now multi-threaded
[BUGFIX] Use namespace/subsystem correctly in multiproc mode
[BUGFIX] Support labelnames being an empty list
Published by brian-brazil over 7 years ago
[FEATURE] Support basic auth and allow for custom handlers for talking to the pushgateway
[BUGFIX] Support trailing commas in parser
Published by brian-brazil almost 8 years ago
[FEATURE] Add optional describe() method on collectors, fallback to "collect() if not present and explcitly requested on the registry. This is enabled on the default registry
[FEATURE] Use describe() method to raise an exception on duplicate time series names in a registry
[FEATURE] Add support for ?name[]=xxx to limit what metrics names are returned over http from a registry
[BUGFIX] An exception in a collector now causes a 500 rather than a blank 200
[BUGFIX] Disallow colon in label names
[BUGFIX] Correctly parse untyped metrics into one metric, not several
Published by brian-brazil about 8 years ago
[BUGFIX] Gauge.set_to_current_time to return correct value on Python3
Published by brian-brazil about 8 years ago
[FEATURE] Experimental multi-process supported added
Published by brian-brazil about 8 years ago
It's no longer possible to pass in a dict to labels()
, instead use labels(**dict)
.
[FEATURE] labels function supports labels as keyword argurments
[CHANGE] labels function no longer supports being passed a dict
[FEATURE] Pushgateway can now be specified as a URL prefix, allowing for https
[IMPROVEMENT] Cleanup of process collector
[FEATURE] Signatures of decorated functions are now preserved
Published by brian-brazil over 8 years ago
[FEATURE] Added twisted HTTP exposition
[FEATURE] Added WSGI HTTP exposition
[ENHANCEMENT] Improved consistency of metric help strings
[ENHANCEMENT] Improved docstrings
[ENHANCEMENT] Performance optimisations on inner classes
[BUGFIX] Tests now work on more platforms and Python versions
Published by brian-brazil about 9 years ago
[BUGFIX] Fix path for pushgateway
Published by brian-brazil about 9 years ago
Note that push_to_gateway
/pushadd_to_gateway
now requires an explicit registry argument, as the usual use case for batch jobs is to push a small custom registry.
[FEATURE] Add time()
to gauges
[FEATURE] Provide MetricFamilies to make custom collectors easier
[FEATURE] Graphite bridge now allows adding a namespace prefix to exported sample names
[FEATURE] Text format parser
[IMPROVEMENT] Improved docstrings
[IMPROVEMENT] push_to_gateway
/pushadd_to_gateway
now requires explicit registry argument
[ENHANCEMENT] Allow value implementation to be pluggable
[ENHANCEMENT] Removed resource warning in tests
[BUGFIX] Pushgateway tests now work on Python 3.4+
Published by brian-brazil over 9 years ago
[FEATURE] Pushgateway support added
[ENHANCEMENT] Improved error handling in graphite bridge