diff options
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 6ce0ce80f6..10511a09dc 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -85,15 +85,19 @@ class RunQueueStats: | |||
85 | """ | 85 | """ |
86 | Holds statistics on the tasks handled by the associated runQueue | 86 | Holds statistics on the tasks handled by the associated runQueue |
87 | """ | 87 | """ |
88 | def __init__(self, total): | 88 | def __init__(self, total, setscene_total): |
89 | self.completed = 0 | 89 | self.completed = 0 |
90 | self.skipped = 0 | 90 | self.skipped = 0 |
91 | self.failed = 0 | 91 | self.failed = 0 |
92 | self.active = 0 | 92 | self.active = 0 |
93 | self.setscene_active = 0 | ||
94 | self.setscene_covered = 0 | ||
95 | self.setscene_notcovered = 0 | ||
96 | self.setscene_total = setscene_total | ||
93 | self.total = total | 97 | self.total = total |
94 | 98 | ||
95 | def copy(self): | 99 | def copy(self): |
96 | obj = self.__class__(self.total) | 100 | obj = self.__class__(self.total, self.setscene_total) |
97 | obj.__dict__.update(self.__dict__) | 101 | obj.__dict__.update(self.__dict__) |
98 | return obj | 102 | return obj |
99 | 103 | ||
@@ -112,6 +116,13 @@ class RunQueueStats: | |||
112 | def taskActive(self): | 116 | def taskActive(self): |
113 | self.active = self.active + 1 | 117 | self.active = self.active + 1 |
114 | 118 | ||
119 | def updateCovered(self, covered, notcovered): | ||
120 | self.setscene_covered = covered | ||
121 | self.setscene_notcovered = notcovered | ||
122 | |||
123 | def updateActiveSetscene(self, active): | ||
124 | self.setscene_active = active | ||
125 | |||
115 | # These values indicate the next step due to be run in the | 126 | # These values indicate the next step due to be run in the |
116 | # runQueue state machine | 127 | # runQueue state machine |
117 | runQueuePrepare = 2 | 128 | runQueuePrepare = 2 |
@@ -1735,7 +1746,7 @@ class RunQueueExecute: | |||
1735 | self.holdoff_need_update = True | 1746 | self.holdoff_need_update = True |
1736 | self.sqdone = False | 1747 | self.sqdone = False |
1737 | 1748 | ||
1738 | self.stats = RunQueueStats(len(self.rqdata.runtaskentries)) | 1749 | self.stats = RunQueueStats(len(self.rqdata.runtaskentries), len(self.rqdata.runq_setscene_tids)) |
1739 | 1750 | ||
1740 | for mc in rq.worker: | 1751 | for mc in rq.worker: |
1741 | rq.worker[mc].pipe.setrunqueueexec(self) | 1752 | rq.worker[mc].pipe.setrunqueueexec(self) |
@@ -1786,6 +1797,7 @@ class RunQueueExecute: | |||
1786 | else: | 1797 | else: |
1787 | self.sq_task_complete(task) | 1798 | self.sq_task_complete(task) |
1788 | self.sq_live.remove(task) | 1799 | self.sq_live.remove(task) |
1800 | self.stats.updateActiveSetscene(len(self.sq_live)) | ||
1789 | else: | 1801 | else: |
1790 | if status != 0: | 1802 | if status != 0: |
1791 | self.task_fail(task, status, fakerootlog=fakerootlog) | 1803 | self.task_fail(task, status, fakerootlog=fakerootlog) |
@@ -2087,6 +2099,7 @@ class RunQueueExecute: | |||
2087 | self.build_stamps2.append(self.build_stamps[task]) | 2099 | self.build_stamps2.append(self.build_stamps[task]) |
2088 | self.sq_running.add(task) | 2100 | self.sq_running.add(task) |
2089 | self.sq_live.add(task) | 2101 | self.sq_live.add(task) |
2102 | self.stats.updateActiveSetscene(len(self.sq_live)) | ||
2090 | if self.can_start_task(): | 2103 | if self.can_start_task(): |
2091 | return True | 2104 | return True |
2092 | 2105 | ||
@@ -2462,6 +2475,7 @@ class RunQueueExecute: | |||
2462 | self.sq_task_failoutright(tid) | 2475 | self.sq_task_failoutright(tid) |
2463 | 2476 | ||
2464 | if changed: | 2477 | if changed: |
2478 | self.stats.updateCovered(len(self.scenequeue_covered), len(self.scenequeue_notcovered)) | ||
2465 | self.holdoff_need_update = True | 2479 | self.holdoff_need_update = True |
2466 | 2480 | ||
2467 | def scenequeue_updatecounters(self, task, fail=False): | 2481 | def scenequeue_updatecounters(self, task, fail=False): |
@@ -2495,6 +2509,7 @@ class RunQueueExecute: | |||
2495 | new.add(dep) | 2509 | new.add(dep) |
2496 | next = new | 2510 | next = new |
2497 | 2511 | ||
2512 | self.stats.updateCovered(len(self.scenequeue_covered), len(self.scenequeue_notcovered)) | ||
2498 | self.holdoff_need_update = True | 2513 | self.holdoff_need_update = True |
2499 | 2514 | ||
2500 | def sq_task_completeoutright(self, task): | 2515 | def sq_task_completeoutright(self, task): |