Closed Bug 1771479 Opened 2 years ago Closed 2 years ago

Add ECH specific handshake telemetry

Categories

(Core :: Networking, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
103 Branch
Tracking Status
firefox102 --- wontfix
firefox103 --- fixed

People

(Reporter: djackson, Assigned: djackson)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Add handshake telemetry histograms specifically for ECH.

Attached file data-review-ech.md
Attachment #9278905 - Flags: data-review?(chutten)
Attachment #9278905 - Flags: data-review?(chutten)
Attachment #9278905 - Attachment is obsolete: true
Attachment #9278905 - Attachment is obsolete: false
Attachment #9278905 - Flags: data-review?(chutten)
Attachment #9278905 - Flags: data-review?(chutten) → data-review?(tlong)

Comment on attachment 9278905 [details]
data-review-ech.md

Data Review

  1. Is there or will there be documentation that describes the schema for the ultimate data set in a public, complete, and accurate way?

Yes, through Histograms.json and the Probe Dictionary

  1. Is there a control mechanism that allows the user to turn the data collection on and off?

Yes, through the standard telemetry opt-out in the application preferences

  1. If the request is for permanent data collection, is there someone who will monitor the data over time?

Dennis Jackson will be responsible for the permanent collection of this data

  1. Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?

Category 1

  1. Is the data collection request for default-on or default-off?

Default-on

  1. Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?

No

  1. Is the data collection covered by the existing Firefox privacy notice?

Yes

  1. Does the data collection use a third-party collection tool?

No

Result

data-review+

Attachment #9278905 - Flags: data-review?(tlong) → data-review+
Pushed by djackson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9bcda147affa
Add histograms for SSL_HANDSHAKE_RESULT and SSL_TIME_UNTIL_READY for connections using ECH. r=dragana

Backed out for causing xpcshell failures on test_httpssvc_retry_with_ech.js.

Push with failures

Failure log

Backout link

[task 2022-06-10T13:37:35.823Z] 13:37:35     INFO -  TEST-START | netwerk/test/unit/test_httpssvc_retry_with_ech.js
[task 2022-06-10T13:37:37.810Z] 13:37:37  WARNING -  TEST-UNEXPECTED-FAIL | netwerk/test/unit/test_httpssvc_retry_with_ech.js | xpcshell return code: 0
[task 2022-06-10T13:37:37.811Z] 13:37:37     INFO -  TEST-INFO took 1988ms
[task 2022-06-10T13:37:37.811Z] 13:37:37     INFO -  >>>>>>>
[task 2022-06-10T13:37:37.811Z] 13:37:37     INFO -  PID 10012 | start!
[task 2022-06-10T13:37:37.811Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | setup - [setup : 22] "49599" != null
[task 2022-06-10T13:37:37.812Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | setup - [setup : 22] "49599" != ""
[task 2022-06-10T13:37:37.812Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | setup - [setup : 40] "62747" != null
[task 2022-06-10T13:37:37.813Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | setup - [setup : 41] "62747" != ""
[task 2022-06-10T13:37:37.813Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | setup - [setup : 44] "AE3+DQBJBwAgACBokA2skNPXbdLX9bA2I67WuSRCOW0/MBaZ/1a+4bPGKAAQAAEAAQABAAMAAgABAAIAA0AOcHVibGljLmV4YW1wbGUAAA==" != null
[task 2022-06-10T13:37:37.814Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | setup - [setup : 45] "AE3+DQBJBwAgACBokA2skNPXbdLX9bA2I67WuSRCOW0/MBaZ/1a+4bPGKAAQAAEAAQABAAMAAgABAAIAA0AOcHVibGljLmV4YW1wbGUAAA==" != ""
[task 2022-06-10T13:37:37.814Z] 13:37:37     INFO -  (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2022-06-10T13:37:37.814Z] 13:37:37     INFO -  (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2022-06-10T13:37:37.815Z] 13:37:37     INFO -  (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2022-06-10T13:37:37.815Z] 13:37:37     INFO -  running event loop
[task 2022-06-10T13:37:37.815Z] 13:37:37     INFO -  netwerk/test/unit/test_httpssvc_retry_with_ech.js | Starting
[task 2022-06-10T13:37:37.816Z] 13:37:37     INFO -  (xpcshell/head.js) | test pending (2)
[task 2022-06-10T13:37:37.816Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js |  - Binary util EncryptedClientHelloServer should exist - true == true
[task 2022-06-10T13:37:37.817Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js |  - certificate folder (../../../security/manager/ssl/tests/unit/test_encrypted_client_hello) should exist - true == true
[task 2022-06-10T13:37:37.817Z] 13:37:37     INFO -  (xpcshell/head.js) | test run_next_test 0 finished (2)
[task 2022-06-10T13:37:37.817Z] 13:37:37     INFO -  (xpcshell/head.js) | test pending (2)
[task 2022-06-10T13:37:37.817Z] 13:37:37     INFO -  (xpcshell/head.js) | test finished (2)
[task 2022-06-10T13:37:37.818Z] 13:37:37     INFO -  (xpcshell/head.js) | test run_next_test 1 pending (2)
[task 2022-06-10T13:37:37.818Z] 13:37:37     INFO -  (xpcshell/head.js) | test finished (2)
[task 2022-06-10T13:37:37.818Z] 13:37:37     INFO -  netwerk/test/unit/test_httpssvc_retry_with_ech.js | Starting testConnectWithECH
[task 2022-06-10T13:37:37.819Z] 13:37:37     INFO -  (xpcshell/head.js) | test testConnectWithECH pending (2)
[task 2022-06-10T13:37:37.819Z] 13:37:37     INFO -  (xpcshell/head.js) | test run_next_test 1 finished (2)
[task 2022-06-10T13:37:37.819Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testConnectWithECH - [testConnectWithECH : 204] asyncResolve ok - true == true
[task 2022-06-10T13:37:37.820Z] 13:37:37     INFO -  PID 10012 | *** Connection Activity 0x3 0x5008 .SA......[tlsflags0x00000000]foo.example.com:53929[TRR:1]
[task 2022-06-10T13:37:37.820Z] 13:37:37     INFO -  PID 10012 | *** Connection Activity 0x3 0x500b .SA......[tlsflags0x00000000]foo.example.com:53929[TRR:1]
[task 2022-06-10T13:37:37.820Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testConnectWithECH - [testConnectWithECH : 1] Checking that this is the correct callback - true == true
[task 2022-06-10T13:37:37.821Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testConnectWithECH - [testConnectWithECH : 1] Checking status - 0 == 0
[task 2022-06-10T13:37:37.821Z] 13:37:37     INFO -  PID 10012 | *** Connection Activity 0x3 0x5009 .S.......[tlsflags0x00000000]ech-private.example.com:443 <ROUTE-via ech-private.example.com:8443> {NPN-TOKEN http/1.1}^partitionKey=%28https%2Cexample.com%29
[task 2022-06-10T13:37:37.822Z] 13:37:37     INFO -  PID 10012 | *** Connection Activity 0x3 0x500a .S.......[tlsflags0x00000000]ech-private.example.com:443 <ROUTE-via ech-private.example.com:8443> {NPN-TOKEN http/1.1}^partitionKey=%28https%2Cexample.com%29
[task 2022-06-10T13:37:37.822Z] 13:37:37     INFO -  PID 10012 | *** Connection Activity 0x3 0x500b .S.......[tlsflags0x00000000]ech-private.example.com:443 <ROUTE-via ech-private.example.com:8443> {NPN-TOKEN http/1.1}^partitionKey=%28https%2Cexample.com%29
[task 2022-06-10T13:37:37.823Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testConnectWithECH - [testConnectWithECH : 213] This host should have accepted ECH - true == true
[task 2022-06-10T13:37:37.823Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testConnectWithECH - [testConnectWithECH : 139] Should have one DnsAndSock created - true == true
[task 2022-06-10T13:37:37.824Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testConnectWithECH - [testConnectWithECH : 140] Should have echConfig - true == true
[task 2022-06-10T13:37:37.824Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testConnectWithECH - [testConnectWithECH : 141] Should have one connection created - true == true
[task 2022-06-10T13:37:37.824Z] 13:37:37     INFO -  (xpcshell/head.js) | test run_next_test 2 pending (2)
[task 2022-06-10T13:37:37.825Z] 13:37:37     INFO -  (xpcshell/head.js) | test testConnectWithECH finished (2)
[task 2022-06-10T13:37:37.825Z] 13:37:37     INFO -  netwerk/test/unit/test_httpssvc_retry_with_ech.js | Starting testEchRetry
[task 2022-06-10T13:37:37.825Z] 13:37:37     INFO -  (xpcshell/head.js) | test testEchRetry pending (2)
[task 2022-06-10T13:37:37.826Z] 13:37:37     INFO -  (xpcshell/head.js) | test run_next_test 2 finished (2)
[task 2022-06-10T13:37:37.826Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testEchRetry - [testEchRetry : 279] asyncResolve ok - true == true
[task 2022-06-10T13:37:37.826Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testEchRetry - [testEchRetry : 1] Checking that this is the correct callback - true == true
[task 2022-06-10T13:37:37.827Z] 13:37:37     INFO -  TEST-PASS | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testEchRetry - [testEchRetry : 1] Checking status - 0 == 0
[task 2022-06-10T13:37:37.827Z] 13:37:37  WARNING -  TEST-UNEXPECTED-FAIL | netwerk/test/unit/test_httpssvc_retry_with_ech.js | testEchRetry - [testEchRetry : 289] This host should have accepted ECH - false == true
[task 2022-06-10T13:37:37.828Z] 13:37:37     INFO -  Z:/task_1654866316/build/tests/xpcshell/tests/netwerk/test/unit/test_httpssvc_retry_with_ech.js:testEchRetry:289
[task 2022-06-10T13:37:37.828Z] 13:37:37     INFO -  Z:\task_1654866316\build\tests\xpcshell\head.js:_do_main:240
[task 2022-06-10T13:37:37.828Z] 13:37:37     INFO -  Z:\task_1654866316\build\tests\xpcshell\head.js:_execute_test:597
[task 2022-06-10T13:37:37.828Z] 13:37:37     INFO -  -e:null:1
[task 2022-06-10T13:37:37.829Z] 13:37:37     INFO -  exiting test
[task 2022-06-10T13:37:37.829Z] 13:37:37     INFO -  Unexpected exception NS_ERROR_ABORT:
[task 2022-06-10T13:37:37.829Z] 13:37:37     INFO -  _abort_failed_test@Z:\task_1654866316\build\tests\xpcshell\head.js:868:20
[task 2022-06-10T13:37:37.830Z] 13:37:37     INFO -  do_report_result@Z:\task_1654866316\build\tests\xpcshell\head.js:969:5
[task 2022-06-10T13:37:37.830Z] 13:37:37     INFO -  Assert<@Z:\task_1654866316\build\tests\xpcshell\head.js:75:21
[task 2022-06-10T13:37:37.830Z] 13:37:37     INFO -  proto.report@resource://testing-common/Assert.jsm:228:10
[task 2022-06-10T13:37:37.831Z] 13:37:37     INFO -  proto.ok@resource://testing-common/Assert.jsm:254:10
[task 2022-06-10T13:37:37.831Z] 13:37:37     INFO -  testEchRetry@Z:/task_1654866316/build/tests/xpcshell/tests/netwerk/test/unit/test_httpssvc_retry_with_ech.js:289:10
[task 2022-06-10T13:37:37.831Z] 13:37:37     INFO -  _do_main@Z:\task_1654866316\build\tests\xpcshell\head.js:240:6
[task 2022-06-10T13:37:37.832Z] 13:37:37     INFO -  _execute_test@Z:\task_1654866316\build\tests\xpcshell\head.js:597:5
[task 2022-06-10T13:37:37.832Z] 13:37:37     INFO -  @-e:1:1
[task 2022-06-10T13:37:37.832Z] 13:37:37     INFO -  exiting test
[task 2022-06-10T13:37:37.832Z] 13:37:37     INFO -  "Force a GC"
[task 2022-06-10T13:37:37.833Z] 13:37:37     INFO -  "CONSOLE_MESSAGE: (error) [JavaScript Error: "NetworkError: Network request failed" {file: "resource://services-settings/Utils.jsm" line: 242}]
[task 2022-06-10T13:37:37.833Z] 13:37:37     INFO -  fetch/</request.onerror@resource://services-settings/Utils.jsm:242:26
[task 2022-06-10T13:37:37.833Z] 13:37:37     INFO -  _execute_test@Z:\\task_1654866316\\build\\tests\\xpcshell\\head.js:698:23
[task 2022-06-10T13:37:37.834Z] 13:37:37     INFO -  @-e:1:1
[task 2022-06-10T13:37:37.834Z] 13:37:37     INFO -  "
[task 2022-06-10T13:37:37.834Z] 13:37:37     INFO -  <<<<<<<
[task 2022-06-10T13:37:37.848Z] 13:37:37     INFO -  TEST-START | netwerk/test/unit/test_httpssvc_retry_without_ech.js
Flags: needinfo?(djackson)
Pushed by djackson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c5f30884dfb9
Add histograms for SSL_HANDSHAKE_RESULT and SSL_TIME_UNTIL_READY for connections using ECH. r=dragana
Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(djackson)
Resolution: --- → FIXED
Blocks: ech
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Depends on: 1774157
Pushed by djackson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/633827f88e0a
Fix ECH GREASE Telemetry. r=dragana
Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 103 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: