Skip to content

Commit

Permalink
fix(serialization): no-args constructors and non-final fields for Jac…
Browse files Browse the repository at this point in the history
…kson (#363)
  • Loading branch information
andrewazores authored Mar 26, 2024
1 parent c945f5b commit ac3232c
Show file tree
Hide file tree
Showing 9 changed files with 78 additions and 59 deletions.
13 changes: 8 additions & 5 deletions src/main/java/io/cryostat/core/net/MBeanMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@
package io.cryostat.core.net;

public class MBeanMetrics {
private final RuntimeMetrics runtime;
private final MemoryMetrics memory;
private final ThreadMetrics thread;
private final OperatingSystemMetrics os;
private final String jvmId;

private RuntimeMetrics runtime;
private MemoryMetrics memory;
private ThreadMetrics thread;
private OperatingSystemMetrics os;
private String jvmId;

public MBeanMetrics() {}

public MBeanMetrics(
RuntimeMetrics runtimeDetails,
Expand Down
16 changes: 9 additions & 7 deletions src/main/java/io/cryostat/core/net/MemoryMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,15 @@
import org.apache.commons.lang3.builder.ToStringBuilder;

public class MemoryMetrics {
private final MemoryUtilization heapMemoryUsage;
private final MemoryUtilization nonHeapMemoryUsage;
private final long objectPendingFinalizationCount;
private final long freeHeapMemory;
private final long freeNonHeapMemory;
private final double heapMemoryUsagePercent;
private final boolean verbose;
private MemoryUtilization heapMemoryUsage;
private MemoryUtilization nonHeapMemoryUsage;
private long objectPendingFinalizationCount;
private long freeHeapMemory;
private long freeNonHeapMemory;
private double heapMemoryUsagePercent;
private boolean verbose;

public MemoryMetrics() {}

public MemoryMetrics(Map<String, Object> attributes) {
this.heapMemoryUsage =
Expand Down
10 changes: 6 additions & 4 deletions src/main/java/io/cryostat/core/net/MemoryUtilization.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,12 @@

public class MemoryUtilization {

private final long init;
private final long used;
private final long committed;
private final long max;
private long init;
private long used;
private long committed;
private long max;

public MemoryUtilization() {}

public MemoryUtilization(long init, long used, long committed, long max) {
this.init = init;
Expand Down
28 changes: 15 additions & 13 deletions src/main/java/io/cryostat/core/net/OperatingSystemMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,21 @@
import org.apache.commons.lang3.builder.ToStringBuilder;

public class OperatingSystemMetrics {
private final String arch;
private final int availableProcessors;
private final String name;
private final double systemLoadAverage;
private final String version;
private final long committedVirtualMemorySize;
private final long freePhysicalMemorySize;
private final long freeSwapSpaceSize;
private final double processCpuLoad;
private final long processCpuTime;
private final double systemCpuLoad;
private final long totalPhysicalMemorySize;
private final long totalSwapSpaceSize;
private String arch;
private int availableProcessors;
private String name;
private double systemLoadAverage;
private String version;
private long committedVirtualMemorySize;
private long freePhysicalMemorySize;
private long freeSwapSpaceSize;
private double processCpuLoad;
private long processCpuTime;
private double systemCpuLoad;
private long totalPhysicalMemorySize;
private long totalSwapSpaceSize;

public OperatingSystemMetrics() {}

public OperatingSystemMetrics(Map<String, Object> attributes) {
this.arch = (String) attributes.getOrDefault("Arch", StringUtils.EMPTY);
Expand Down
34 changes: 18 additions & 16 deletions src/main/java/io/cryostat/core/net/RuntimeMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,24 @@
import org.apache.commons.lang3.builder.ToStringBuilder;

public class RuntimeMetrics {
private final String bootClassPath;
private final String classPath;
private final String[] inputArguments;
private final String libraryPath;
private final String managementSpecVersion;
private final String name;
private final String specName;
private final String specVendor;
private final String specVersion;
private final Map<String, String> systemProperties;
private final long startTime;
private final long uptime;
private final String vmName;
private final String vmVendor;
private final String vmVersion;
private final boolean bootClassPathSupported;
private String bootClassPath;
private String classPath;
private String[] inputArguments;
private String libraryPath;
private String managementSpecVersion;
private String name;
private String specName;
private String specVendor;
private String specVersion;
private Map<String, String> systemProperties;
private long startTime;
private long uptime;
private String vmName;
private String vmVendor;
private String vmVersion;
private boolean bootClassPathSupported;

public RuntimeMetrics() {}

public RuntimeMetrics(Map<String, Object> attributes) {
this.bootClassPath = (String) attributes.getOrDefault("BootClassPath", StringUtils.EMPTY);
Expand Down
30 changes: 16 additions & 14 deletions src/main/java/io/cryostat/core/net/ThreadMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,22 @@
import org.apache.commons.lang3.builder.ToStringBuilder;

public class ThreadMetrics {
private final long[] allThreadIds;
private final long currentThreadCpuTime;
private final long currentThreadUserTime;
private final int daemonThreadCount;
private final int peakThreadCount;
private final int threadCount;
private final long totalStartedThreadCount;
private final boolean currentThreadCpuTimeSupported;
private final boolean objectMonitorUsageSupported;
private final boolean synchronizerUsageSupported;
private final boolean threadContentionMonitoringEnabled;
private final boolean threadContentionMonitoringSupported;
private final boolean threadCpuTimeEnabled;
private final boolean threadCpuTimeSupported;
private long[] allThreadIds;
private long currentThreadCpuTime;
private long currentThreadUserTime;
private int daemonThreadCount;
private int peakThreadCount;
private int threadCount;
private long totalStartedThreadCount;
private boolean currentThreadCpuTimeSupported;
private boolean objectMonitorUsageSupported;
private boolean synchronizerUsageSupported;
private boolean threadContentionMonitoringEnabled;
private boolean threadContentionMonitoringSupported;
private boolean threadCpuTimeEnabled;
private boolean threadCpuTimeSupported;

public ThreadMetrics() {}

public ThreadMetrics(Map<String, Object> attributes) {
this.allThreadIds = (long[]) attributes.getOrDefault("AllThreadIds", new long[0]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ public class SerializableEventTypeInfo {
private String[] category;
private Map<String, SerializableOptionDescriptor> options;

public SerializableEventTypeInfo() {}

public SerializableEventTypeInfo(IEventTypeInfo orig) {
this.name = orig.getName();
this.typeId = orig.getEventTypeID().getFullKey();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ public class SerializableOptionDescriptor {
private String description;
private String defaultValue;

public SerializableOptionDescriptor() {}

public SerializableOptionDescriptor(IOptionDescriptor<?> orig) {
this.name = orig.getName();
this.description = orig.getDescription();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ public class SerializableRecordingDescriptor {
protected long maxSize;
protected long maxAge;

public SerializableRecordingDescriptor() {}

public SerializableRecordingDescriptor(
long id,
String name,
Expand Down

0 comments on commit ac3232c

Please sign in to comment.