GithubHelp home page GithubHelp logo

atom / metrics Goto Github PK

View Code? Open in Web Editor NEW
137.0 31.0 47.0 366 KB

Help improve Atom by sending usage statistics, exceptions and deprecations to the team.

License: MIT License

JavaScript 100.00%

metrics's Introduction

Atom and all repositories under Atom will be archived on December 15, 2022. Learn more in our official announcement

Metrics package

OS X Build Status Windows Build Status Dependency Status

Help improve Atom by sending usage statistics, exceptions and deprecations to the team.

You will be asked at first-run whether you consent to telemetry being sent to the Atom team which includes usage statistics, sanitized exceptions and deprecation warnings. You can change your mind at a later date from the Atom Settings window.

Collected data

  • A unique UUID v4 random identifier is generated according to RFC4122
  • Screen and window width and height
  • Version of Atom being used including which release channel (stable, beta, dev)
  • Name of each Atom view class or Atom configuration file opened in a pane, e.g. EditorView, SettingsView, MarkdownPreviewView, and UserKeymap. No other pane item information is collected.
  • Exception messages (without paths)
  • Heap memory used as MB and %
  • Commands run (except core commands)
  • File open events and their language grammar scope names
  • Amount of time the current window was open for
  • Amount of time the current window took to load
  • Amount of time the app took to launch
  • Deprecated package names and versions
  • Chrome user-agent (version of Chrome, OS, CPU)
  • The number of optional (non-bundled) Atom packages activated at startup
  • The number of user-defined key bindings loaded at startup
  • File save events when editing the user init script
  • File save events when editing the user stylesheet
  • Repository open events and the hostname from the repository's URL (i.e., github.com, bitbucket.org, gitlab.com, visualstudio.com, amazonaws.com if the repository is hosted at one of these domains; otherwise, the hostname is anonymized as other)

This information is sent to GitHub's internal analytics pipeline via the telemetry package which allows the Atom team to analyze usage patterns and errors in order to help improve Atom.

metrics's People

Contributors

50wliu avatar as-cii avatar benogle avatar bolinfest avatar damieng avatar darangi avatar daviwil avatar ingramz avatar itay-grudev avatar izuzak avatar jasonrudolph avatar kevinsawicki avatar lee-dohm avatar maxbrunsfeld avatar mcolyer avatar mnquintana avatar neilparikh avatar rafeca avatar thomasjo avatar tmthrgd avatar vikramhaer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metrics's Issues

should not be opt-in by default

I understand the need to collect information for help but privacy is more important.
I am using atom 2 month before learning that informations was send to google!!!!

Maybe you can add a dialog when the user launch atom for the first place and ask if he is ok to use metrics for helping atom development.

Allow telemetry consent without having it show on my welcome screen everytime I open Atom

Prerequisites

Description

I don't mind sharing Atom usage statistics to improve the application but hate it asking for my consent everytime I open the application/new window. Currently I dont see any way to do that through settings or config files. (have looked at 1-2 stackoverflow pages too).
Apologies in advance if there is a way already but I couldn't find any.

Steps to Reproduce

  1. Open Atom app
  2. Open settings
  3. Check config.cson and set telemetryConsent variable to "yes". If you cant find it create an item in core as telemetryConsent: "yes"
  4. Open new tab and notice that you have a telemetry consent screen.

Expected behavior: [What you expect to happen]
I would not like to see this screen ever whether or not the user decides to share or not share the usage statistics.
Actual behavior: Shows that screen

Reproduces how often: [What percentage of the time does it reproduce?]
Everytime you open a new tab

Versions

1.28.1

Additional Information

This answer solves not showing the telemetry consent page but solves it by not giving consent, hence doesnt solve this issue.

Reconsider changing how the unique ID is being calculated

You say: "A unique identifier that is generated by computing the SHA-1 of the machine's MAC address."

Now this might not be as important here as in other more sensitive areas, but that is really the wrong way to go, IMO. It is possible to generate hashes for all possible mac addresses and in theory connect/link data to people. It's a pretty long shot but it can be done without too much hassle. Adding some longer random string into each hash would make it as good as useless as identifier but still provide your uniqueness.

Atom Crashes if Google Analytics Access is Denied

OSX 10.9 with LittleSnitch

  1. Open Atom
  2. LittleSnitch: "Atom via Atom Helper" attempts to connect to www-google-analytics.l.google.com over port 443
  3. press Deny
  4. Editor crashes.
  5. No windows can be open, but the main program stays available in the menu and dock.

In one case, instead of crashing, I got:

  1. Editor shows the notice "Editor is not responding"
  2. Editor hangs until I quit

Issues when GA cannot be reached

atom/atom#2394 (comment) via @Spencevail

My console keeps popping up because it can't reach google analytics. I use Little Snitch and so I blocked google analytics. I would prefer it if my activities and usage were not analyzed. So every few minutes my console is popping up.

getUserId uniqueness not guarenteed by guid package

The guid package, used as a fallback if the MAC address is not available in getUserId, is not resistant to collisions as it relies upon Math.random(), which is not cryptographically secure. As this GUID is used as a long term unique identifier it's uniqueness is clearly important and simply cannot be guaranteed by the guid package.

It would be wise to replace lib/metrics.coffee#L34 with callback require('node-uuid').v4() relying instead upon the superior node-uuid package which uses require('crypto').randomBytes which is cryptographically secure.

The guid package's author makes a remark to this effect (emphasis authors):

NOTE: @broofa's node-uuid module is much better than this implementation.

This issue of uniqueness and entropy are briefly mentioned on the UUID Wikipedia article:

However, these probabilities only hold when the UUIDs are generated using sufficient entropy. Otherwise, the probability of duplicates could be significantly higher, since the statistical dispersion might be lower.

A stronger warning against Math.random() can be found here (emphasis mine):

[...] As a matter of fact, most Math.random implementations are not good. [...] Math.random should never be used to generate separators in POST requests, Version 4 UUIDs, session keys, etc.

Consider Removing Name of Item from Metrics

The name of each item opened in a pane such as EditorView, SettingsView, and MarkdownPreviewView

As quoted above, Atom attempts to see the name of each item opened in a pane. I don't particularly feel like passing on the names of every file I make use of.

I wouldn't mind passing on something like the language being used, or something like that, but I don't see why file names should play such a large role in metrics.

When does it connect to the internet and how much traffic does it generate.

Could you add these infos to the package description?

Specifically, i would like to know if the the package starts when i am in the middle of coding, or if it does its work when the editor starts or closes (preferred). I have no graphics card and a cooler which will notify me when something happens and when i am coding i prefer if nothing happens unless i explicitely request it, i hope you understand, you know, flow

I pay 15 euro for 5 GB internet traffic per month. The info how much traffic the package generates is also of interest to me.

Thanks.

What does it mean for the following to be sent to google?

"Exception messages (without paths)" - If I'm using a package, like Juno for Julia, and I get an exception message from a syntax error or something, does this get sent to google?

"Commands run (save core commands)" - What is the definition of a command? Anything I enter into a console?

Failed to activate the metrics package

Edit by @rsese to add more specific repro steps and a link to @gmarton's notes

Steps to reproduce

  1. Install atom-hg (apm install atom-hg)
  2. Clone some Mercurial repository e.g. hg clone https://selenic.com/repo/bloatwatch (I installed TortoiseHG to do this on Windows)
  3. Start Atom with that project or add it as a project folder

Reproduced on Windows 10 with Atom 1.32.1 and as noted by @gmarton, doesn't reproduce in 1.29.

See @gmarton's notes ("Took a quick look at both sources there seem to be a conflict between the atom-hg and mertics") at #102 (comment).


[Enter steps to reproduce:]

  1. Auto-update Atom from 1.29.0 to 1.30.0
  2. Start Atom

Atom: 1.30.0 x64
Electron: 2.0.5
OS: Windows 7 SP1
Thrown From: metrics package 1.6.1

Stack Trace

Failed to activate the metrics package

At repository.getOriginURL is not a function

TypeError: repository.getOriginURL is not a function
    at subscriptions.add.atom.project.observeRepositories (~/AppData/Local/atom/app-1.30.0/resources/app/node_modules/metrics/lib/metrics.js:197:49)
    at Project.observeRepositories (~/AppData/Local/atom/app-1.30.0/resources/app/src/project.js:254:15)
    at Object.watchRepositories (~/AppData/Local/atom/app-1.30.0/resources/app/node_modules/metrics/lib/metrics.js:196:47)
    at Object.begin (~/AppData/Local/atom/app-1.30.0/resources/app/node_modules/metrics/lib/metrics.js:88:16)
    at ensureClientId (~/AppData/Local/atom/app-1.30.0/resources/app/node_modules/metrics/lib/metrics.js:29:42)
    at Object.ensureClientId (~/AppData/Local/atom/app-1.30.0/resources/app/node_modules/metrics/lib/metrics.js:106:13)
    at Object.activate (~/AppData/Local/atom/app-1.30.0/resources/app/node_modules/metrics/lib/metrics.js:29:16)
    at Package.activateNow (~/AppData/Local/atom/app-1.30.0/resources/app/src/package.js:230:33)
    at measure (~/AppData/Local/atom/app-1.30.0/resources/app/src/package.js:206:33)
    at Package.measure (~/AppData/Local/atom/app-1.30.0/resources/app/src/package.js:88:25)
    at activationPromise.Promise (~/AppData/Local/atom/app-1.30.0/resources/app/src/package.js:200:20)
    at new Promise (<anonymous>)
    at Package.activate (~/AppData/Local/atom/app-1.30.0/resources/app/src/package.js:198:38)
    at PackageManager.activatePackage (~/AppData/Local/atom/app-1.30.0/resources/app/src/package-manager.js:695:42)
    at config.transactAsync (~/AppData/Local/atom/app-1.30.0/resources/app/src/package-manager.js:670:36)
    at Config.transactAsync (~/AppData/Local/atom/app-1.30.0/resources/app/src/config.js:866:28)
    at PackageManager.activatePackages (~/AppData/Local/atom/app-1.30.0/resources/app/src/package-manager.js:668:23)
    at PackageManager.activate (~/AppData/Local/atom/app-1.30.0/resources/app/src/package-manager.js:647:50)
    at loadStatePromise.loadState.then (~/AppData/Local/atom/app-1.30.0/resources/app/src/atom-environment.js:875:27)
    at <anonymous>

Commands

Non-Core Packages

atom-hg 2.0.14 
city-lights-syntax 1.1.8 
city-lights-ui 1.5.3 
highlight-selected 0.14.0 
notepad-plus-plus-syntax 0.2.7 
seti-syntax 1.2.0 
seti-ui 1.11.0 
tortoise-hg 1.2.0 

Depreciation warning in metrics

I am new to Atom and received the following message; "You have the core package "metrics" installed as a community package. See https://github.com/atom/dalek for how this causes problems and instructions on how to correct the situation."

<unknown> (/usr/share/atom/resources/app.asar/node_modules/dalek/lib/main.js:14:14)
Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
<unknown> (/usr/share/atom/resources/app.asar/src/package-manager.js:514:32)

Should be disabled by default

I was surprised to learn that this is a default package, and that it's on by default. Users should have to opt-in to activity tracking, instead of opt-out. Not cool, and borderline creepy.

Object.dirname is deprecated.

Argument to path.dirname must be a string

Object.dirname (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/electron-shims.js:9:10)
Function.viewNameForPaneItem (/Users/dylankinnett/.atom/packages/metrics/lib/reporter.coffee:96:16)
Function.sendPaneItem (/Users/dylankinnett/.atom/packages/metrics/lib/reporter.coffee:133:18)
<unknown> (/Users/dylankinnett/.atom/packages/metrics/lib/metrics.coffee:114:27)
Function.module.exports.Emitter.simpleDispatch (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
Emitter.emit (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)

Deprecation Tracking Causing Significant Slowdown

I noticed a sudden slowdown in Atom just over the last couple of hours. In that time I've installed (and uninstalled) some autocomplete plugins and Atom appears to have updated from 0.198.0 to 0.199.0. It's now blocking for over 500ms whenever I try to type in the editor, but otherwise operates normally (including typing outside of the editor view):

screenshot_2015-05-16_1 35 54 pm

I then saw that there were over 20,000 errors in my console, which appear to be failed requests to Google Analytics coming from the metric package, reporting deprecated API usage from npm-install, atom-alignment, hex, command-logger, css-colour-underline and possibly more.

screenshot_2015-05-16_1 32 25 pm

Running on OSX 10.9.2, with process.versions being:

{
  "http_parser": "2.3.0",
  "node": "1.5.1",
  "v8": "4.1.0.21",
  "uv": "1.4.2",
  "zlib": "1.2.8",
  "ares": "1.10.0-DEV",
  "modules": "43",
  "openssl": "1.0.1k",
  "atom-shell": "0.22.3",
  "chrome": "41.0.2272.76"
}

I haven't dug any deeper into the problem so far โ€“ I seem to have fixed it by disabling the metrics package but just thought a heads up would be appreciated! Thanks :)

Crashing

Atom is crashing on MacOSX 10.11.2
to reproduce,

open one Atom window, open another Atom window

close one windows with red X

Atom has crashed, and died, closing everything

What does 'The name of each item opened in a pane such as...' mean?

Hi, I'm new to Atom having only installed it this morning and played around with it for a bit. So far I'm liking it a lot. I wasn't too happy to find it had tracking enabled by default but I won't get into that now.

I saw this item in the collected data:

The name of each item opened in a pane such as EditorView, SettingsView, and MarkdownPreviewView

Which almost sounds like it would collect filenames. I didn't think that would be likely and I found issue #16 which talked about the tracking and had this comment:

No data about filenames or file contents is sent.

That's good to here but I'd be interested if anyone can easily explain what names that original point is referring to. Any help would be appreciated.

I'm a developer and I know that all the code for this is available. Once I've started learning more about Atom and the packages I should be able to answer this myself. I've got one problems if someone wants to close this issue until I can do that.

Why you don't use Piwik instead of Google Analytics?

I am just curious why you don't use the open source product for web analytics Piwik instead of Google Analytics?
I am aware that Google Analytics has more functions but you can deploy Piwik in your private environment and in that way you will be sure that the gathered data stays in Github's boundaries.

Uncaught TypeError: undefined is not a function

[Enter steps to reproduce below:]

  1. Create or open any file
  2. Paste something inside it

Atom Version: 0.199.0-8c61a6b
System: Mac OS X 10.10.3
Thrown From: metrics package, v0.46.0

Stack Trace

Uncaught TypeError: undefined is not a function

At /Applications/Atom.app/Contents/Resources/app.asar/node_modules/metrics/lib/metrics.js:163

TypeError: undefined is not a function
  at Object.module.exports.getPackageName (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/metrics/lib/metrics.js:163:42)
  at Immediate._onImmediate (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/metrics/lib/metrics.js:139:126)
  at processImmediate [as _immediateCallback] (timers.js:369:17)

Commands

     -0:08.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:03.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:02.2.0 cut-line:paste-line (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "minimap-symbols",
      "preview-tabs",
      "crosshairs",
      "coffee-compile",
      "travis-ci-status",
      "enhanced-package-list",
      "themed-settings",
      "tree-view-breadcrumb"
    ],
    "themes": [
      "one-dark-ui",
      "spacegray-dark-syntax"
    ],
    "audioBeep": false,
    "destroyEmptyPanes": false
  },
  "metrics": {
    "userId": "a677fee57f167fa48766293df30a3dc3309a25a6"
  }
}

Installed Packages

# User
Stylus, v1.0.0
Sublime-Style-Column-Selection, v1.2.3
atom-color-highlight, v3.0.9
bezier-curve-editor, v0.6.6
block-travel, v1.0.2
bug-report, v0.7.0
caniuse, v0.5.3
cut-line, v0.10.0
docblockr, v0.7.1
figlet, v0.4.0
file-icons, v1.5.5
highlight-selected, v0.9.1
language-generic-config, v0.2.0
language-haml, v0.20.0
language-jade, v0.4.0
language-sass, v0.38.0
linter, v0.12.2
linter-coffeelint, v0.2.3
minimap, v4.8.0
minimap-bookmarks, v0.1.0
minimap-color-highlight, v4.1.3
minimap-find-and-replace, v4.2.0
minimap-git-diff, v4.1.2
minimap-highlight-selected, v4.2.3
minimap-selection, v4.2.0
php-twig, v3.0.0
pigments, v0.2.0
project-palette-finder, v2.4.17
red-wavy-underline, v0.3.0
spacegray-dark-syntax, v0.2.0
tabs-to-spaces, v0.10.0
tree-view-open-files, v0.2.3
typewriter, v0.3.3
view-tail-large-files, v0.1.14
white-cursor, v0.6.0
zentabs, v0.8.4

# Dev
atom-color-highlight, v3.0.9
bezier-curve-editor, v0.6.6
deprecation-cop, v0.10.0
figlet, v0.4.0
minimap, v4.8.0
minimap-bookmarks, v0.1.0
minimap-color-highlight, v4.1.0
minimap-find-and-replace, v4.2.0
minimap-git-diff, v4.1.2
minimap-highlight-selected, v4.2.3
minimap-selection, v4.2.0
pigments, v0.2.0
project-palette-finder, v2.4.17
settings-view, v0.195.0

Metrics

