summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/FirefoxRelayTelemetry.mjs
blob: 96ad487b0dc12162eaea251c04ff7b33d8ce9b10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

export const FirefoxRelayTelemetry = {
  recordRelayIntegrationTelemetryEvent(
    eventObject,
    eventMethod,
    eventFlowId,
    eventExtras
  ) {
    Services.telemetry.recordEvent(
      "relay_integration",
      eventMethod,
      eventObject,
      eventFlowId ?? "",
      eventExtras ?? {}
    );
  },

  recordRelayPrefEvent(eventMethod, eventFlowId, eventExtras) {
    this.recordRelayIntegrationTelemetryEvent(
      "pref_change",
      eventMethod,
      eventFlowId,
      eventExtras
    );
  },

  recordRelayOfferedEvent(eventMethod, eventFlowId, scenarioName, isRelayUser) {
    return this.recordRelayIntegrationTelemetryEvent(
      "offer_relay",
      eventMethod,
      eventFlowId,
      {
        scenario: scenarioName,
        is_relay_user: (isRelayUser ?? "") + "",
      }
    );
  },

  recordRelayUsernameFilledEvent(eventMethod, eventFlowId, errorCode = 0) {
    return this.recordRelayIntegrationTelemetryEvent(
      "fill_username",
      eventMethod,
      eventFlowId,
      {
        error_code: errorCode + "",
      }
    );
  },

  recordRelayReusePanelEvent(eventMethod, eventFlowId, errorCode = 0) {
    return this.recordRelayIntegrationTelemetryEvent(
      "reuse_panel",
      eventMethod,
      eventFlowId,
      {
        error_code: errorCode + "",
      }
    );
  },

  recordRelayOptInPanelEvent(eventMethod, eventFlowId, eventExtras) {
    return this.recordRelayIntegrationTelemetryEvent(
      "opt_in_panel",
      eventMethod,
      eventFlowId,
      eventExtras
    );
  },
};

export default FirefoxRelayTelemetry;