-
Notifications
You must be signed in to change notification settings - Fork 183
Collecting End of Sprint Stats
This public Google spreadsheet includes stats starting from Brackets's very first public release all the way to the present. Be sure to check the tabs at bottom for graph views.
-
Number of commits - use a link of the form https://github.com/brackets-cont/brackets/compare/release-0.XX...release-0.YY (use just
release
as the endpoint if we haven't tagged the build yet). Then do the same for brackets-shell and sum together the number of commits. - Number of files touched - same as above
- Install Peter's "Brackets Reports" extension / make sure you have the latest version
- Find the day the previous version branched to
release
(usually just before the time the current release's "set-release number" PR landed). - Run View > Brackets Reports > Pull Requests in Release
- Enter the date from step 2 as "Earliest commit date" (following the date format shown). Leave "Latest commit date" blank (unless you're generating a report for an older release). Hit Ok.
- It may take a few seconds before showing the results
- Remove all "R" entries near the top of the list (PRs that actually went into the previous release, merged into its release branch late in the game)
- Remove all "M" entries near the bottom of the list (PRs that are actually in a future release, merged into master after the current release branched)
- Generally speaking, remove any "?" entries as well (branch-to-branch merges)
- Update the totals at the bottom to reflect these deletions
We usually look at the following stats:
- Number of pull requests merged (total) (doesn't count PRs that were closed without being merged)
- Number of external pull requests merged
- Number that came from external committers
- Total number of external contributors this release
To see if there were any new locales, compare the set of folders under src/nls
in this sprint vs. the previous sprint. You can also git difftool release-0.XX...release-0.YY -- src/nls
to gather a list of updated locales. (Or just look at the "Community contributions to Brackets" list in the Release Notes).
Use the Lines of Code Counter for JavaScript extension, with these exclusions:
/thirdparty/
/3rdparty/
/node_modules/
/bootstrap-
/test/smokes/
/test/lib/
-test-files/
-test-files-
-known-goods/
-perf-files/
/unittest-files/
/testfiles/
We normally don't report the number of issues fixed, because (a) it's hard to distinguish legacy bugs vs. bugs that were both opened and closed within the one sprint's lifecycle, and (b) we often forget to tag every bug with a sprint milestone, leading to varying degrees of undercount.
But you can get a rough number via a "closed issues" milestone query on GitHub -- something of the form https://github.com/brackets-cont/brackets/issues?q=is%3Aclosed+milestone%3A%22Release+0.44%22.
- Go to the brackets.io analytics page
- Drill down to Behavior > Events > Overview > Event Action and select the desired release number
- In the "Secondary dimension" dropdown, choose Users > Operating System
Note: if you select Behavior > Events > Top Events instead, you must separately select each of the Downloads, E4BDownloads, and Other-Downloads items and sum their values to get the total number of downloads
- Total downloads - sum Mac + Linux + Windows (ignore the tiny number of downloads on misc other OSes)
-
Platform breakdown (%) - divide each platform by the total
- Note: this may understate Linux users, since we know there are some alternative distribution channels that don't hit our download site
Warning - If a sprint lasts longer than 30 days, you'll need to change the date range filter in the upper right to ensure all the download events are included in the total (GA by default excludes anything older than 30 days ago).
- View > Brackets Reports > Save Extension Registry Snapshot
- Name the file something like "registry - end of Sprint XX lifespan.json" (where XX is the old sprint that's about to be EOL'ed)
- View > Brackets Reports > Extension Registry Report and select the file you just saved
This gives you:
- Total available - listed at top
- Total number of authors - sum the internal & external totals
- Number of external authors
To compare with previous sprints, you'll need a similar JSON file saved from an earlier sprint (Peter has an archive of these if needed).
- View > Brackets Reports > Extension Registry Diff
- Choose the older JSON file first (e.g. if we're about to ship Sprint 35, choose Sprint 33's file)
- Choose the JSON file you've just generated (e.g. if we're about to ship Sprint 35, choose Sprint 34's file)
Scroll to the bottom of the report for these totals:
- Number of new extensions added
- Number of existing extensions updated
- Number of existing extensions deleted (this is normally zero since there's no easy way to delete deprecated extensions)
- GitHub traffic report
- Top-starred repos (Brackets is #13 as of November 2014)
- Top-starred JS repos (Brackets is #8 as of November 2014)