[ONOS-3648] Implement REST API for collecting system metrics
- Implement REST API for gathering system metrics
- Add unit test for REST API
- Add swagger doc for REST API
Change-Id: Iedd21a5f6ed14d595e4d35c1fa08270b48a5031e
diff --git a/apps/cpman/src/main/resources/definitions/CpuMetricsPost.json b/apps/cpman/src/main/resources/definitions/CpuMetricsPost.json
new file mode 100644
index 0000000..9f52429
--- /dev/null
+++ b/apps/cpman/src/main/resources/definitions/CpuMetricsPost.json
@@ -0,0 +1,37 @@
+{
+ "type": "object",
+ "required": [
+ "cpuLoad",
+ "totalCpuTime",
+ "sysCpuTime",
+ "userCpuTime",
+ "cpuIdleTime"
+ ],
+ "properties": {
+ "cpuLoad": {
+ "type": "integer",
+ "format": "int64",
+ "example": "50"
+ },
+ "totalCpuTime": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2000"
+ },
+ "sysCpuTime": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2000"
+ },
+ "userCpuTime": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2000"
+ },
+ "cpuIdleTime": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2000"
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/cpman/src/main/resources/definitions/DiskMetricsPost.json b/apps/cpman/src/main/resources/definitions/DiskMetricsPost.json
new file mode 100644
index 0000000..fe0dab1
--- /dev/null
+++ b/apps/cpman/src/main/resources/definitions/DiskMetricsPost.json
@@ -0,0 +1,19 @@
+{
+ "type": "object",
+ "required": [
+ "readBytes",
+ "writeBytes"
+ ],
+ "properties": {
+ "readBytes": {
+ "type": "integer",
+ "format": "int64",
+ "example": "500"
+ },
+ "writeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "example": "300"
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/cpman/src/main/resources/definitions/MemoryMetricsPost.json b/apps/cpman/src/main/resources/definitions/MemoryMetricsPost.json
new file mode 100644
index 0000000..ab815da
--- /dev/null
+++ b/apps/cpman/src/main/resources/definitions/MemoryMetricsPost.json
@@ -0,0 +1,31 @@
+{
+ "type": "object",
+ "required": [
+ "memoryUsedPercentage",
+ "memoryFreePercentage",
+ "memoryUsed",
+ "memoryFree"
+ ],
+ "properties": {
+ "memoryUsedPercentage": {
+ "type": "integer",
+ "format": "int64",
+ "example": "30"
+ },
+ "memoryFreePercentage": {
+ "type": "integer",
+ "format": "int64",
+ "example": "70"
+ },
+ "memoryUsed": {
+ "type": "integer",
+ "format": "int64",
+ "example": "1024"
+ },
+ "memoryFree": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2048"
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/cpman/src/main/resources/definitions/NetworkMetricsPost.json b/apps/cpman/src/main/resources/definitions/NetworkMetricsPost.json
new file mode 100644
index 0000000..f9ad7d3
--- /dev/null
+++ b/apps/cpman/src/main/resources/definitions/NetworkMetricsPost.json
@@ -0,0 +1,31 @@
+{
+ "type": "object",
+ "required": [
+ "incomingBytes",
+ "outgoingBytes",
+ "incomingPackets",
+ "outgoingPackets"
+ ],
+ "properties": {
+ "incomingBytes": {
+ "type": "integer",
+ "format": "int64",
+ "example": "1024"
+ },
+ "outgoingBytes": {
+ "type": "integer",
+ "format": "int64",
+ "example": "1024"
+ },
+ "incomingPackets": {
+ "type": "integer",
+ "format": "int64",
+ "example": "1000"
+ },
+ "outgoingPackets": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2000"
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/cpman/src/main/resources/definitions/SystemSpecsPost.json b/apps/cpman/src/main/resources/definitions/SystemSpecsPost.json
new file mode 100644
index 0000000..fc4fc16
--- /dev/null
+++ b/apps/cpman/src/main/resources/definitions/SystemSpecsPost.json
@@ -0,0 +1,31 @@
+{
+ "type": "object",
+ "required": [
+ "numOfCores",
+ "numOfCpus",
+ "cpuSpeed",
+ "totalMemory"
+ ],
+ "properties": {
+ "numOfCores": {
+ "type": "integer",
+ "format": "int64",
+ "example": "6"
+ },
+ "numOfCpus": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2"
+ },
+ "cpuSpeed": {
+ "type": "integer",
+ "format": "int64",
+ "example": "2048"
+ },
+ "totalMemory": {
+ "type": "integer",
+ "format": "int64",
+ "example": "4096"
+ }
+ }
+}
\ No newline at end of file