Bug fixes
- Add support for setting
origin_detection_enabled
in Datadog backend. (#108) - Switch from Flake8 to Ruff. (#109)
Features
- Add support for Python 3.11 (#100)
Bug fixes
- Redo how dev environment works so it's no longer installed via an extras but is now in a separate requirements-dev.txt file.
- Split flake8 tou a separate requirements-flake8.txt and tox environment to handle conflicts with installing other things.
Bug fixes
- Move pytest import to a pytest plugin so it's easier to determine when pytest is running. (#95) Thank you, John!
Features
- Added support for Python 3.10 (#88)
Backwards incompatibel changes
- Dropped support for Python 3.6 (#89)
Features
- Added support for Python 3.9 (#79). Thank you, Brady!
- Changed
assert_*
helper methods onmarkus.testing.MetricsMock
to print the records to stdout if the assertion fails. This can save some time debugging failing tests. (#74)
Backwards incompatible changes
- Dropped support for Python 3.5 (#78). Thank you, Brady!
markus.testing.MetricsMock.get_records
andmarkus.testing.MetricsMock.filter_records
returnmarkus.main.MetricsRecord
instances now. This might require you to rewrite/update tests that use theMetricsMock
.
Features
- Add
assert_
methods toMetricsMock
to reduce the boilerplate for testing. Thank you, John! (#68)
Bug fixes
- Remove use of
six
library. (#69)
Features
- Fix
get_metrics()
so you can call it without passing in a thing and it'll now create aMetricsInterface
that doesn't have a key prefix. (#59)
Features
- Use
time.perf_counter()
if available. Thank you, Mike! (#34) - Support Python 3.7 officially.
- Add filters for adjusting and dropping metrics getting emitted. See documentation for more details. (#40)
Backwards incompatible changes
tags
now defaults to[]
instead ofNone
which may affect some expected test output.- Adjust internals to run
.emit()
on backends. If you wrote your own backend, you may need to adjust it. - Drop support for Python 3.4. (#39)
Drop support for Python 2.7.
If you're still using Python 2.7, you'll need to pin to
<2.0.0
. (#42)
Bug fixes
- Document feature support in backends. (#47)
- Fix
MetricsMock.has_record()
example. Thank you, John!
Features
- Add
.clear()
toMetricsMock
making it easier to build a pytest fixture with theMetricsMock
context and manipulate records for easy testing. (#29)
Bug fixes
- Update Cloudwatch backend fixing
.timing()
and.histogram()
to sendhistogram
metrics type which Datadog now supports. (#31)
Typo fixes
- Fix the date from the previous release. Ugh.
Features
- Official switch to semver.
Bug fixes
- Fix
MetricsMock
so it continues to work even ifconfigure
is called. (#27)
Features
- Added
markus.utils.generate_tag
utility function
Features
- Added support for Python 2.7.
- Added a
markus.backends.statsd.StatsdMetrics
backend that uses pystatsd client for statsd pings. Thank you, Javier!
Bug fixes
- Added
LoggingRollupMetrics
to docs. - Mozilla has been running Markus in production for 6 months so we can mark it production-ready now.
Features
- Added a
markus.backends.logging.LoggingRollupMetrics
backend that rolls up metrics and does some light math on them. Possibly helpful for light profiling for development.
Bug fixes
- Lots of documentation fixes. Thank you, Peter!
Initial writing.