Skip to content

Commit

Permalink
for #306: Telemetry for container assignment events
Browse files Browse the repository at this point in the history
  • Loading branch information
groovecoder committed Apr 3, 2017
1 parent ce8b4de commit c13edce
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 0 deletions.
39 changes: 39 additions & 0 deletions docs/metrics.md
Expand Up @@ -189,6 +189,45 @@ of a `testpilottest` telemetry ping for each scenario.
}
```

* The user chooses "Always Open in this Container" context menu option. (Note: We send two separate event names: one for assigning a site to a container, one for removing a site from a container.)

```js
{
"uuid": <uuid>,
"userContextId": <userContextId>,
"event": "[added|removed]-container-assignment"
}
```

* Firefox prompts the user to reload a site into a container after the user picked "Always Open in this Container".

```js
{
"uuid": <uuid>,
"userContextId": <userContextId>,
"event": "prompt-reload-page-in-container"
}
```

* The user clicks "Take me there" to reload a site into a container after the user picked "Always Open in this Container".

```js
{
"uuid": <uuid>,
"event": "click-to-reload-page-in-container"
}
```

* Firefox automatically reloads a site into a container after the user picked "Always Open in this Container".

```js
{
"uuid": <uuid>,
"userContextId": <userContextId>,
"event": "auto-reload-page-in-container"
}
```

### A Redshift schema for the payload:

```lua
Expand Down
15 changes: 15 additions & 0 deletions webextension/background.js
Expand Up @@ -115,6 +115,11 @@ const assignManager = {
message: `Successfully ${actionName} site to always open in this container`,
iconUrl: browser.extension.getURL("/img/onboarding-1.png")
});
browser.runtime.sendMessage({
method: "sendTelemetryPayload",
event: `${actionName}-container-assignment`,
userContextId: userContextId,
});
this.calculateContextMenu(tab);
}).catch((e) => {
throw e;
Expand Down Expand Up @@ -227,7 +232,17 @@ const assignManager = {
// If the user has explicitly checked "Never Ask Again" on the warning page we will send them straight there
if (neverAsk) {
browser.tabs.create({url, cookieStoreId: `firefox-container-${userContextId}`, index});
browser.runtime.sendMessage({
method: "sendTelemetryPayload",
event: "auto-reload-page-in-container",
userContextId: userContextId,
});
} else {
browser.runtime.sendMessage({
method: "sendTelemetryPayload",
event: "prompt-to-reload-page-in-container",
userContextId: userContextId,
});
const confirmUrl = `${loadPage}?url=${url}`;
browser.tabs.create({url: confirmUrl, cookieStoreId: `firefox-container-${userContextId}`, index}).then(() => {
// We don't want to sync this URL ever nor clutter the users history
Expand Down
4 changes: 4 additions & 0 deletions webextension/js/confirm-page.js
Expand Up @@ -17,6 +17,10 @@ document.getElementById("redirect-form").addEventListener("submit", (e) => {
// Can't really do much here user will have to click it again
});
}
browser.runtime.sendMessage({
method: "sendTelemetryPayload",
event: "click-to-reload-page-in-container",
});
redirect();
});

Expand Down

0 comments on commit c13edce

Please sign in to comment.