[Libreoffice-commits] dev-tools.git: 4 commits - esc-reporting/esc-analyze.py esc-reporting/esc-report.py

Xisco Fauli anistenis at gmail.com
Sun Dec 11 22:35:27 UTC 2016


 esc-reporting/esc-analyze.py |   51 ++++++++++++----
 esc-reporting/esc-report.py  |  133 ++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 157 insertions(+), 27 deletions(-)

New commits:
commit d6d366bbbf3af1379031e4ed0f0a55bbfd371326
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Sun Dec 11 23:33:26 2016 +0100

    List top 10 fixers

diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index 7c16aec..8332a41 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -123,13 +123,13 @@ def util_create_person_gerrit(person, email):
                          '1month': {'owner': 0, 'reviewer': 0, 'total': 0},
                          '1week':  {'owner': 0, 'reviewer': 0, 'total': 0}},
              'qa':      {'1year':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
-                                    'bisected': 0, 'backtrace': 0, 'total': 0},
+                                    'bisected': 0, 'backtrace': 0, 'fixed': 0, 'total': 0},
                          '3month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
-                                    'bisected': 0, 'backtrace': 0, 'total': 0},
+                                    'bisected': 0, 'backtrace': 0, 'fixed': 0, 'total': 0},
                          '1month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
-                                    'bisected': 0, 'backtrace': 0, 'total': 0},
+                                    'bisected': 0, 'backtrace': 0, 'fixed': 0, 'total': 0},
                          '1week':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
-                                    'bisected': 0, 'backtrace': 0, 'total': 0}},
+                                    'bisected': 0, 'backtrace': 0, 'fixed': 0, 'total': 0}},
              'isCommitter': False,
              'isContributor': False,
              'hasLicense': False,
@@ -429,6 +429,10 @@ def analyze_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
                 util_build_period_stat(cfg, statList, xDate, email, '', 'regression', base='qa')
               if keyword == 'haveBacktrace':
                 util_build_period_stat(cfg, statList, xDate, email, '', 'backtrace', base='qa')
+          elif entry['field_name'] == 'resolution':
+            if entry['added'] == 'FIXED':
+              util_build_period_stat(cfg, statList, xDate, email, '', 'fixed', base='qa')
+
 
       for change in row['comments']:
         email = util_check_mail('*UNKNOWN*', change['creator'], statList, cfg['contributor']['combine-email'])
diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py
index ae8f694..6281b45 100755
--- a/esc-reporting/esc-report.py
+++ b/esc-reporting/esc-report.py
@@ -437,7 +437,7 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
              'name': statList['people'][i]['name'],
              'week' :statList['people'][i]['qa']['1week']['owner'],
              'month' :statList['people'][i]['qa']['1month']['owner'],
-             '3month':statList['people'][i]['qa']['1month']['owner']}
+             '3month':statList['people'][i]['qa']['3month']['owner']}
         top10reporters.append(x)
         if len(top10reporters) >= 10:
           break
@@ -448,6 +448,27 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
       print('          {} reported {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
             i['name'], i['week'], i['month'], i['3month']), file=fp)
 
+
+    tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['fixed']), reverse=True)
+    top10fixers = []
+    for i in tmpClist:
+      if i != 'qa-admin at libreoffice.org' and i != 'libreoffice-commits at lists.freedesktop.org':
+        x = {'mail': i,
+             'name': statList['people'][i]['name'],
+             'week' :statList['people'][i]['qa']['1week']['fixed'],
+             'month' :statList['people'][i]['qa']['1month']['fixed'],
+             '3month':statList['people'][i]['qa']['3month']['fixed']}
+        top10fixers.append(x)
+        if len(top10fixers) >= 10:
+          break
+
+    print("\n    + top 10 bugs fixers:", file=fp)
+    xRow = []
+    for i in top10fixers:
+      print('          {} fixed {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
+            i['name'], i['week'], i['month'], i['3month']), file=fp)
+
+
     tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['bisected']), reverse=True)
     top10bisected = []
     for i in tmpClist:
