Augment metrics model to monitor more # of control metrics

Existing implementation only monitors OpenFlow messages.
This commit augments the metrics model in a way to monitor more
number of control metrics including
- CPU Load, total CPU time, sys CPU time, user CPU time, etc.
- Used memory percentage, free memory percentage
- Disk read/write bytes
- Network incoming/outgoing bytes/packets

Change-Id: I9e8eee163c3033132eb202f3c75bad246c87f133
diff --git a/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java b/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java
index 24f7717..d35f24f 100644
--- a/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java
+++ b/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015 Open Networking Laboratory
+ * Copyright 2015-2016 Open Networking Laboratory
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -36,6 +36,15 @@
     void updateMetric(ControlMetric controlMetric, int updateInterval, Optional<DeviceId> deviceId);
 
     /**
+     * Adds a new control metric value with a certain update interval.
+     *
+     * @param controlMetric     control plane metric (e.g., disk and network metrics)
+     * @param updateInterval    value update interval (time unit will be in minute)
+     * @param resourceName      resource name
+     */
+    void updateMetric(ControlMetric controlMetric, int updateInterval, String resourceName);
+
+    /**
      * Obtains the control plane load of a specific device.
      *
      * @param nodeId   node id {@link org.onosproject.cluster.NodeId}