@@ -0,0 +1,781 @@
+package benchmarking;%0A%0A%0Aimport datamodel.PerformanceSelfMonitoring;%0A%0Apublic class Monitoring %7B%0A    CpuMonitor cpuMonitor = new CpuMonitor();%0A    long startTime = -1, endTime = -1, totalTime = -1;%0A    private PerformanceSelfMonitoring perfSelf = new PerformanceSelfMonitoring();%0A%0A    public void startMonitoring() %7B%0A        cpuMonitor.startMonitoring();%0A        startTime = System.currentTimeMillis();%0A    %7D%0A%0A    public void stopMonitoring() %7B%0A        cpuMonitor.stopMonitoring();%0A        endTime = System.currentTimeMillis();%0A        totalTime = endTime - startTime;%0A    %7D%0A%0A    public PerformanceSelfMonitoring getResults(long pid) %7B%0A        perfSelf.setCpuUsageResults(cpuMonitor.parseForPid(pid));%0A        perfSelf.setExecutionTime(totalTime);%0A%0A        return perfSelf;%0A    %7D%0A%0A%7D%0A

Add Monitoring class that encapsulates all other types of monitoring classes.