bind_exporter icon indicating copy to clipboard operation
bind_exporter copied to clipboard

Parse traffic request / response size histograms

Open dswarbrick opened this issue 1 year ago • 2 comments

This implements parsing of the DNS request / response traffic size histograms.

Refs: #64

dswarbrick avatar Feb 16 '24 16:02 dswarbrick

@SuperQ PTAL - if this looks interesting to you, I'll implement support for the XMLv3 stats channel also (even though I wish we would move forward and drop it completely), and write tests.

dswarbrick avatar Feb 16 '24 16:02 dswarbrick

Some sample metrics from a home server BIND instance which has been running for about 11 days:

# HELP bind_traffic_received_size Received traffic packet sizes.
# TYPE bind_traffic_received_size histogram
bind_traffic_received_size_bucket{transport="tcpv4",le="31"} 18606
bind_traffic_received_size_bucket{transport="tcpv4",le="47"} 111916
bind_traffic_received_size_bucket{transport="tcpv4",le="63"} 134363
bind_traffic_received_size_bucket{transport="tcpv4",le="79"} 135070
bind_traffic_received_size_bucket{transport="tcpv4",le="95"} 135073
bind_traffic_received_size_bucket{transport="tcpv4",le="+Inf"} 135073
bind_traffic_received_size_sum{transport="tcpv4"} NaN
bind_traffic_received_size_count{transport="tcpv4"} 135073
bind_traffic_received_size_bucket{transport="tcpv6",le="+Inf"} 0
bind_traffic_received_size_sum{transport="tcpv6"} NaN
bind_traffic_received_size_count{transport="tcpv6"} 0
bind_traffic_received_size_bucket{transport="udpv4",le="31"} 10060
bind_traffic_received_size_bucket{transport="udpv4",le="47"} 82674
bind_traffic_received_size_bucket{transport="udpv4",le="63"} 109203
bind_traffic_received_size_bucket{transport="udpv4",le="79"} 110236
bind_traffic_received_size_bucket{transport="udpv4",le="95"} 110293
bind_traffic_received_size_bucket{transport="udpv4",le="111"} 110298
bind_traffic_received_size_bucket{transport="udpv4",le="127"} 110301
bind_traffic_received_size_bucket{transport="udpv4",le="+Inf"} 110301
bind_traffic_received_size_sum{transport="udpv4"} NaN
bind_traffic_received_size_count{transport="udpv4"} 110301
bind_traffic_received_size_bucket{transport="udpv6",le="+Inf"} 0
bind_traffic_received_size_sum{transport="udpv6"} NaN
bind_traffic_received_size_count{transport="udpv6"} 0
# HELP bind_traffic_sent_size Sent traffic packet sizes.
# TYPE bind_traffic_sent_size histogram
bind_traffic_sent_size_bucket{transport="tcpv4",le="31"} 28
bind_traffic_sent_size_bucket{transport="tcpv4",le="47"} 231
bind_traffic_sent_size_bucket{transport="tcpv4",le="63"} 16783
bind_traffic_sent_size_bucket{transport="tcpv4",le="79"} 30574
bind_traffic_sent_size_bucket{transport="tcpv4",le="95"} 49876
bind_traffic_sent_size_bucket{transport="tcpv4",le="111"} 63451
bind_traffic_sent_size_bucket{transport="tcpv4",le="127"} 72443
bind_traffic_sent_size_bucket{transport="tcpv4",le="143"} 87451
bind_traffic_sent_size_bucket{transport="tcpv4",le="159"} 95221
bind_traffic_sent_size_bucket{transport="tcpv4",le="175"} 104412
bind_traffic_sent_size_bucket{transport="tcpv4",le="191"} 112064
bind_traffic_sent_size_bucket{transport="tcpv4",le="207"} 119039
bind_traffic_sent_size_bucket{transport="tcpv4",le="223"} 121824
bind_traffic_sent_size_bucket{transport="tcpv4",le="239"} 127206
bind_traffic_sent_size_bucket{transport="tcpv4",le="255"} 129702
bind_traffic_sent_size_bucket{transport="tcpv4",le="271"} 131433
bind_traffic_sent_size_bucket{transport="tcpv4",le="287"} 131895
bind_traffic_sent_size_bucket{transport="tcpv4",le="303"} 132407
bind_traffic_sent_size_bucket{transport="tcpv4",le="319"} 133484
bind_traffic_sent_size_bucket{transport="tcpv4",le="335"} 134437
bind_traffic_sent_size_bucket{transport="tcpv4",le="351"} 134448
bind_traffic_sent_size_bucket{transport="tcpv4",le="367"} 134757
bind_traffic_sent_size_bucket{transport="tcpv4",le="383"} 134863
bind_traffic_sent_size_bucket{transport="tcpv4",le="399"} 134943
bind_traffic_sent_size_bucket{transport="tcpv4",le="415"} 134952
bind_traffic_sent_size_bucket{transport="tcpv4",le="447"} 135073
bind_traffic_sent_size_bucket{transport="tcpv4",le="+Inf"} 135073
bind_traffic_sent_size_sum{transport="tcpv4"} NaN
bind_traffic_sent_size_count{transport="tcpv4"} 135073
bind_traffic_sent_size_bucket{transport="tcpv6",le="+Inf"} 0
bind_traffic_sent_size_sum{transport="tcpv6"} NaN
bind_traffic_sent_size_count{transport="tcpv6"} 0
bind_traffic_sent_size_bucket{transport="udpv4",le="31"} 11
bind_traffic_sent_size_bucket{transport="udpv4",le="47"} 666
bind_traffic_sent_size_bucket{transport="udpv4",le="63"} 10092
bind_traffic_sent_size_bucket{transport="udpv4",le="79"} 18658
bind_traffic_sent_size_bucket{transport="udpv4",le="95"} 34645
bind_traffic_sent_size_bucket{transport="udpv4",le="111"} 53500
bind_traffic_sent_size_bucket{transport="udpv4",le="127"} 59898
bind_traffic_sent_size_bucket{transport="udpv4",le="143"} 67384
bind_traffic_sent_size_bucket{transport="udpv4",le="159"} 72516
bind_traffic_sent_size_bucket{transport="udpv4",le="175"} 78586
bind_traffic_sent_size_bucket{transport="udpv4",le="191"} 83397
bind_traffic_sent_size_bucket{transport="udpv4",le="207"} 86495
bind_traffic_sent_size_bucket{transport="udpv4",le="223"} 89788
bind_traffic_sent_size_bucket{transport="udpv4",le="239"} 94034
bind_traffic_sent_size_bucket{transport="udpv4",le="255"} 95364
bind_traffic_sent_size_bucket{transport="udpv4",le="271"} 96804
bind_traffic_sent_size_bucket{transport="udpv4",le="287"} 97160
bind_traffic_sent_size_bucket{transport="udpv4",le="303"} 97601
bind_traffic_sent_size_bucket{transport="udpv4",le="319"} 98236
bind_traffic_sent_size_bucket{transport="udpv4",le="335"} 98268
bind_traffic_sent_size_bucket{transport="udpv4",le="351"} 98284
bind_traffic_sent_size_bucket{transport="udpv4",le="367"} 98300
bind_traffic_sent_size_bucket{transport="udpv4",le="383"} 98376
bind_traffic_sent_size_bucket{transport="udpv4",le="399"} 98403
bind_traffic_sent_size_bucket{transport="udpv4",le="415"} 98443
bind_traffic_sent_size_bucket{transport="udpv4",le="431"} 98482
bind_traffic_sent_size_bucket{transport="udpv4",le="447"} 98501
bind_traffic_sent_size_bucket{transport="udpv4",le="479"} 98534
bind_traffic_sent_size_bucket{transport="udpv4",le="+Inf"} 98534
bind_traffic_sent_size_sum{transport="udpv4"} NaN
bind_traffic_sent_size_count{transport="udpv4"} 98534
bind_traffic_sent_size_bucket{transport="udpv6",le="+Inf"} 0
bind_traffic_sent_size_sum{transport="udpv6"} NaN
bind_traffic_sent_size_count{transport="udpv6"} 0

dswarbrick avatar Feb 16 '24 16:02 dswarbrick