Skip to content
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
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@
<metrics.client.incubator.version>0.13.0</metrics.client.incubator.version>
<metrics.jvm.extra.version>0.13.1</metrics.jvm.extra.version>
<metrics.http.extra.version>0.13.1</metrics.http.extra.version>
<metrics.aggregator.protocol.version>1.1.0</metrics.aggregator.protocol.version>
<metrics.aggregator.protocol.version>1.2.1</metrics.aggregator.protocol.version>
<mockito.version>5.13.0</mockito.version>
<netty.version>4.0.56.Final</netty.version>
<netty.all.version>4.0.21.Final</netty.all.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,13 @@ public static Builder fromStatisticSetRecord(final Messages.StatisticSetRecord r
if (statistic instanceof HistogramStatistic) {
final Messages.SparseHistogramSupportingData supportingData = deserialzeSupportingData(statisticRecord);

final HistogramStatistic.Histogram histogram = new HistogramStatistic.Histogram();
final HistogramStatistic.Histogram histogram;
if (supportingData.getPrecision() == 0) {
histogram = new HistogramStatistic.Histogram();
} else {
// Subtract 1 from the precision to get the actual precision since 0 means default precision
histogram = new HistogramStatistic.Histogram(supportingData.getPrecision() - 1);
}
for (final Messages.SparseHistogramEntry entry : supportingData.getEntriesList()) {
final double bucket = entry.getBucket();
final long count = entry.getCount();
Expand Down
23 changes: 13 additions & 10 deletions src/main/java/com/arpnetworking/tsdcore/sinks/KairosDbSink.java
Original file line number Diff line number Diff line change
Expand Up @@ -314,16 +314,17 @@ public void serializeDatum(
}
}

public void serializeHistogram(
final List<SerializedDatum> completeChunks,
final ByteBuffer currentChunk,
final ByteArrayOutputStream chunkStream,
final AggregatedData data,
final KairosHistogramAdditionalData additionalData,
final LongAdder currentChunkPopulationSize) {
final FQDSN fqdsn = data.getFQDSN();

try {
// CHECKSTYLE.OFF: ExecutableStatementCount - There are a lot of fields, we just need to serialize them
public void serializeHistogram(
final List<SerializedDatum> completeChunks,
final ByteBuffer currentChunk,
final ByteArrayOutputStream chunkStream,
final AggregatedData data,
final KairosHistogramAdditionalData additionalData,
final LongAdder currentChunkPopulationSize) {
final FQDSN fqdsn = data.getFQDSN();

try {
final HistogramStatistic.HistogramSnapshot bins = ((HistogramStatistic.HistogramSupportingData) data.getSupportingData())
.getHistogramSnapshot();
final JsonGenerator chunkGenerator = OBJECT_MAPPER.getFactory().createGenerator(chunkStream, JsonEncoding.UTF8);
Expand All @@ -338,6 +339,7 @@ public void serializeHistogram(
chunkGenerator.writeNumberField("max", additionalData.getMax());
chunkGenerator.writeNumberField("mean", additionalData.getMean());
chunkGenerator.writeNumberField("sum", additionalData.getSum());
chunkGenerator.writeNumberField("precision", bins.getPrecision());
chunkGenerator.writeObjectFieldStart("bins");
for (Double2LongMap.Entry bin : bins.getValues()) {
chunkGenerator.writeNumberField(String.valueOf(bin.getDoubleKey()), bin.getLongValue());
Expand Down Expand Up @@ -373,6 +375,7 @@ public void serializeHistogram(
.log();
}
}
// CHECKSTYLE.ON: ExecutableStatementCount

public void serializeCondition(
final List<SerializedDatum> completeChunks,
Expand Down