From bdb519dff95c37569be6926638dba54cd37acdc1 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Fri, 19 Jan 2024 12:32:58 +0100 Subject: [PATCH] feat(minipipeline): add DNS and HTTP unexplained failures (#1453) We need to know about all possible unexplained failures. With this information and information about ControlFinalResponseExpectations introduced in #1451 and #1452, we are able to transform unexplained failures (i.e., failures occurring during redirects) into explained failures when we have a control-based expectation to compare to. Part of https://github.com/ooni/probe/issues/2640 --- .../cmd/minipipeline/testdata/analysis.json | 2 ++ .../testdata/analysis_classic.json | 2 ++ internal/minipipeline/analysis.go | 33 +++++++++++++++---- .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../badSSLWithWrongServerName/analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../generated/dnsBlockingBOGON/analysis.json | 2 ++ .../dnsBlockingBOGON/analysis_classic.json | 2 ++ .../dnsBlockingNXDOMAIN/analysis.json | 2 ++ .../dnsBlockingNXDOMAIN/analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../httpBlockingConnectionReset/analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../httpDiffWithConsistentDNS/analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../httpDiffWithInconsistentDNS/analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 5 +++ .../analysis_classic.json | 4 +++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../generated/successWithHTTP/analysis.json | 2 ++ .../successWithHTTP/analysis_classic.json | 2 ++ .../generated/successWithHTTPS/analysis.json | 2 ++ .../successWithHTTPS/analysis_classic.json | 2 ++ .../tcpBlockingConnectTimeout/analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../analysis.json | 2 ++ .../analysis_classic.json | 2 ++ .../websiteDownNXDOMAIN/analysis.json | 2 ++ .../websiteDownNXDOMAIN/analysis_classic.json | 2 ++ .../manual/dnsgoogle80/analysis.json | 2 ++ .../manual/dnsgoogle80/analysis_classic.json | 2 ++ .../manual/noipv6/analysis.json | 2 ++ .../manual/noipv6/analysis_classic.json | 2 ++ .../manual/youtube/analysis.json | 2 ++ .../manual/youtube/analysis_classic.json | 2 ++ 69 files changed, 167 insertions(+), 7 deletions(-) diff --git a/internal/cmd/minipipeline/testdata/analysis.json b/internal/cmd/minipipeline/testdata/analysis.json index f8f556b9f7..703a01a7bd 100644 --- a/internal/cmd/minipipeline/testdata/analysis.json +++ b/internal/cmd/minipipeline/testdata/analysis.json @@ -16,6 +16,7 @@ 3 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 4, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/cmd/minipipeline/testdata/analysis_classic.json b/internal/cmd/minipipeline/testdata/analysis_classic.json index 8b89976190..4f7917db4d 100644 --- a/internal/cmd/minipipeline/testdata/analysis_classic.json +++ b/internal/cmd/minipipeline/testdata/analysis_classic.json @@ -13,6 +13,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -29,6 +30,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 4, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/analysis.go b/internal/minipipeline/analysis.go index 81acd0acae..dc8be4019f 100644 --- a/internal/minipipeline/analysis.go +++ b/internal/minipipeline/analysis.go @@ -148,6 +148,10 @@ type WebAnalysis struct { // DNSLookupUnexpectedFailure contains DNS transactions with unexpected failures. DNSLookupUnexpectedFailure Set[int64] + // DNSLookupUnexplainedFailure contains DNS transactions with unexplained failures (i.e., + // failures for which there's no corresponding control information). + DNSLookupUnexplainedFailure Set[int64] + // DNSExperimentFailure is the first failure experienced by any resolver // before hitting redirects (i.e., when TagDepth==0). DNSExperimentFailure optional.Value[string] @@ -169,7 +173,8 @@ type WebAnalysis struct { // while checking for connectivity, as opposed to fetching a webpage. TCPConnectUnexpectedFailureDuringConnectivityCheck Set[int64] - // TCPConnectUnexplainedFailure contains failures occurring during redirects. + // TCPConnectUnexplainedFailure contains failures occurring during redirects, i.e., + // failures for which there's no corresponding control info. TCPConnectUnexplainedFailure Set[int64] // TCPConnectUnexplainedFailureDuringWebFetch contains failures occurring during redirects @@ -191,7 +196,8 @@ type WebAnalysis struct { // while checking for connectivity, as opposed to fetching a webpage. TLSHandshakeUnexpectedFailureDuringConnectivityCheck Set[int64] - // TLSHandshakeUnexplainedFailure contains failures occurring during redirects. + // TLSHandshakeUnexplainedFailure contains failures occurring during redirects, i.e., + // failures for which there's no corresponding control info. TLSHandshakeUnexplainedFailure Set[int64] // TLSHandshakeUnexplainedFailureDuringWebFetch contains failures occurring during redirects @@ -205,6 +211,10 @@ type WebAnalysis struct { // HTTPRoundTripUnexpectedFailure contains HTTP endpoint transactions with unexpected failures. HTTPRoundTripUnexpectedFailure Set[int64] + // HTTPRoundTripUnexplainedFailure contains failures occurring during redirects, i.e., + // failures for which there's no corresponding control info. + HTTPRoundTripUnexplainedFailure Set[int64] + // HTTPFinalResponseSuccessTLSWithoutControl contains the ID of the final response // transaction when the final response succeeded without control and with TLS. HTTPFinalResponseSuccessTLSWithoutControl optional.Value[int64] @@ -356,11 +366,6 @@ func (wa *WebAnalysis) dnsComputeFailureMetrics(c *WebObservationsContainer) { } already.Add(obs.DNSTransactionID.Unwrap()) - // lookups once we started following redirects should not be considered - if obs.TagDepth.IsNone() || obs.TagDepth.Unwrap() != 0 { - continue - } - // Implementation note: a DoH failure is not information about the URL we're // measuring but about the DoH service being blocked. // @@ -377,6 +382,16 @@ func (wa *WebAnalysis) dnsComputeFailureMetrics(c *WebObservationsContainer) { // TODO(bassosimone): if we set an IPv6 address as the resolver address, we // end up with false positive errors when there's no IPv6 support + // lookups once we started following redirects does not have corresponding + // control information, so failures end up being unexplained + if obs.TagDepth.IsNone() || obs.TagDepth.Unwrap() != 0 { + if obs.DNSLookupFailure.Unwrap() != "" { + wa.DNSLookupUnexplainedFailure.Add(obs.DNSTransactionID.Unwrap()) + continue + } + continue + } + // honor the DNSExperimentFailure by assigning the first // probe error that we see with depth==0 if obs.DNSLookupFailure.Unwrap() != "" && wa.DNSExperimentFailure.IsNone() { @@ -533,6 +548,10 @@ func (wa *WebAnalysis) httpComputeFailureMetrics(c *WebObservationsContainer) { // handle the case where there is no control information if obs.ControlHTTPFailure.IsNone() { + if obs.HTTPFailure.Unwrap() != "" { + wa.HTTPRoundTripUnexplainedFailure.Add(obs.EndpointTransactionID.Unwrap()) + continue + } continue } diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json index 6bbefe1d01..1f9b914c7a 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json index 6e634ac30f..9c34a768c2 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json @@ -12,6 +12,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json index 7196cd267d..39c3e448a7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json @@ -16,6 +16,7 @@ 3 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json index b99031082c..5a5195564c 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json @@ -12,6 +12,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json index 1b502ffd17..62241c8f16 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json @@ -14,6 +14,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 4, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json index 301e776df5..62c15a1ea8 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json @@ -12,6 +12,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json index b0f73535b3..d44fa00333 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json index 1df9d5612e..7859ab5714 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json @@ -12,6 +12,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json index bb462cb825..b6432acb8f 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json @@ -8,6 +8,7 @@ "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -24,6 +25,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": 3, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json index 754c7c8ef1..1bcbb60016 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json @@ -8,6 +8,7 @@ "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -24,6 +25,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": 3, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json index 6a0f4c5421..46df72cd22 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json @@ -8,6 +8,7 @@ "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -24,6 +25,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": 3, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json index 143ac23ce5..f51382719e 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json @@ -6,6 +6,7 @@ "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -22,6 +23,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": 3, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json index 33a212806e..cb399c6920 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json @@ -14,6 +14,7 @@ "DNSLookupUnexpectedFailure": [ 1 ], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": "android_dns_cache_no_data", "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 3, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json index 356803def2..48cc2233c8 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json @@ -10,6 +10,7 @@ "DNSLookupUnexpectedFailure": [ 1 ], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": "android_dns_cache_no_data", "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -26,6 +27,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json index 6f6dab43f6..ede5642d3c 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json @@ -18,6 +18,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -34,6 +35,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 3, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json index 4c7aa188c0..b68b68f6c5 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json @@ -14,6 +14,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json index 6f132e5cab..dacdab8930 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json @@ -14,6 +14,7 @@ "DNSLookupUnexpectedFailure": [ 2 ], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": "dns_nxdomain_error", "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 3, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json index 0a51d95483..bb2e67ddec 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json @@ -10,6 +10,7 @@ "DNSLookupUnexpectedFailure": [ 2 ], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": "dns_nxdomain_error", "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -26,6 +27,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json index f0b055fa8f..8a9f172393 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json @@ -15,6 +15,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -31,6 +32,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 3, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json index 2da02e1ad0..82f68c8702 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json @@ -12,6 +12,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 3, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json index 98daccd023..54cf588cc3 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json @@ -15,6 +15,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -31,6 +32,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json index bc347e2324..37eb71a825 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json @@ -12,6 +12,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json index d918c8debb..15da220772 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "HTTPRoundTripUnexpectedFailure": [ 3 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json index d1714aaa24..6acec6a3c3 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "HTTPRoundTripUnexpectedFailure": [ 3 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json index 3efff091e8..324254d413 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json index c8f0bb8072..73f5e6d146 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json index 1cd7b543d7..d5cfbeea15 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json @@ -15,6 +15,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -31,6 +32,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json index 50daa539e4..1463e9051a 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json @@ -12,6 +12,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json index e9735fa055..629456c441 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -37,6 +38,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json index a44602af72..8b9dcc38b5 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json index 490e1e2016..e9c66569aa 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -34,6 +35,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json index 36ed46becf..3ac481a8ef 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json @@ -13,6 +13,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -33,6 +34,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json index 7b1fbef422..6d6be81d27 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -36,6 +37,7 @@ "HTTPRoundTripUnexpectedFailure": [ 6 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json index 84b20eac87..86bc135895 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json @@ -13,6 +13,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -31,6 +32,7 @@ "HTTPRoundTripUnexpectedFailure": [ 6 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json index fc34aa095e..4edc89c87f 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -34,6 +35,7 @@ ], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json index 8254492437..57f37a6f02 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json @@ -12,6 +12,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ ], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json index 360498b8e4..cc2888d550 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -36,6 +37,7 @@ "HTTPRoundTripUnexpectedFailure": [ 6 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json index 7f9fe33fab..24ecfe12bc 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "HTTPRoundTripUnexpectedFailure": [ 6 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json index 933bc4f985..57205618f4 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -34,6 +35,7 @@ ], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json index 2249041097..90b8f005ec 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ ], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json index 1634d62f2b..300b109250 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json @@ -14,6 +14,10 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [ + 4, + 5 + ], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +34,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json index f0d1e7b988..950e1521fc 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json @@ -13,6 +13,9 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [ + 5 + ], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -29,6 +32,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json index 845d29edc2..5abf17c780 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -36,6 +37,7 @@ "HTTPRoundTripUnexpectedFailure": [ 6 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json index a0701c90ee..a62626dc49 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json @@ -12,6 +12,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "HTTPRoundTripUnexpectedFailure": [ 6 ], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json index f3210cb61f..c0af7926ac 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json @@ -16,6 +16,7 @@ 3 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -36,6 +37,7 @@ ], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json index dcf472b200..9212879af0 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json @@ -12,6 +12,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ ], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json index 4092dbccff..ccc15f3a26 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json index 2bce286856..603b023522 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json index 0cd9f5d0fe..1eca48582b 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -30,6 +31,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 3, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json index 34fc80eaa5..fe6aa5d951 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json @@ -13,6 +13,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -29,6 +30,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 3, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json index 874a953735..9067bc5edf 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -34,6 +35,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json index 1fd412f7fc..e2b1189c1e 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json index 64e8912ad9..951157d58e 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json @@ -14,6 +14,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -34,6 +35,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json index 3aa3cc616a..c22282c6b0 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json @@ -12,6 +12,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json index 6d507876cb..1aa0a0d3a4 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json @@ -14,6 +14,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -34,6 +35,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json index dacc5348aa..c356103f6a 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json index 0db3d0fdc3..fd90b82ada 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json @@ -14,6 +14,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -36,6 +37,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json index ad4892b350..0672225154 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json @@ -12,6 +12,7 @@ ], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json index 412732aac6..cc9e093981 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json @@ -8,6 +8,7 @@ "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": "dns_nxdomain_error", "DNSLookupExpectedFailure": [ 1, @@ -27,6 +28,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json index 042aa7c7fb..4ad6283206 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json @@ -8,6 +8,7 @@ "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSLookupSuccessWithValidAddressClassic": [], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": "dns_nxdomain_error", "DNSLookupExpectedFailure": [ 2 @@ -26,6 +27,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json index 4aa67039e3..ea9dba60ef 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json @@ -16,6 +16,7 @@ 3 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json index 9bed595247..a40c613a23 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json @@ -12,6 +12,7 @@ 1 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": null, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json index 77c9d4ecfd..71a2ebd985 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json @@ -16,6 +16,7 @@ 3 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 6, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json index 289a41a993..97a042c65c 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json @@ -13,6 +13,7 @@ 3 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -29,6 +30,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 6, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json index 886f529a2a..18ff9efa72 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json @@ -16,6 +16,7 @@ 3 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -32,6 +33,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 16, "HTTPFinalResponseSuccessTCPWithoutControl": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json index ceeb87cc67..5645879bc2 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json @@ -12,6 +12,7 @@ 2 ], "DNSLookupUnexpectedFailure": [], + "DNSLookupUnexplainedFailure": [], "DNSExperimentFailure": null, "DNSLookupExpectedFailure": [], "DNSLookupExpectedSuccess": [], @@ -28,6 +29,7 @@ "TLSHandshakeUnexplainedFailureDuringWebFetch": [], "TLSHandshakeUnexplainedFailureDuringConnectivityCheck": [], "HTTPRoundTripUnexpectedFailure": [], + "HTTPRoundTripUnexplainedFailure": [], "HTTPFinalResponseSuccessTLSWithoutControl": null, "HTTPFinalResponseSuccessTLSWithControl": 16, "HTTPFinalResponseSuccessTCPWithoutControl": null,