All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Update octocrab dependency to get rid of a bunch of duplicate crates (#157)
- Proxy static assets for explorer instead of loading them directly from explorer.autometrics.dev. This url is also configurable so it is easier to use explorer hosted on a different URL (#142)
- Add new endpoint
/api/functionslisting all autometrics'd functions in the current working directory am list allnow detects Python projects that use eithersetuptools, apyproject.toml-compatible solution, or arequirements.txtfile (#143)am listnow properly ignores thetarget/folder of Rust projects (#143)am listnow tries to track Rust module name better when called inside a cargo workspace (#143)- If a proxied request fails, am will now log more information and using
different log levels, depending on the status code (#146):
- 4xx:
debug(still requires--verboseflag) - 5xx and connection issues:
warn(will log by default) - Other status codes:
trace
- 4xx:
am listnow properly detects methods in Go (#148)- Update Rust dependencies (#150)
- Update default versions of Prometheus and Pushgateway (#150)
- Add ability to scrape the metrics of
ams own web server witham start --scrape-self(#153) am listnow properly detects functions instrumented in Typescript using theAutometricsdecorator (#152)am instrumentis a new subcommand that can automatically add annotations to instrument a project (#152)- it works in Go, Python, Typescript, and Rust projects
- The URL overview of
am startandam proxyis now prettier (#154) - Updated dependencies (#155)
- The Prometheus write endpoint is now enabled by default (#136)
- Include
am_listcrate inside the workspace, and add the function listing feature (#131)
- Change Docker Hub organization to
autometrics(#133) - Add documentation about running
amin a container (#135) - Publish a container optimized for
am proxy(#135)
- Dump logs if prometheus or pushgateway return a non 0 exit code (#122)
- Change the default explorer endpoint of when using
am explorer(#120) - Update all depdencies (#124)
- Fix multiarch docker image for arm64 users (#125)
- Update markdown reference generator command to disable TOC (#127)
- Add
am proxycommand (#128) - Update more dependencies (#130)
- SHA-256 checksums are now provided for all artifact downloads (#101)
- Added self updater (#102)
- Use
clap-markdownfork that enables formatting by display name (#103) - Correct
web.external-urlwill now be passed to Prometheus and Pushgateway if a custom one is specified with--listen-address(#112) - The generated Prometheus config now gets stored in a unique, temporary location (#113)
- Added new subcommand
initto create a config file interactively (#117) amis now available as a multi-arch Docker container on Docker Hub (#118)
- Do not crash if no
--config-fileis specified and noam.tomlis found (#106)
- Make logging less verbose, and introduce a
--verboseflag to verbose logging (#62) - Use host and port for job name in Prometheus target list (#66)
- Prometheus/Pushgateway data directory no longer defaults to current working directory (#76)
--ephemeralcan now be specified to automatically delete data created by Prometheus/Pushgateway after the process exits (#76)- Added new subcommand
discordwhich links to the discord server (#80) - The
/metricsendpoint now transparently redirects to/pushgateway/metricsif Pushgateway is enabled (#81) - Allow using a config file (am.toml) to set some defaults such as endpoints or if pushgateway is enabled (#67)
honor_labelswill now be set totruefor the Pushgateway endpoint in the generated Prometheus config, if it is enabled (#69)- Redirect
/graphto/explorer/graph.htmlwhich will load a different JS script from explorer (#84) - Shorthand notion for endpoints defined within the config file (
am.toml) is now allowed (#85) - Allow user to specify the Prometheus scrape interval (#87)
- Added new subcommand
explorewhich opens up explorer in the browser (#89) - The Autometrics SLO rules will now be automatically loaded into Prometheus if
--no-rulesis not specified (#94)
- Initial release
- Instead of only copying the prometheus binary, simply extract everything (#17)
- Add more flexible endpoints parser (#21)
- Refactor downloading and verifying Prometheus archive (#32)