X(answer,edns0) X(answer,do) \
X(query,edns) X(query,dnssec) \
X(request,total) X(request,total4) X(request,total6) X(request,internal) \
- X(request,udp4) X(request,tcp4) X(request,xdp4) X(request,dot4) X(request,doh4) \
- X(request,udp6) X(request,tcp6) X(request,xdp6) X(request,dot6) X(request,doh6) \
+ X(request,udp4) X(request,tcp4) X(request,xdp4) X(request,dot4) X(request,doh4) X(request,doq4) \
+ X(request,udp6) X(request,tcp6) X(request,xdp6) X(request,dot6) X(request,doh6) X(request,doq6) \
X(const,end)
enum const_metric {
DEF(xdp),
DEF(dot),
DEF(doh),
+ DEF(doq),
#undef DEF
};
static const size_t sum_metrics_len = sizeof(sum_metrics) / sizeof(sum_metrics[0]);
INC_PROTO(tcp);
else if (req->qsource.flags.xdp)
INC_PROTO(xdp);
+ else if (req->qsource.flags.quic)
+ INC_PROTO(doq);
else
INC_PROTO(udp);
#undef INC_PROTO
label=("instance_id", sid),
value=metrics["request"]["xdp6"],
)
+ yield _counter(
+ "resolver_request_doq",
+ "number of external requests received over DNS-over-QUIC (RFC 9250)",
+ label=("instance_id", sid),
+ value=metrics["request"]["doq"],
+ )
+ yield _counter(
+ "resolver_request_doq4",
+ "number of external requests received over IPv4 DNS-over-QUIC (RFC 9250)",
+ label=("instance_id", sid),
+ value=metrics["request"]["doq4"],
+ )
+ yield _counter(
+ "resolver_request_doq6",
+ "number of external requests received over IPv6 DNS-over-QUIC (RF 9250)",
+ label=("instance_id", sid),
+ value=metrics["request"]["doq6"],
+ )
# "answer" metrics
yield _counter(