package com.ldbc.driver.runtime.metrics;
import org.codehaus.jackson.annotate.JsonProperty;
import java.util.concurrent.TimeUnit;
public class OperationMetricsSnapshot {
@JsonProperty("name")
private String name;
@JsonProperty("unit")
private TimeUnit durationUnit;
@JsonProperty("count")
private long count;
@JsonProperty("run_time")
private ContinuousMetricSnapshot rutTimeMetric;
private OperationMetricsSnapshot() {
}
public OperationMetricsSnapshot(String name,
TimeUnit durationUnit,
long count,
ContinuousMetricSnapshot rutTimeMetric) {
this.name = name;
this.durationUnit = durationUnit;
this.count = count;
this.rutTimeMetric = rutTimeMetric;
}
public String name() {
return name;
}
public TimeUnit durationUnit() {
return durationUnit;
}
public long count() {
return count;
}
public ContinuousMetricSnapshot runTimeMetric() {
return rutTimeMetric;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
OperationMetricsSnapshot that = (OperationMetricsSnapshot) o;
if (count != that.count) return false;
if (durationUnit != that.durationUnit) return false;
if (name != null ? !name.equals(that.name) : that.name != null) return false;
if (rutTimeMetric != null ? !rutTimeMetric.equals(that.rutTimeMetric) : that.rutTimeMetric != null)
return false;
return true;
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (durationUnit != null ? durationUnit.hashCode() : 0);
result = 31 * result + (int) (count ^ (count >>> 32));
result = 31 * result + (rutTimeMetric != null ? rutTimeMetric.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "OperationMetricsSnapshot{" +
"name='" + name + '\'' +
", durationUnit=" + durationUnit +
", count=" + count +
", rutTimeMetric=" + rutTimeMetric +
'}';
}
}