Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Collecting End of Sprint Stats
History of Brackets 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.
Stats for the release about to ship
Commits & files
Number of commits - use a link of the form https://github.com/adobe/brackets/compare/release-0.XX...release-0.YY (use just
releaseas 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).
Lines of JS Code
/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/adobe/brackets/issues?q=is%3Aclosed+milestone%3A%22Release+0.44%22.
Stats for the release about to be obsoleted
- 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).
Extensions - current
- 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
Extensions - changes over time
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)