@@ -457,7 +478,7 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
              'name': statList['people'][i]['name'],
              'week' :statList['people'][i]['qa']['1week']['bisected'],
              'month' :statList['people'][i]['qa']['1month']['bisected'],
-             '3month':statList['people'][i]['qa']['1month']['bisected']}
+             '3month':statList['people'][i]['qa']['3month']['bisected']}
         top10bisected.append(x)
         if len(top10bisected) >= 10:
           break
@@ -478,7 +499,7 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
              'name': statList['people'][i]['name'],
              'week' :statList['people'][i]['qa']['1week']['bibisected'],
              'month' :statList['people'][i]['qa']['1month']['bibisected'],
-             '3month':statList['people'][i]['qa']['1month']['bibisected']}
+             '3month':statList['people'][i]['qa']['3month']['bibisected']}
         top10bibisected.append(x)
         if len(top10bibisected) >= 10:
           break
@@ -499,7 +520,7 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
              'name': statList['people'][i]['name'],
              'week' :statList['people'][i]['qa']['1week']['regression'],
              'month' :statList['people'][i]['qa']['1month']['regression'],
-             '3month':statList['people'][i]['qa']['1month']['regression']}
+             '3month':statList['people'][i]['qa']['3month']['regression']}
         top10regression.append(x)
         if len(top10regression) >= 10:
           break
@@ -519,7 +540,7 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
              'name': statList['people'][i]['name'],
              'week' :statList['people'][i]['qa']['1week']['backtrace'],
              'month' :statList['people'][i]['qa']['1month']['backtrace'],
-             '3month':statList['people'][i]['qa']['1month']['backtrace']}
+             '3month':statList['people'][i]['qa']['3month']['backtrace']}
         top10backtrace.append(x)
         if len(top10backtrace) >= 10:
           break
commit a9292fd0082d0b0fea01b6bfac156bb5e41cb2f3
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Sun Dec 11 23:14:47 2016 +0100

    List people who added haveBacktrace

diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index b856fe3..7c16aec 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -122,10 +122,14 @@ def util_create_person_gerrit(person, email):
                          '3month': {'owner': 0, 'reviewer': 0, 'total': 0},
                          '1month': {'owner': 0, 'reviewer': 0, 'total': 0},
                          '1week':  {'owner': 0, 'reviewer': 0, 'total': 0}},
-             'qa':      {'1year':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0},
-                         '3month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0},
-                         '1month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0},
-                         '1week':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0}},
+             'qa':      {'1year':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
+                                    'bisected': 0, 'backtrace': 0, 'total': 0},
+                         '3month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
+                                    'bisected': 0, 'backtrace': 0, 'total': 0},
+                         '1month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
+                                    'bisected': 0, 'backtrace': 0, 'total': 0},
+                         '1week':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0,
+                                    'bisected': 0, 'backtrace': 0, 'total': 0}},
              'isCommitter': False,
              'isContributor': False,
              'hasLicense': False,
@@ -423,6 +427,8 @@ def analyze_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
                 util_build_period_stat(cfg, statList, xDate, email, '', 'bibisected', base='qa')
               if keyword == 'regression':
                 util_build_period_stat(cfg, statList, xDate, email, '', 'regression', base='qa')
+              if keyword == 'haveBacktrace':
+                util_build_period_stat(cfg, statList, xDate, email, '', 'backtrace', base='qa')
 
       for change in row['comments']:
         email = util_check_mail('*UNKNOWN*', change['creator'], statList, cfg['contributor']['combine-email'])
diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py
index d457e56..ae8f694 100755
--- a/esc-reporting/esc-report.py
+++ b/esc-reporting/esc-report.py
@@ -510,6 +510,26 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
       print('          {} added \'regression\' to {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
             i['name'], i['week'], i['month'], i['3month']), file=fp)
 
