summaryrefslogtreecommitdiffstats
path: root/toolkit/components/satchel/integrations/FirefoxRelayTelemetry.mjs
blob: c03f48ba0fd4bf7948ef2017df328778fe2392f4 (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
/* 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) {
    return this.recordRelayIntegrationTelemetryEvent(
      "offer_relay",
      eventMethod,
      eventFlowId,
      {
        scenario: scenarioName,
      }
    );
  },

  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;