many internal changes. It also enables DoQ support. Most stuff should
work as it did before 1.0.0 though.
The metrics exposed under /query (per-scrape metrics) are now:
- dnsexp_dns_query_time_seconds (Gauge, unchanged)
- dnsexp_dns_query_success (Gauge, unchanged)
- dnsexp_dns_response_rr_ttl_seconds (Gauge, unchanged)
- dnsexp_failures_total (Counter, renamed and changed from Enum)
The metrics exposed under /metrics (persistent exporter-internal
metrics) are now:
- dnsexp_build_version (Info, unchanged)
- dnsexp_http_requests_total (Counter, unchanged)
- dnsexp_http_responses_total (Counter, unchanged)
- dnsexp_dns_queries_total (Counter, unchanged)
- dnsexp_dns_responsetime_seconds (Histogram, renamed and changed from
Counter)
- dnsexp_scrape_failures_total (Counter, renamed and got a reason
label)
Further changes are mostly technical details.
Added
~~~~~
- RELEASE.md file describing how to do a release
- ``build`` module to the ``dev`` extras in ``pyproject.toml``
- Python 3.12 support
- Automatic DockerHub upload of containers when new releases are tagged
- Automatic PyPi upload of packages when new releases are tagged
Changed
~~~~~~~
- Delete the ``develop`` branch, ``main`` is the new default branch.
Update ``RELEASE.md`` to reflect the change.
- Update some development dependencies
- Major refactor: move DNS lookup to a custom
``prometheus_client.registry.Collector`` class in ``collector.py``
Fixed
~~~~~
- DNS over QUIC support now works. Default port is 853 as per
https://www.rfc-editor.org/rfc/rfc9250.html#name-port-selection