+    tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['backtrace']), reverse=True)
+    top10backtrace = []
+    for i in tmpClist:
+      if i != 'qa-admin at libreoffice.org' and i != 'libreoffice-commits at lists.freedesktop.org' and \
+        statList['people'][i]['qa']['1week']['backtrace'] > 0:
+        x = {'mail': i,
+             'name': statList['people'][i]['name'],
+             'week' :statList['people'][i]['qa']['1week']['backtrace'],
+             'month' :statList['people'][i]['qa']['1month']['backtrace'],
+             '3month':statList['people'][i]['qa']['1month']['backtrace']}
+        top10backtrace.append(x)
+        if len(top10backtrace) >= 10:
+          break
+
+    print("\n    + Done by:", file=fp)
+    xRow = []
+    for i in top10backtrace:
+      print('          {} added a backtrace to {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
+            i['name'], i['week'], i['month'], i['3month']), file=fp)
+
     fp.close()
     return None
 
commit d8f97f132e57843785754f743c511355baa238e2
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Sun Dec 11 23:06:40 2016 +0100

    List people who added regression and bibisected

diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index 28339c6..b856fe3 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -122,10 +122,10 @@ def util_create_person_gerrit(person, email):
                          '3month': {'owner': 0, 'reviewer': 0, 'total': 0},
                          '1month': {'owner': 0, 'reviewer': 0, 'total': 0},
                          '1week':  {'owner': 0, 'reviewer': 0, 'total': 0}},
-             'qa':      {'1year':  {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0},
-                         '3month': {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0},
-                         '1month': {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0},
-                         '1week':  {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0}},
+             'qa':      {'1year':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0},
+                         '3month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0},
+                         '1month': {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0},
+                         '1week':  {'owner': 0, 'reviewer': 0, 'regression': 0, 'bibisected': 0, 'bisected': 0, 'total': 0}},
              'isCommitter': False,
              'isContributor': False,
              'hasLicense': False,
@@ -419,6 +419,10 @@ def analyze_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
             for keyword in keywordsAdded:
               if keyword == 'bisected':
                 util_build_period_stat(cfg, statList, xDate, email, '', 'bisected', base='qa')
+              if keyword == 'bibisected':
+                util_build_period_stat(cfg, statList, xDate, email, '', 'bibisected', base='qa')
+              if keyword == 'regression':
+                util_build_period_stat(cfg, statList, xDate, email, '', 'regression', base='qa')
 
       for change in row['comments']:
         email = util_check_mail('*UNKNOWN*', change['creator'], statList, cfg['contributor']['combine-email'])
diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py
index cfe397d..d457e56 100755
--- a/esc-reporting/esc-report.py
+++ b/esc-reporting/esc-report.py
@@ -462,12 +462,54 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
         if len(top10bisected) >= 10:
           break
 
-    print("\n    + Bisected by:", file=fp)
+    print("\n    + Done by:", file=fp)
     xRow = []
     for i in top10bisected:
       print('          {} bisected {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
             i['name'], i['week'], i['month'], i['3month']), file=fp)
 
