This repository has been archived by the owner on Dec 15, 2022. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the Change
Previously, we migrated to send data to GitHub's analytics pipeline. Then we validated the data we are sending to the internal pipeline against Google Analytics to cross check. Everything looks good, so it's time to rip Google Analytics out entirely.
This pull request:
Reporter.post
andReporter.send
methods that make requests to Google Analytics.telemetry
handles setting the uuid already sonode-uuid
is no longer a necessary dependency.Alternate Designs
So we have a couple of methods that can send data to the stats store and eventually to GitHub's internal analytics pipeline:
Reporter.sendEvent
(deprecated)Reporter.sendTiming
(deprecated)Reporter.addCustomEvent
Reported.addTiming
I'd love to rip out
sendEvent
andsendTiming
entirely. But I found a few instances of community code that callsconsumeReporter
with older versions of the reporter interface:https://github.com/search?q=consumeReporter&type=Code
Many of these are dotfiles repos, where users appear to have checked in their .atom file. One of them appears to be a community package: https://github.com/ly1984119/cde-welcome
I chose to err on the more conservative side and avoid the possibility of breaking functionality for our users, even though it leaves this deprecated api cluttering our codebase. If you disagree, let's talk - I'm entirely open to feedback.
I'm also not sure if sending the exceptions to GitHub's analytics pipeline is necessary. Other GitHub apps (such as Desktop) are sending theirs, but Atom already uses BugSnag. Do we really need the exceptions in both places? It could be useful to, for example, compare exception rates of different applications.
Benefits
The Atom community asked us not to send data to Google Analytics anymore and now we're not. Plus, this cleans up a bunch of redundant code in our unit tests, and rips out a now-unncessary dependency.
Possible Drawbacks
I can't think of any but I'm open to feedback, as always.