Skip to content

Commit 3934229

Browse files
authored
Merge pull request #609 from powerapi-ng/refactor/cleanup-report-module
refactor: Cleanup `report` module
2 parents c5573c7 + 48980d0 commit 3934229

File tree

16 files changed

+322
-1146
lines changed

16 files changed

+322
-1146
lines changed

src/powerapi/cli/generator.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
from powerapi.processor.processor_actor import ProcessorActor
4343
from powerapi.puller import PullerActor
4444
from powerapi.pusher import PusherActor
45-
from powerapi.report import HWPCReport, PowerReport, ControlReport, ProcfsReport, Report, FormulaReport
45+
from powerapi.report import HWPCReport, PowerReport, ControlReport, Report, FormulaReport
4646

4747
COMPONENT_TYPE_KEY = 'type'
4848
COMPONENT_MODEL_KEY = 'model'
@@ -135,7 +135,7 @@ class BaseGenerator(Generator):
135135

136136
def __init__(self, component_group_name: str):
137137
Generator.__init__(self, component_group_name)
138-
self.report_classes = {
138+
self.report_classes: dict[str, type[Report]] = {
139139
'HWPCReport': HWPCReport,
140140
'PowerReport': PowerReport
141141
}
@@ -166,7 +166,6 @@ def __init__(self, component_group_name: str):
166166
BaseGenerator.__init__(self, component_group_name)
167167
self.report_classes['FormulaReport'] = FormulaReport
168168
self.report_classes['ControlReport'] = ControlReport
169-
self.report_classes['ProcfsReport'] = ProcfsReport
170169

171170
self.db_factory = {
172171
'mongodb': lambda db_config: MongoDB(report_type=db_config['model'], uri=db_config['uri'],

src/powerapi/dispatch_rule/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,3 @@
3030
from powerapi.dispatch_rule.dispatch_rule import DispatchRule
3131
from powerapi.dispatch_rule.hwpc_dispatch_rule import HWPCDispatchRule, HWPCDepthLevel
3232
from powerapi.dispatch_rule.power_dispatch_rule import PowerDispatchRule, PowerDepthLevel
33-
from powerapi.dispatch_rule.procfs_dispatch_rule import ProcfsDispatchRule, ProcfsDepthLevel

src/powerapi/dispatch_rule/procfs_dispatch_rule.py

Lines changed: 0 additions & 75 deletions
This file was deleted.

src/powerapi/report/__init__.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@
2727
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2828
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2929

30-
from powerapi.report.report import Report, BadInputData
31-
from powerapi.report.power_report import PowerReport
32-
from powerapi.report.hwpc_report import HWPCReport
33-
from powerapi.report.control_report import ControlReport
34-
from powerapi.report.procfs_report import ProcfsReport
35-
from powerapi.report.formula_report import FormulaReport
30+
from .control_report import ControlReport
31+
from .formula_report import FormulaReport
32+
from .hwpc_report import HWPCReport
33+
from .power_report import PowerReport
34+
from .report import Report, BadInputData

src/powerapi/report/hwpc_report.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,3 @@ def _create_group(row, groups, group_name):
185185
for current_key, value in row.items():
186186
if current_key not in CSV_HEADER_HWPC:
187187
groups[group_name][row[SOCKET_KEY]][row[CPU_KEY]][current_key] = int(value)
188-
189-
@staticmethod
190-
def create_empty_report():
191-
"""
192-
Creates an empty report
193-
"""
194-
return HWPCReport(None, None, None, {})

src/powerapi/report/power_report.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -139,17 +139,6 @@ def to_csv_lines(report: PowerReport, tags: list[str]) -> CsvLines:
139139
final_dict = {'PowerReport': [line]}
140140
return CSV_HEADER_POWER, final_dict
141141

142-
@staticmethod
143-
def to_virtiofs_db(report: PowerReport) -> tuple[str, str]:
144-
"""
145-
return a tuple containing the power value and the name of the file to store the value.
146-
"""
147-
if 'socket' not in report:
148-
raise BadInputData('no tag socket in power report', report)
149-
filename = 'power_consumption_package' + str(report['socket'])
150-
power = report.power
151-
return filename, power
152-
153142
def generate_tags(self, selected_tags: None | list[str] = None) -> dict[str, Any]:
154143
"""
155144
Generate the report tags from its metadata.
@@ -205,10 +194,3 @@ def from_mongodb(data: dict) -> Report:
205194
:return: a PowerReport from a dictionary pulled from mongodb
206195
"""
207196
return PowerReport.from_json(data)
208-
209-
@staticmethod
210-
def create_empty_report():
211-
"""
212-
Creates an empty report
213-
"""
214-
return PowerReport(None, None, None, 0)

src/powerapi/report/procfs_report.py

Lines changed: 0 additions & 161 deletions
This file was deleted.

src/powerapi/report/report.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,6 @@ def _extract_timestamp(ts):
133133

134134
raise ValueError('Invalid timestamp format')
135135

136-
@staticmethod
137-
def create_empty_report():
138-
"""
139-
Creates an empty report
140-
"""
141-
return Report(None, None, None)
142-
143136
@staticmethod
144137
def sanitize_tags_name(tags: Iterable[str]) -> dict[str, str]:
145138
"""

tests/unit/cli/test_generator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,12 +169,12 @@ def test_remove_model_factory_that_does_not_exist_on_a_DBActorGenerator_must_rai
169169
"""
170170
generator = DBActorGenerator('input')
171171

172-
assert len(generator.report_classes) == 5
172+
assert len(generator.report_classes) == 4
173173

174174
with pytest.raises(ModelNameDoesNotExist):
175175
generator.remove_report_class('model')
176176

177-
assert len(generator.report_classes) == 5
177+
assert len(generator.report_classes) == 4
178178

179179

180180
def test_remove_hwpc_report_model_and_generate_puller_from_a_config_with_hwpc_report_model_raise_an_exception(

0 commit comments

Comments
 (0)