@@ -25,6 +25,7 @@ package org.powerapi.app
2525import java .lang .management .ManagementFactory
2626
2727import org .powerapi .core .target .{Application , All , Process , Target }
28+ import org .powerapi .module .rapl .RAPLModule
2829import org .powerapi .reporter .{FileDisplay , JFreeChartDisplay , ConsoleDisplay }
2930import org .powerapi .{PowerMonitoring , PowerMeter , PowerModule }
3031import org .powerapi .core .power ._
@@ -43,7 +44,7 @@ import scala.sys.process.stringSeqToProcess
4344 * @author <a href="mailto:l.huertas.pro@gmail.com">Loïc Huertas</a>
4445 */
4546object PowerAPI extends App {
46- val modulesR = """ (cpu-simple|cpu-dvfs|libpfm-core|libpfm-core-process|powerspy)(,(cpu-simple|cpu-dvfs|libpfm-core|libpfm-core-process|powerspy))*""" .r
47+ val modulesR = """ (cpu-simple|cpu-dvfs|libpfm-core|libpfm-core-process|powerspy|rapl )(,(cpu-simple|cpu-dvfs|libpfm-core|libpfm-core-process|powerspy|rapl ))*""" .r
4748 val aggR = """ max|min|geomean|logsum|mean|median|stdev|sum|variance""" .r
4849 val durationR = """ \d+""" .r
4950 val pidR = """ (\d+)""" .r
@@ -72,6 +73,7 @@ object PowerAPI extends App {
7273 case " libpfm-core" => LibpfmCoreModule ()
7374 case " libpfm-core-process" => LibpfmCoreProcessModule ()
7475 case " powerspy" => PowerSpyModule ()
76+ case " rapl" => RAPLModule ()
7577 }
7678 }).toSeq
7779 }
@@ -123,7 +125,7 @@ object PowerAPI extends App {
123125 |
124126 |Build a software-defined power meter. Do not forget to configure correctly the modules (see the documentation).
125127 |
126- |usage: ./powerapi modules [cpu-simple|cpu-dvfs|libpfm-core|libpfm-core-proces|powerspy, ...] \
128+ |usage: ./powerapi modules [cpu-simple|cpu-dvfs|libpfm-core|libpfm-core-proces|powerspy|rapl, ...] \
127129 | monitor --frequency [ms] --targets [pid, ..., app, ...)|all] --agg [max|min|geomean|logsum|mean|median|stdev|sum|variance] --[console,file [filepath],chart] \
128130 | duration [s]
129131 |
@@ -172,7 +174,7 @@ object PowerAPI extends App {
172174 val modules = powerMeterConf(' modules ).toString
173175 if (modules.contains(" libpfm-core" ) || modules.contains(" libpfm-core-process" )) LibpfmHelper .init()
174176
175- val powerMeter = PowerMeter .loadModule(powerMeterConf( ' modules ).toString : _* )
177+ val powerMeter = PowerMeter .loadModule(modules : _* )
176178 powerMeters :+= powerMeter
177179
178180 for (monitorConf <- powerMeterConf(' monitors ).asInstanceOf [List [Map [Symbol , Any ]]]) {
0 commit comments