blob: f59f90a1bd99e70d3f7a3e11308aa76fe0494ab9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package org.opendc.demo
import com.fasterxml.jackson.databind.ObjectMapper
import org.apache.kafka.clients.producer.ProducerRecord
import org.opendc.compute.simulator.telemetry.ComputeMonitor
import org.opendc.compute.simulator.telemetry.table.host.HostTableReader
import java.time.Instant
public class DemoComputeMonitor: ComputeMonitor {
public val metrics : MonitoringMetrics = MonitoringMetrics()
@Override
override fun record(reader: HostTableReader) {
metrics.timestamp = reader.timestamp.toEpochMilli()
metrics.tasksActive = reader.tasksActive
metrics.clusterName = reader.hostInfo.clusterName
try{
val objectMapper = ObjectMapper()
val jsonBytes = objectMapper.writeValueAsBytes(metrics)
println(metrics.clusterName)
}
catch(e: Exception){
println("${e.message}")
}
}
}
public class MonitoringMetrics {
public var timestamp: Long = 0
public var tasksActive : Int = 0
public var cpuUsage : Double = 0.0
public var cpuUtilisation: Double = 0.0
public var cpuActiveTime : Long = 0
public var cpuIdleTime: Long = 0
public var cpuLostTime: Long = 0
public var energyUsage: Double = 0.0
public var uptime: Long = 0
public var powerDraw: Double = 0.0
public var clusterName: String = ""
}
|