+
+    tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['bibisected']), reverse=True)
+    top10bibisected = []
+    for i in tmpClist:
+      if i != 'qa-admin at libreoffice.org' and i != 'libreoffice-commits at lists.freedesktop.org' and \
+        statList['people'][i]['qa']['1week']['bibisected'] > 0:
+        x = {'mail': i,
+             'name': statList['people'][i]['name'],
+             'week' :statList['people'][i]['qa']['1week']['bibisected'],
+             'month' :statList['people'][i]['qa']['1month']['bibisected'],
+             '3month':statList['people'][i]['qa']['1month']['bibisected']}
+        top10bibisected.append(x)
+        if len(top10bibisected) >= 10:
+          break
+
+    print("\n    + Done by:", file=fp)
+    xRow = []
+    for i in top10bibisected:
+      print('          {} bibisected {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
+            i['name'], i['week'], i['month'], i['3month']), file=fp)
+
+
+    tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['regression']), reverse=True)
+    top10regression = []
+    for i in tmpClist:
+      if i != 'qa-admin at libreoffice.org' and i != 'libreoffice-commits at lists.freedesktop.org' and \
+        statList['people'][i]['qa']['1week']['regression'] > 0:
+        x = {'mail': i,
+             'name': statList['people'][i]['name'],
+             'week' :statList['people'][i]['qa']['1week']['regression'],
+             'month' :statList['people'][i]['qa']['1month']['regression'],
+             '3month':statList['people'][i]['qa']['1month']['regression']}
+        top10regression.append(x)
+        if len(top10regression) >= 10:
+          break
+
+    print("\n    + Done by:", file=fp)
+    xRow = []
+    for i in top10regression:
+      print('          {} added \'regression\' to {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
+            i['name'], i['week'], i['month'], i['3month']), file=fp)
+
     fp.close()
     return None
 
commit acd2c722ddac79ce659bff47c6afd73878d44a9b
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Sun Dec 11 22:55:06 2016 +0100

    List people who bisect bugs

diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index e2713ff..28339c6 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -85,15 +85,16 @@ def util_build_period_stat(cfg, statList, xDate, email, status, pstatus, base =
         if email is not None:
           statList['people'][email][base][i][pstatus] += 1
           statList['people'][email][base][i]['total'] += 1
-        if base != 'gerrit' :
-          statList['data'][base][i][status] += 1
-          statList['data'][base][i]['total'] += 1
-        elif statList['people'][email]['isCommitter']:
-          statList['data'][base]['committer'][i][status] += 1
-          statList['data'][base]['committer'][i]['total'] += 1
-        else:
-          statList['data'][base]['contributor'][i]['total'] += 1
-          statList['data'][base]['contributor'][i][status] += 1
+        if status:
+          if base != 'gerrit' :
+            statList['data'][base][i][status] += 1
+            statList['data'][base][i]['total'] += 1
+          elif statList['people'][email]['isCommitter']:
+            statList['data'][base]['committer'][i][status] += 1
+            statList['data'][base]['committer'][i]['total'] += 1
+          else:
+            statList['data'][base]['contributor'][i]['total'] += 1
+            statList['data'][base]['contributor'][i][status] += 1
 
 
 
@@ -121,10 +122,10 @@ def util_create_person_gerrit(person, email):
                          '3month': {'owner': 0, 'reviewer': 0, 'total': 0},
                          '1month': {'owner': 0, 'reviewer': 0, 'total': 0},
                          '1week':  {'owner': 0, 'reviewer': 0, 'total': 0}},
-             'qa':      {'1year':  {'owner': 0, 'reviewer': 0, 'total': 0},
-                         '3month': {'owner': 0, 'reviewer': 0, 'total': 0},
-                         '1month': {'owner': 0, 'reviewer': 0, 'total': 0},
-                         '1week':  {'owner': 0, 'reviewer': 0,'total': 0}},
+             'qa':      {'1year':  {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0},
+                         '3month': {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0},
+                         '1month': {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0},
+                         '1week':  {'owner': 0, 'reviewer': 0, 'bisected': 0, 'total': 0}},
              'isCommitter': False,
              'isContributor': False,
              'hasLicense': False,
@@ -409,6 +410,16 @@ def analyze_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
 
       util_build_period_stat(cfg, statList, creationDate, email, row['status'], 'owner', base='qa')
 
+      for change in row['history']:
+        email = util_check_mail('*UNKNOWN*', change['who'], statList, cfg['contributor']['combine-email'])
+        xDate = datetime.datetime.strptime(change['when'], "%Y-%m-%dT%H:%M:%SZ")
+        for entry in change['changes']:
+          if entry['field_name'] == 'keywords':
+            keywordsAdded = entry['added'].split(", ")
+            for keyword in keywordsAdded:
+              if keyword == 'bisected':
+                util_build_period_stat(cfg, statList, xDate, email, '', 'bisected', base='qa')
+
       for change in row['comments']:
         email = util_check_mail('*UNKNOWN*', change['creator'], statList, cfg['contributor']['combine-email'])
         xDate = datetime.datetime.strptime(change['creation_time'], "%Y-%m-%dT%H:%M:%SZ")
diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py
index a2c7a7b..cfe397d 100755
--- a/esc-reporting/esc-report.py
+++ b/esc-reporting/esc-report.py
@@ -389,18 +389,6 @@ def report_ui(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
 
 
 def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
-    tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['owner']), reverse=True)
-    top10list = []
-    for i in tmpClist:
-      if i != 'qa-admin at libreoffice.org' and i != 'libreoffice-commits at lists.freedesktop.org':
-        x = {'mail': i,
-             'name': statList['people'][i]['name'],
-             'week' :statList['people'][i]['qa']['1week']['owner'],
-             'month' :statList['people'][i]['qa']['1month']['owner'],
-             '3month':statList['people'][i]['qa']['1month']['owner']}
-        top10list.append(x)
-        if len(top10list) >= 10:
-          break
 
     fp = open('/tmp/esc_qa_report.txt', 'w', encoding='utf-8')
     print('ESC QA report, generated {} based on stats.json from {}'.format(
@@ -441,11 +429,45 @@ def report_qa(statList, openhubData, gerritData, gitData, bugzillaData, cfg):
             {'db': 'trendQA',  'tag': '100+',   'text': '100+'}]
     print(util_build_matrix('distribution', xRow, None, statList), end='', file=fp)
 
+    tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['owner']), reverse=True)
+    top10reporters = []
+    for i in tmpClist:
+      if i != 'qa-admin at libreoffice.org' and i != 'libreoffice-commits at lists.freedesktop.org':
+        x = {'mail': i,
+             'name': statList['people'][i]['name'],
+             'week' :statList['people'][i]['qa']['1week']['owner'],
+             'month' :statList['people'][i]['qa']['1month']['owner'],
+             '3month':statList['people'][i]['qa']['1month']['owner']}
+        top10reporters.append(x)
+        if len(top10reporters) >= 10:
+          break
+
     print("\n    + top 10 bugs reporters:", file=fp)
     xRow = []
-    for i in range(0, 10):
+    for i in top10reporters:
       print('          {} reported {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
-            top10list[i]['name'], top10list[i]['week'], top10list[i]['month'], top10list[i]['3month']), file=fp)
+            i['name'], i['week'], i['month'], i['3month']), file=fp)
+
+    tmpClist = sorted(statList['people'], key=lambda k: (statList['people'][k]['qa']['1week']['bisected']), reverse=True)
+    top10bisected = []
+    for i in tmpClist:
+      if i != 'qa-admin at libreoffice.org' and i != 'libreoffice-commits at lists.freedesktop.org' and \
+        statList['people'][i]['qa']['1week']['bisected'] > 0:
+        x = {'mail': i,
+             'name': statList['people'][i]['name'],
+             'week' :statList['people'][i]['qa']['1week']['bisected'],
+             'month' :statList['people'][i]['qa']['1month']['bisected'],
+             '3month':statList['people'][i]['qa']['1month']['bisected']}
+        top10bisected.append(x)
+        if len(top10bisected) >= 10:
+          break
+
+    print("\n    + Bisected by:", file=fp)
+    xRow = []
+    for i in top10bisected:
+      print('          {} bisected {} bugs in 1 week, {} bugs in 1 month and {} bugs in 3 months'.format(
+            i['name'], i['week'], i['month'], i['3month']), file=fp)
+
     fp.close()
     return None
 


More information about the Libreoffice-commits mailing list