[openstack-dev] [Metrics] Keeping up with review requests

Christopher Yeoh cbkyeoh at gmail.com
Wed May 29 12:17:33 UTC 2013


On Wed, May 29, 2013 at 6:33 AM, Russell Bryant <rbryant at redhat.com> wrote:

However, I couldn't resist scratching my own itch, so at least for now I
> scripted this.  It's openreviews.py here:
>
>     https://github.com/russellb/openstack-stats
>
>
I had a bit of play around with the code and added displaying the median
waiting time
and 5 longest waiting reviews (I've sent a pull request)

Projects: [u'nova']
Total Open Reviews: 180
Waiting on Submitter: 74
Waiting on Reviewer: 106
 --> Average wait time: 5 days, 9 hours, 54 minutes
 --> Median wait time: 4 days, 12 hours, 12 minutes
 --> Longest waiting reviews:
    --> 19 days, 8 hours, 53 minutes https://review.openstack.org/28762
          (Fix variable referenced before assginment in vmwareapi code.)
    --> 22 days, 20 hours, 50 minutes https://review.openstack.org/28311
          (Update hypervisor_hostname after live migration)
    --> 24 days, 9 hours, 2 minutes https://review.openstack.org/28239
          (vmwareapi: Add supported_instances to host state)
    --> 27 days, 17 hours, 19 minutes https://review.openstack.org/23207
          (Shrink size of aggregate_metadata_get_by_host sql query)
    --> 29 days, 1 hours, 43 minutes https://review.openstack.org/27803
          (libvirt: Tolerate existing vm(s) with cdrom(s))

Also an option to exclude changesets aimed at stable branches (which seem
to hang around
the longest):

$ ./openreviews.py -u cyeoh-0  -n
Projects: [u'nova']
Total Open Reviews: 159
Waiting on Submitter: 70
Waiting on Reviewer: 89
 --> Average wait time: 3 days, 20 hours, 43 minutes
 --> Median wait time: 2 days, 4 hours, 17 minutes
 --> Longest waiting reviews:
    --> 12 days, 12 hours, 46 minutes https://review.openstack.org/29320
          (Fix dangling LUN issue under load with multipath)
    --> 12 days, 19 hours, 58 minutes https://review.openstack.org/29396
          (Added unit tests for vmware cluster driver)
    --> 15 days, 0 hours, 5 minutes https://review.openstack.org/29077
          (Extract live-migration scheduler logic from the scheduler driver)
    --> 15 days, 15 hours, 12 minutes https://review.openstack.org/29005
          (Set resized instance back to original vm_state)
    --> 16 days, 8 hours, 35 minutes https://review.openstack.org/28921
          (Ports image_metaadata API to v3 API)

There probably should be an option to exclude WIPs but that data doesn't
come back through
the gerrit query.

There does appear to be a problem with some of the data returned from the
gerrit query now however. For example,
looking at  https://review.openstack.org/29005 sometimes the createdOn data
for a patchset is just plain wrong and
reverts to the original creation date which makes it look like the it
hasn't been reviewed for a long time when it has.
I had a look at the origin json data returned from the query and it is
incorrect so I guess there's a gerrit query bug.

{   'age': 1347593,
    u'branch': u'master',
    u'createdOn': 1368478580,
    u'id': u'I19fa61d467edd5a7572040d084824972569ef65a',
    u'lastUpdated': 1369825893,
    u'number': u'29005',
    u'open': True,
    u'owner': {   u'email': u'mriedem at us.ibm.com',
                  u'name': u'Matt Riedemann',
                  u'username': u'mriedem'},
    u'patchSets': [   {   u'createdOn': 1368478580,
                          u'number': u'1',
                          u'ref': u'refs/changes/05/29005/1',
                          u'revision':
u'f48bf4436c37286bf02984b8d2f02a53d13ff3f1',
                          u'uploader': {   u'email': u'mriedem at us.ibm.com',
                                           u'name': u'Matt Riedemann',
                                           u'username': u'mriedem'}},
                      {   u'createdOn': 1368478887,
                          u'number': u'2',
                          u'ref': u'refs/changes/05/29005/2',
                          u'revision':
u'fdac01fc273326f1af0bf229b288cda21341dbf4',
                          u'uploader': {   u'email': u'mriedem at us.ibm.com',
                                           u'name': u'Matt Riedemann',
                                           u'username': u'mriedem'}},
                      {   u'approvals': [   {   u'by': {   u'name':
u'Jenkins',
                                                           u'username':
u'jenkins'},
                                                u'description': u'Verified',
                                                u'grantedOn': 1368482163,
                                                u'type': u'VRIF',
                                                u'value': u'1'},
                                            {   u'by': {   u'name':
u'SmokeStack',
                                                           u'username':
u'smokestack'},
                                                u'description': u'Verified',
                                                u'grantedOn': 1368481167,
                                                u'type': u'VRIF',
                                                u'value': u'1'},
                                            {   u'by': {   u'email':
u'dms at danplanet.com',
                                                           u'name': u'Dan
Smith',
                                                           u'username':
u'danms'},
                                                u'description': u'Code
Review',
                                                u'grantedOn': 1368496486,
                                                u'type': u'CRVW',
                                                u'value': u'-1'}],
<snip>
                       {   u'approvals': [   {   u'by': {   u'name':
u'Jenkins',
                                                           u'username':
u'jenkins'},
                                                u'description': u'Verified',
                                                u'grantedOn': 1369450189,
                                                u'type': u'VRIF',
                                                u'value': u'1'},
                                            {   u'by': {   u'email':
u'john at johngarbutt.com',
                                                           u'name': u'John
Garbutt',
                                                           u'username':
u'johngarbutt'},
                                                u'description': u'Code
Review',
                                                u'grantedOn': 1369825893,
                                                u'type': u'CRVW',
                                                u'value': u'1'},
                                            {   u'by': {   u'name':
u'SmokeStack',
                                                           u'username':
u'smokestack'},
                                                u'description': u'Verified',
                                                u'grantedOn': 1369448293,
                                                u'type': u'VRIF',
                                                u'value': u'1'},
                                            {   u'by': {   u'email':
u'dms at danplanet.com',
                                                           u'name': u'Dan
Smith',
                                                           u'username':
u'danms'},
                                                u'description': u'Code
Review',
                                                u'grantedOn': 1369501382,
                                                u'type': u'CRVW',
                                                u'value': u'2'}],
                          u'createdOn': 1368478580,
                          u'number': u'17',
                          u'ref': u'refs/changes/05/29005/17',
                          u'revision':
u'ff99601a18f89c92cda5974cd5592cd6e2762c93',
                          u'uploader': {   u'email': u'mriedem at us.ibm.com',
                                           u'name': u'Matt Riedemann',
                                           u'username': u'mriedem'}}],
    u'project': u'openstack/nova',
    u'sortKey': u'002562bf0000714d',
    u'status': u'NEW',
    u'subject': u'Set resized instance back to original vm_state',
    u'topic': u'bug/1177811',
    u'url': u'https://review.openstack.org/29005'}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130529/ba7860bd/attachment.html>


More information about the OpenStack-dev mailing list