mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 11:15:54 +03:00
[PR #3367] [MERGED] initial histogram metrics support, opp. enc. probe duration #3782
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#3782
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/hickory-dns/hickory-dns/pull/3367
Author: @cpu
Created: 11/27/2025
Status: ✅ Merged
Merged: 12/5/2025
Merged by: @cpu
Base:
main← Head:cpu-histo-metrics_dev📝 Commits (7)
1afbf5bbin: rework named_metric_tests imports352825cbin: avoid fully-qualified imports in named_metrics_tests6798d95bin: add opp. enc. metrics integration test1ebd60eresolver: correct opp. enc. budget for connection errs9905b86bin: support histogram metrics in desc test2e71557bin: configure Prometheus histogram bucketsabd0f20resolver: track opp. enc. probe duration metric📊 Changes
6 files changed (+309 additions, -50 deletions)
View changed files
➕
bin/opp_enc_state.toml(+0 -0)📝
bin/src/prometheus_server.rs(+5 -0)📝
bin/tests/integration/config_tests.rs(+1 -1)📝
bin/tests/integration/named_metrics_tests.rs(+115 -31)📝
crates/resolver/src/name_server.rs(+76 -18)➕
tests/test-data/test_configs/example_recursor_opportunistic_enc_2.toml(+112 -0)📄 Description
This branch adds an opportunistic encryption probe duration histogram metric. It's a follow-up from https://github.com/hickory-dns/hickory-dns/pull/3314 where I previously tried to add a histogram metric but ran into some trouble detailed in this comment thread.
Initially it looked to me like the only way to set the histogram buckets in
hickory-dnswas by matching by metric name, but we can instead set a global set of buckets and that seems more tractable for the time being. See the corresponding commit message for more detail.Along the way I noticed and fixed a few things:
I'd like to follow-up on this change by adding a few more histogram metrics, but for now have limited myself to the one I wanted to start with in the area of the code I'm most familiar. Looking at the metrics offered by the unbound exporter being used by Let's Encrypt suggests at a minimum we might want histograms for query response time, and for recursive resolution processing time. Other suggestions welcome!
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.