I would like reporting to google to be turned off by default. Many people have trust issues with google and are uneasy about using anything by them, and knowing Atom is built on Chrome is a bit unsettling. Until we have more information I'm going to another editor and recommend others to do the same.

Session length

I don't know if it is possible to link session length to windows (I assume it is linked to cid). We could take control of session length but that will only work if we the start/end event happen when the app opens/closes (instead of when each window opens/closes)

More precise tracking of active users

GitHub Desktop recently made a change to how they are collecting metrics, to more accurately count active users by recording if there is at least one mouse click during the recording period. For consistency's sake, we should do the same.

Additional Metrics

What do you think about these metrics. I've added the information I'd like to learn by adding each metric.

  1. Non-core packages count: Are people creating and downloading packages.
  2. Theme used: Are people using a non-default theme.
  3. OS: What OSs are being used
  4. Package with the longest load time: What package takes the longest to load (we would need to associate the package and its load time with the metric)
  5. Errors: This would be helpful to cross-reference with other data we gather
  6. Size of files in ~/.atom: Are people editing keymap.cson, user.css, user.coffee
  7. Average Memory footprint: How much memory is Atom taking up and is that number trending up/down
  8. Average CPU usage: How much cpu is Atom taking up and is that number trending up/down

track package usage

If you were to capture actual usage of packages, i.e. hours per day for each package, it would provide several big benefits. It could be presented in the atom.io package listings. The ratio of downloads to usage would be particulary useful since it would give a good measure of package acceptance. One sort option could be based on usage.

  • It would help users pick packages to try. Help find out which ones have happy users.
  • It would help package developers like me to find out which packages to focus on. If my package had a bad ratio of downloads to usage I would know to improve it or drop it.

I don't see how this makes privacy any worse.

should be disableable during install

To disable this package I need to install it, run it, open package panel and disable it.
But on the first run metrics is enabled and can send infos while I not disable it.

This activation should be an opt-in during install.

[Question] How this thing works ?

I know this is not a right place to ask this question but how are you tracking the app usage ? I have set a App Property named Prepros on google analytics and using this code to track usage but nothing is getting tracked, can you please show me the right direction.

var viewParams = {
    v: 1,
    tid: GA_TRACKING_ID,
    cid: localStorage.UID,
    t: 'appview',
    an: 'Prepros',
    utv: 'load',
    utt: loadTime,
    av: VERSION + ' Update: ' + UPDATE_NO,
    sr: window.screen.width + 'x' + window.screen.height
};
$.ajax({
    type: 'POST',
    url: 'https://www.google-analytics.com/collect?' + querystring.stringify(viewParams)
}).then(function() {
    console.log(arguments);
})

Failed to load the metrics package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.10.0
Electron Version: 0.37.8
System: "Manjaro Linux"
Thrown From: metrics package, v1.0.0

Stack Trace

Failed to load the metrics package

At EIO: i/o error, open '/home/brenohq/.atom/compile-cache/coffee/484c63033f0f3bfb424e9d501a22f02e2993550b.js'

Error: EIO: i/o error, open '/home/brenohq/.atom/compile-cache/coffee/484c63033f0f3bfb424e9d501a22f02e2993550b.js'
    at Error (native)
    at Object.fs.openSync (fs.js:584:18)
    at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:158:20)
    at Object.fs.writeFileSync (fs.js:1234:33)
    at Object.fsPlus.writeFileSync (/usr/share/atom/resources/app.asar/node_modules/fs-plus/lib/fs-plus.js:279:17)
    at writeCachedJavascript (/usr/share/atom/resources/app.asar/src/compile-cache.js:97:6)
    at compileFileAtPath (/usr/share/atom/resources/app.asar/src/compile-cache.js:78:7)
    at Object.defineProperty.value [as .coffee] (/usr/share/atom/resources/app.asar/src/compile-cache.js:207:18)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/usr/share/atom/resources/app.asar/src/package.js:718:27)
    at /usr/share/atom/resources/app.asar/src/package.js:117:28
    at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:92:15)
    at Package.module.exports.Package.load (/usr/share/atom/resources/app.asar/src/package.js:106:12)
    at PackageManager.module.exports.PackageManager.loadPackage (/usr/share/atom/resources/app.asar/src/package-manager.js:457:14)
    at /usr/share/atom/resources/app.asar/src/package-manager.js:402:19
    at Config.module.exports.Config.transact (/usr/share/atom/resources/app.asar/src/config.js:312:16)
    at PackageManager.module.exports.PackageManager.loadPackages (/usr/share/atom/resources/app.asar/src/package-manager.js:397:19)
    at /usr/share/atom/resources/app.asar/src/atom-environment.js:754:28

