Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(serialization): no-args constructors and non-final fields for Jackson #363

Merged
merged 2 commits into from
Mar 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading