net_benchmark.dns_benchmark.analysis

Statistical analysis of DNS benchmark results.

Classes

BenchmarkAnalyzer(results)

Analyze DNS benchmark results and compute statistics.

ResolverStats(resolver_name, resolver_ip, ...)

Statistics for a single resolver.

class net_benchmark.dns_benchmark.analysis.ResolverStats(resolver_name, resolver_ip, total_queries, successful_queries, success_rate, min_latency, max_latency, avg_latency, median_latency, std_latency, p95_latency, p99_latency, jitter=0.0, consistency_score=0.0, dnssec_validated_queries=0, dnssec_validation_rate=0.0)[source]

Bases: object

Statistics for a single resolver.

resolver_name: str
resolver_ip: str
total_queries: int
successful_queries: int
success_rate: float
min_latency: float
max_latency: float
avg_latency: float
median_latency: float
std_latency: float
p95_latency: float
p99_latency: float
jitter: float = 0.0
consistency_score: float = 0.0
dnssec_validated_queries: int = 0
dnssec_validation_rate: float = 0.0
class net_benchmark.dns_benchmark.analysis.BenchmarkAnalyzer(results)[source]

Bases: object

Analyze DNS benchmark results and compute statistics.

get_resolver_statistics()[source]

Compute comprehensive statistics per resolver.

Return type:

List[ResolverStats]

get_overall_statistics()[source]

Get overall benchmark statistics.

Return type:

Dict[str, Any]

get_domain_statistics()[source]

Compute statistics per domain across all resolvers.

Return type:

List[Dict[str, Any]]

get_record_type_statistics()[source]

Compute statistics per DNS record type across all resolvers/domains.

Return type:

List[Dict[str, Any]]

get_error_statistics()[source]

Count errors by message across all failed queries.

Return type:

Dict[str, int]

get_protocol_statistics()[source]

Compute statistics broken down by protocol (plain/doh/dot).

Return type:

List[Dict[str, Any]]

get_dnssec_statistics()[source]

DNSSEC validation breakdown per resolver + protocol combination.

Return type:

List[Dict[str, Any]]