- Nothing changed yet.
- Add support for Python 3.13.
- Drop support for Python 3.7.
- Drop support for Manylinux 2010 wheels.
- Drop support for obsolete Python versions, including Python 2.7 and 3.6.
- Add support for Python 3.12.
- Stop accidentally building manylinux wheels with unsafe math optimizations.
- Add support for Python 3.11.
NOTE: This will be the last major release to support legacy versions of Python such as 2.7 and 3.6. Some such legacy versions may not have binary wheels published for this release.
- Add Windows wheels for 3.9 and 3.10.
- Add support for Python 3.10.
- Drop support for Python 3.5.
- Add aarch64 binary wheels.
- Add support for Python 3.8 and 3.9.
- Move to GitHub Actions from Travis CI.
- Support PyHamcrest 1.10 and later. See issue 26.
- The
FakeStatsDClient
for testing is now always true whether or not any observations have been seen, like the normal clients. See issue. - Add support for StatsD sets, counters of unique events. See PR 30.
- Drop support for EOL Python 2.6, 3.2, 3.3 and 3.4.
- Add support for Python 3.5, 3.6, and 3.7.
- Compile the performance-sensitive parts with Cython, leading to a 10-30% speed improvement. See #17.
- Caution: Metric names are enforced to be native strings (as a result
of Cython compilation); they've always had to be ASCII-only but
previously Unicode was allowed on Python 2. This is usually
automatically the case when used as a decorator. On Python 2 using
from __future__ import unicode_literals
can cause problems (raising TypeError) when manually constructingMetric
objects. A quick workaround is to set the environment variablePERFMETRICS_PURE_PYTHON
before importing perfmetrics. - Make decorated functions and methods configurable at runtime, not just compile time. See #11.
- Include support for testing applications instrumented with
perfmetrics in
perfmetrics.testing
. This was previously released externally asnti.fakestatsd
. See #9. - Read the
PERFMETRICS_DISABLE_DECORATOR
environment variable whenperfmetrics
is imported, and if it is set, make the decorators@metric
,@metricmethod
,@Metric(...)
and@MetricMod(...)
return the function unchanged. This can be helpful for certain kinds of introspection tests. See #15
- Added the
@MetricMod
decorator, which changes the name of metrics in a given context. For example,@MetricMod('xyz.%s')
adds a prefix. - Removed the "gauge suffix" feature. It was unnecessarily confusing.
- Timing metrics produced by
@metric
,@metricmethod
, and@Metric
now have a ".t" suffix by default to avoid naming conflicts.
- Added 'perfmetrics.tween' and 'perfmetrics.wsgi' stats for measuring request timing and counts.
- Added an optional Pyramid tween and a similar WSGI filter app that sets up the Statsd client for each request.
- Optimized the use of reduced sample rates.
- Support the
STATSD_URI
environment variable.
Metric
can now be used as either a decorator or a context manager.- Made the signature of StatsdClient more like James Socol's StatsClient.
- Fixed package metadata.
- Initial release.