diff options
author | lucko <git@lucko.me> | 2024-08-06 21:29:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-06 21:29:48 +0100 |
commit | 8017dbd288fca21dac3813409dec959ae6e6c822 (patch) | |
tree | bce438e9a7156dcf04f99194295c753702600f1c /spark-common/src/main/java/me/lucko/spark/common/sampler | |
parent | 613f702ddd8c1a7515298917a74464e6799df0c4 (diff) | |
download | spark-8017dbd288fca21dac3813409dec959ae6e6c822.tar.gz spark-8017dbd288fca21dac3813409dec959ae6e6c822.tar.bz2 spark-8017dbd288fca21dac3813409dec959ae6e6c822.zip |
Add uploadable health report (#436)
Diffstat (limited to 'spark-common/src/main/java/me/lucko/spark/common/sampler')
4 files changed, 22 insertions, 42 deletions
diff --git a/spark-common/src/main/java/me/lucko/spark/common/sampler/AbstractSampler.java b/spark-common/src/main/java/me/lucko/spark/common/sampler/AbstractSampler.java index 8a9c05f..7453074 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/sampler/AbstractSampler.java +++ b/spark-common/src/main/java/me/lucko/spark/common/sampler/AbstractSampler.java @@ -24,6 +24,7 @@ import me.lucko.spark.common.SparkPlatform; import me.lucko.spark.common.command.sender.CommandSender; import me.lucko.spark.common.monitor.memory.GarbageCollectorStatistics; import me.lucko.spark.common.platform.MetadataProvider; +import me.lucko.spark.common.platform.SparkMetadata; import me.lucko.spark.common.platform.serverconfig.ServerConfigProvider; import me.lucko.spark.common.sampler.aggregator.DataAggregator; import me.lucko.spark.common.sampler.node.MergeMode; @@ -123,6 +124,11 @@ public abstract class AbstractSampler implements Sampler { } @Override + public Map<Integer, SparkProtos.WindowStatistics> exportWindowStatistics() { + return this.windowStatisticsCollector.export(); + } + + @Override public void start() { this.startTime = System.currentTimeMillis(); } @@ -177,14 +183,13 @@ public abstract class AbstractSampler implements Sampler { protected void writeMetadataToProto(SamplerData.Builder proto, SparkPlatform platform, CommandSender.Data creator, String comment, DataAggregator dataAggregator) { SamplerMetadata.Builder metadata = SamplerMetadata.newBuilder() .setSamplerMode(getMode().asProto()) - .setPlatformMetadata(platform.getPlugin().getPlatformInfo().toData().toProto()) - .setCreator(creator.toProto()) .setStartTime(this.startTime) - .setEndTime(System.currentTimeMillis()) .setInterval(this.interval) .setThreadDumper(this.threadDumper.getMetadata()) .setDataAggregator(dataAggregator.getMetadata()); + SparkMetadata.gather(platform, creator, getInitialGcStats()).writeTo(metadata); + if (comment != null) { metadata.setComment(comment); } @@ -194,41 +199,6 @@ public abstract class AbstractSampler implements Sampler { metadata.setNumberOfTicks(totalTicks); } - try { - metadata.setPlatformStatistics(platform.getStatisticsProvider().getPlatformStatistics(getInitialGcStats(), true)); - } catch (Exception e) { - e.printStackTrace(); - } - - try { - metadata.setSystemStatistics(platform.getStatisticsProvider().getSystemStatistics()); - } catch (Exception e) { - e.printStackTrace(); - } - - try { - ServerConfigProvider serverConfigProvider = platform.getPlugin().createServerConfigProvider(); - if (serverConfigProvider != null) { - metadata.putAllServerConfigurations(serverConfigProvider.export()); - } - } catch (Exception e) { - e.printStackTrace(); - } - - try { - MetadataProvider extraMetadataProvider = platform.getPlugin().createExtraMetadataProvider(); - if (extraMetadataProvider != null) { - metadata.putAllExtraPlatformMetadata(extraMetadataProvider.export()); - } - } catch (Exception e) { - e.printStackTrace(); - } - - Collection<SourceMetadata> knownSources = platform.getPlugin().getKnownSources(); - for (SourceMetadata source : knownSources) { - metadata.putSources(source.getName().toLowerCase(Locale.ROOT), source.toProto()); - } - proto.setMetadata(metadata); } 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 844ab0b..bb74cd2 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 @@ -25,10 +25,12 @@ import me.lucko.spark.common.command.sender.CommandSender; import me.lucko.spark.common.sampler.node.MergeMode; import me.lucko.spark.common.sampler.source.ClassSourceLookup; import me.lucko.spark.common.ws.ViewerSocket; +import me.lucko.spark.proto.SparkProtos; import me.lucko.spark.proto.SparkSamplerProtos.SamplerData; import me.lucko.spark.proto.SparkSamplerProtos.SocketChannelInfo; import java.util.Collection; +import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.function.Supplier; @@ -96,6 +98,13 @@ public interface Sampler { */ CompletableFuture<Sampler> getFuture(); + /** + * Exports the current set of window statistics. + * + * @return the window statistics + */ + Map<Integer, SparkProtos.WindowStatistics> exportWindowStatistics(); + // Methods used to export the sampler data to the web viewer. SamplerData toProto(SparkPlatform platform, ExportProps exportProps); diff --git a/spark-common/src/main/java/me/lucko/spark/common/sampler/ThreadGrouper.java b/spark-common/src/main/java/me/lucko/spark/common/sampler/ThreadGrouper.java index c8d5b3c..7a791bc 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/sampler/ThreadGrouper.java +++ b/spark-common/src/main/java/me/lucko/spark/common/sampler/ThreadGrouper.java @@ -181,6 +181,6 @@ public interface ThreadGrouper { public SamplerMetadata.DataAggregator.ThreadGrouper asProto() { return SamplerMetadata.DataAggregator.ThreadGrouper.AS_ONE; } - }; + } } diff --git a/spark-common/src/main/java/me/lucko/spark/common/sampler/source/SourceMetadata.java b/spark-common/src/main/java/me/lucko/spark/common/sampler/source/SourceMetadata.java index 13dc66d..e5f2b48 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/sampler/source/SourceMetadata.java +++ b/spark-common/src/main/java/me/lucko/spark/common/sampler/source/SourceMetadata.java @@ -21,7 +21,7 @@ package me.lucko.spark.common.sampler.source; import com.google.common.collect.ImmutableList; -import me.lucko.spark.proto.SparkSamplerProtos.SamplerMetadata; +import me.lucko.spark.proto.SparkProtos.PluginOrModMetadata; import java.util.Collection; import java.util.List; @@ -70,10 +70,11 @@ public class SourceMetadata { return this.author; } - public SamplerMetadata.SourceMetadata toProto() { - return SamplerMetadata.SourceMetadata.newBuilder() + public PluginOrModMetadata toProto() { + return PluginOrModMetadata.newBuilder() .setName(this.name) .setVersion(this.version) + .setAuthor(this.author) .build(); } |