aboutsummaryrefslogtreecommitdiff
path: root/spark-common/src/main/java/me/lucko/spark/common/sampler
diff options
context:
space:
mode:
authorLuck <git@lucko.me>2020-04-01 22:23:43 +0100
committerLuck <git@lucko.me>2020-04-01 22:23:53 +0100
commit242382646512acba6f5041ecbeab058160ec742d (patch)
tree7d25c4cee53074f655217ac45bf022c278d5eef8 /spark-common/src/main/java/me/lucko/spark/common/sampler
parent8e2369a64d20706cb68738f1d847d93422f71218 (diff)
downloadspark-242382646512acba6f5041ecbeab058160ec742d.tar.gz
spark-242382646512acba6f5041ecbeab058160ec742d.tar.bz2
spark-242382646512acba6f5041ecbeab058160ec742d.zip
Allow comments to be specified on sampler output
Diffstat (limited to 'spark-common/src/main/java/me/lucko/spark/common/sampler')
-rw-r--r--spark-common/src/main/java/me/lucko/spark/common/sampler/Sampler.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/spark-common/src/main/java/me/lucko/spark/common/sampler/Sampler.java b/spark-common/src/main/java/me/lucko/spark/common/sampler/Sampler.java
index 6548d56..ec01da2 100644
--- a/spark-common/src/main/java/me/lucko/spark/common/sampler/Sampler.java
+++ b/spark-common/src/main/java/me/lucko/spark/common/sampler/Sampler.java
@@ -22,6 +22,7 @@
package me.lucko.spark.common.sampler;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import com.google.protobuf.ByteString;
import me.lucko.spark.common.command.sender.CommandSender;
import me.lucko.spark.common.sampler.aggregator.DataAggregator;
import me.lucko.spark.common.sampler.aggregator.SimpleDataAggregator;
@@ -161,16 +162,20 @@ public class Sampler implements Runnable {
}
}
- private SamplerData toProto(CommandSender creator, Comparator<? super Map.Entry<String, ThreadNode>> outputOrder, MergeMode mergeMode) {
- SamplerData.Builder proto = SamplerData.newBuilder();
- proto.setMetadata(SamplerMetadata.newBuilder()
+ private SamplerData toProto(CommandSender creator, Comparator<? super Map.Entry<String, ThreadNode>> outputOrder, String comment, MergeMode mergeMode) {
+ final SamplerMetadata.Builder metadata = SamplerMetadata.newBuilder()
.setUser(creator.toData().toProto())
.setStartTime(this.startTime)
.setInterval(this.interval)
.setThreadDumper(this.threadDumper.getMetadata())
- .setDataAggregator(this.dataAggregator.getMetadata())
- .build()
- );
+ .setDataAggregator(this.dataAggregator.getMetadata());
+
+ if (comment != null) {
+ metadata.setComment(comment);
+ }
+
+ SamplerData.Builder proto = SamplerData.newBuilder();
+ proto.setMetadata(metadata.build());
List<Map.Entry<String, ThreadNode>> data = new ArrayList<>(this.dataAggregator.getData().entrySet());
data.sort(outputOrder);
@@ -182,8 +187,8 @@ public class Sampler implements Runnable {
return proto.build();
}
- public byte[] formCompressedDataPayload(CommandSender creator, Comparator<? super Map.Entry<String, ThreadNode>> outputOrder, MergeMode mergeMode) {
- SamplerData proto = toProto(creator, outputOrder, mergeMode);
+ public byte[] formCompressedDataPayload(CommandSender creator, Comparator<? super Map.Entry<String, ThreadNode>> outputOrder, String comment, MergeMode mergeMode) {
+ SamplerData proto = toProto(creator, outputOrder, comment, mergeMode);
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
try (OutputStream out = new GZIPOutputStream(byteOut)) {