Page MenuHomePhabricator

Build ETL-based statistics for Differential
Closed, WontfixPublic

Description

It would be nice if differential had an interface to report statistics.

At the moment I'm interested in getting stats on how much time I spend on
different tasks each day. It would be useful if differential could report
how many new review requests I receive each day, how many diffs I
review/comment on each day, etc. (I wouldn't really want this to turn into
Hall of Heroes, though.)

It would probably also be useful to report some aggregate stats about how
long on average each diff spends in various states. (e.g., How long each
diff spends waiting in Needs Review, Needs Revision; etc.)

It probably wouldn't be too hard to build a standalone tool to collect some
of this data via conduit. It would be nice to just expose it via a
differential tab, though.

Event Timeline

simpkins triaged this task as Wishlist priority.
simpkins added a project: Differential.
simpkins added subscribers: simpkins, nh, jungejason.

You can find some (contributed, but not very polished, which is why it isn't linked in the UI) basics here:

https://secure.phabricator.com/differential/stats/commit/

I think this has a couple of bugs, like showing @vrana as active 8 days per week, but it might give you some basics.

We've added some reporting to Maniphest too, although that stuff is a little more focused on project-level information than individuals:

https://secure.phabricator.com/maniphest/report/

I advised a company called tenXer (http://www.tenxer.com/) for a few months last year, which is building a sort of meta-product that uses a bunch of APIs (GitHub, Phabricator, other common tools) to show you information about what you spend your time on among other things -- they're still pretty early and pretty stealthy, but it's possible they'll get somewhere useful before we do. Hooking it up to Facebook Phabricator might be a challenge, though.

At least in Maniphest, we're near the limits of our ability to do stats in an ad-hoc, hacky way that doesn't involve denormalizing information into stat tables, and we'd almost certainly need to do that for some Differential stats, like "average time stuff is left open". So this might be blocked by putting together some basic aggregation infrastructure in the daemons. That said, I'm definitely interested in pursuing this more deeply sooner or later. One thing I want to do is just surface accountability stats ("@alincoln takes 10x longer to get to reviews than everyone else") as a way to possibly exert some gentle social (rather than technical) pressure on classes of problems that otherwise have undesirable, complicated technical solutions -- see discussion at https://github.com/facebook/phabricator/issues/105 and linked tasks.

@vii implemented Differential stats.

Showing me 8 active days per week wasn't a bug, I'm really that active :-).

epriestley renamed this task from differential stats to Build ETL-based statistics for Differential.Aug 9 2012, 4:51 PM
epriestley added a subscriber: Unknown Object (MLST).Sep 3 2013, 11:35 PM

Via FB / recurring request / lots of pitchfork potential when it moves forward (ref Hall of Heroes).

chad changed the visibility from "All Users" to "Public (No Login Required)".Jul 3 2015, 4:36 AM

See T1562 / T4171 for modern versions of this.