All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[1.0.0] (https://github.com/autometrics-dev/autometrics-py/releases/tag/1.0.0) - 2023-11-14
- Added support for
record_error_ifandrecord_success_if - Added OTLP exporters for OpenTelemetry tracker (#89)
- Added
repository_urlandrepository_providerlabels tobuild_info(#97) - Added
autometrics.versionlabel tobuild_info(#101)
- [💥 Breaking change]
initfunction is now required to be called before using autometrics (#89) - Prometheus exporters are now configured via
initfunction (#89) - Updated examples to call
initfunction (#94) - Updated
docker compose/tiltconfig in repo to include grafana with our dashboards (#94) Objectives will now emit a warning when name contains characters other than alphanumeric and dash (#99)
- Updated FastAPI and Pydantic dependencies in the examples group (#89)
- Updated dependencies in dev and examples groups (#97)
0.9 - 2023-09-24
- Added the
start_http_server, which starts a separate HTTP server to expose the metrics instead of using a separate endpoint in the existing server. (#77) - Added the
initfunction that you can use to configure autometrics. (#77)
- Renamed the
function.calls.countmetric tofunction.calls(which is exported to Prometheus asfunction_calls_total) to be in line with OpenTelemetry and OpenMetrics naming conventions. Dashboards and alerting rules must be updated. (#74) - When the
function.calls.durationhistogram is exported to Prometheus, it now includes the units (function_calls_duration_seconds) to be in line with Prometheus/OpenMetrics naming conventions. Dashboards and alerting rules must be updated. (#74) - The
callerlabel on thefunction.callsmetric was replaced withcaller.functionandcaller.module(#75) - All metrics now have a
service.namelabel attached. This is set via runtime environment variable (AUTOMETRICS_SERVICE_NAMEorOTEL_SERVICE_NAME), or falls back to the package name. (#76) - In case of running a script outside of module, the
modulelabel is now set to file name (#80)
- Updated dependencies in examples group (#77)
0.8 - 2023-07-24
- Support for prometheus-client 0.17.x
0.7 - 2023-07-19
- Initialize counter metrics at zero #54
- Caller tracking only tracks autometricised functions, as per spec #59
- Function name labels now use qualified name, and module labels use module's
__name__when available #59
- Fixed calculation of funciton duration when using OpenTelemetry tracker #66
0.6 - 2023-06-23
- Exemplars support (#51)
- Optional concurrency tracking support (#55)
build_infois extended with support for branch labels and now picks up the commit label fromCOMMIT_SHAenv var (#52)
- Fixed decorator async function handling (#55)
- Update requests, starlette, fastapi dependencies used by the examples
0.5 - 2023-05-11
- Support
build_infometrics for Prometheus tracker (#35)- NOTE: The OpenTelemetry tracker does not accurately track
build_info, so you will need to set the env varAUTOMETRICS_TRACKER=PROMETHEUSto see accurate build info in your metrics (see #38)
- NOTE: The OpenTelemetry tracker does not accurately track
- OpenTelemetry Support (#28)
- Fly.io example (#26)
- Django example (#22)
- The
autometricsdecorator now supports async functions (#33)
0.4 - 2023-04-13
- SLO Support (#16)
- Improved documentation and examples (#13 #19)
- Development setup (#10 #12)
- Issue with trailing slashes in prometheus url (#14)
0.3 - 2023-03-28
- Implemented caller label for the function calls counter (#9)