This repository was archived by the owner on Jul 16, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMBeanHandler.java
More file actions
69 lines (56 loc) · 2.57 KB
/
Copy pathMBeanHandler.java
File metadata and controls
69 lines (56 loc) · 2.57 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package dasniko.lambda;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.OperatingSystemMXBean;
import java.lang.management.RuntimeMXBean;
/**
* @author Niko Köbler, http://www.n-k.de, @dasniko
*/
public class MBeanHandler implements RequestHandler<Void, Void> {
@Override
public Void handleRequest(Void input, Context context) {
LambdaLogger log = context.getLogger();
log.log(runtimeBean());
log.log(memoryBean());
log.log(operationSystemBean());
return null;
}
private String runtimeBean() {
RuntimeMXBean mx = ManagementFactory.getRuntimeMXBean();
return "RuntimeMXBean info:" +
"\nBootClassPath: " + mx.getBootClassPath() +
"\nClassPath: " + mx.getClassPath() +
"\nInputArguments: " + mx.getInputArguments() +
"\nLibraryPath: " + mx.getLibraryPath() +
"\nManagementSpecVersion: " + mx.getManagementSpecVersion() +
"\nMxBeanName: " + mx.getName() +
"\nSpecName: " + mx.getSpecName() +
"\nSpecVendor: " + mx.getSpecVendor() +
"\nSpecVersion: " + mx.getSpecVersion() +
"\nStartTime: " + mx.getStartTime() +
"\nUptime: " + mx.getUptime() +
"\nSystemProperties: " + mx.getSystemProperties() +
"\nVmName: " + mx.getVmName() +
"\nVmVendor: " + mx.getVmVendor() +
"\nVmVersion: " + mx.getVmVersion();
}
private String memoryBean() {
MemoryMXBean mx = ManagementFactory.getMemoryMXBean();
return "MemoryMXBean info: " +
"\nHeapMemoryUsage: " + mx.getHeapMemoryUsage().toString() +
"\nNonHeapMemoryUsage: " + mx.getNonHeapMemoryUsage().toString() +
"\nObjectPendingFinalizationCount: " + mx.getObjectPendingFinalizationCount();
}
private String operationSystemBean() {
OperatingSystemMXBean mx = ManagementFactory.getOperatingSystemMXBean();
return "OperatingSystemMXBean info: " +
"\nArch: " + mx.getArch() +
"\nName: " + mx.getName() +
"\nVersion: " + mx.getVersion() +
"\nAvailabeProcessors: " + mx.getAvailableProcessors() +
"\nSystemLoadAverage: " + mx.getSystemLoadAverage();
}
}