Commands

Config

{
  "core": {
    "autoHideMenuBar": true,
    "disabledPackages": [
      "linter-bootlint"
    ],
    "themes": [
      "one-dark-ui",
      "monokai-slate"
    ]
  }
}

Installed Packages

# User
autoclose-html, v0.23.0 (inactive)
autocomplete-paths, v1.0.2 (inactive)
exception-reporting, v0.40.0 (inactive)
git-plus, v5.16.2 (inactive)
javascript-snippets, v1.2.1 (inactive)
language-blade, v0.25.3 (inactive)
linter, v1.11.16 (inactive)
linter-gcc, v0.6.15 (inactive)
linter-jshint, v2.1.0 (inactive)
linter-php, v1.2.0 (inactive)
metrics, v1.0.0 (inactive)
minimap, v4.25.0 (inactive)
minimap-cursorline, v0.2.0 (inactive)
minimap-highlight-selected, v4.4.0 (inactive)
minimap-pigments, v0.2.1 (inactive)
monokai-slate, v0.5.0 (inactive)
seti-icons, v1.3.3 (inactive)
sync-settings, v0.7.2 (inactive)
wakatime, v6.0.10 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (inactive)
archive-view, v0.61.1 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.11.2 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.1 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.1 (inactive)
bookmarks, v0.41.0 (inactive)
bracket-matcher, v0.82.1 (inactive)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (inactive)
git-diff, v1.1.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (inactive)
image-view, v0.58.2 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (inactive)
notifications, v0.65.0 (inactive)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.241.2 (inactive)
snippets, v1.0.2 (inactive)
spell-check, v0.67.1 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.0 (inactive)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (inactive)
timecop, v0.33.2 (inactive)
tree-view, v0.208.2 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.34.0 (inactive)
whitespace, v0.33.0 (inactive)
wrap-guide, v0.38.1 (inactive)
language-c, v0.52.1 (inactive)
language-clojure, v0.21.0 (inactive)
language-coffee-script, v0.47.2 (inactive)
language-csharp, v0.12.1 (inactive)
language-css, v0.37.1 (inactive)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (inactive)
language-go, v0.42.1 (inactive)
language-html, v0.45.1 (inactive)
language-hyperlink, v0.16.0 (inactive)
language-java, v0.23.0 (inactive)
language-javascript, v0.119.0 (inactive)
language-json, v0.18.2 (inactive)
language-less, v0.29.5 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.35.0 (inactive)
language-php, v0.37.2 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.0 (inactive)
language-ruby, v0.69.0 (inactive)
language-ruby-on-rails, v0.25.0 (inactive)
language-sass, v0.56.0 (inactive)
language-shellscript, v0.22.4 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.23.0 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.28.0 (inactive)
language-toml, v0.18.0 (inactive)
language-xml, v0.34.9 (inactive)
language-yaml, v0.26.0 (inactive)

# Dev
No dev packages

Cross-Platform shortcuts

Your application is crossplatform, your shortcuts should be too.

The readme just says (cmd-,) it should also say (ctrl+,)


If you do not want this information reported, disable this package from the
Metrics section of the Settings view (Mac: cmd-,) (Win: ctrl+,).


I mean, I know Windows is a minority and only makes up 91.45% of the market, but maybe we should treat it like it's on the same level as OSX anyways?

Measure modifications of ~/.atom files

Would be really cool to anonymously track whether the following files are ever modified, not submit their contents, just whether they are different than the shipped versions meaning people are actually tweaking them:

  • ~/.atom/styles.css
  • ~/.atom/init.coffee
  • ~/.atom/config.cson
  • ~/.atom/snippets.cson
  • ~/.atom/keymap.cson

Package Activation metrics

Hi!

What about collecting metrics about package activation times?

When plugins crash there is automation in place for reporting that as bugs, but when plugins are slow to activate, that's really un-obvious (for package authors).

If package activation time stats could be published it would help package authors know if their packages are slow to activate.

In my case, I just discovered timecop, uninstalled git-plus and a number of other packages, and got my startup time improved by a lot. However, if these stats were easily available, maybe the authors of those packages could have fixed their packages instead, thereby improving everybody's startup time (and enabled me to keep using their packages).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.