diff options
author | Luck <git@lucko.me> | 2019-06-16 13:30:16 +0100 |
---|---|---|
committer | Luck <git@lucko.me> | 2019-06-16 13:30:16 +0100 |
commit | 11db3961055067fcd27b579113af4f6d32b9f6a6 (patch) | |
tree | e7846447332f5341a3abbf04a085f6fb66d6f870 /spark-common/src/main/proto | |
parent | 35a3bf42fca8bae92780d87b1833cf4217a828f4 (diff) | |
download | spark-11db3961055067fcd27b579113af4f6d32b9f6a6.tar.gz spark-11db3961055067fcd27b579113af4f6d32b9f6a6.tar.bz2 spark-11db3961055067fcd27b579113af4f6d32b9f6a6.zip |
Use protobuf to encode data instead of JSON
Diffstat (limited to 'spark-common/src/main/proto')
-rw-r--r-- | spark-common/src/main/proto/spark/spark.proto | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/spark-common/src/main/proto/spark/spark.proto b/spark-common/src/main/proto/spark/spark.proto new file mode 100644 index 0000000..9319ea8 --- /dev/null +++ b/spark-common/src/main/proto/spark/spark.proto @@ -0,0 +1,89 @@ +syntax = "proto3"; + +package spark; + +option java_package = "me.lucko.spark.proto"; +option java_outer_classname = "SparkProtos"; + +message CommandSenderData { + Type type = 1; + string name = 2; + string unique_id = 3; + + enum Type { + OTHER = 0; + PLAYER = 1; + } +} + +message HeapData { + HeapMetadata metadata = 1; + repeated HeapEntry entries = 2; +} + +message HeapMetadata { + CommandSenderData user = 1; +} + +message HeapEntry { + int32 order = 1; + int32 instances = 2; + int64 size = 3; + string type = 4; +} + +message SamplerData { + SamplerMetadata metadata = 1; + repeated ThreadNode threads = 2; +} + +message SamplerMetadata { + CommandSenderData user = 1; + int64 start_time = 2; + int32 interval = 3; + ThreadDumper thread_dumper = 4; + DataAggregator data_aggregator = 5; + + message ThreadDumper { + Type type = 1; + repeated int64 ids = 2; // optional + repeated string patterns = 3; // optional + + enum Type { + ALL = 0; + SPECIFIC = 1; + REGEX = 2; + } + } + + message DataAggregator { + Type type = 1; + ThreadGrouper thread_grouper = 2; + int64 tick_length_threshold = 3; // optional + + enum Type { + SIMPLE = 0; + TICKED = 1; + } + + enum ThreadGrouper { + BY_NAME = 0; + BY_POOL = 1; + AS_ONE = 2; + } + } +} + +message StackTraceNode { + double time = 1; + repeated StackTraceNode children = 2; + string class_name = 3; + string method_name = 4; + int32 line_number = 5; // optional +} + +message ThreadNode { + string name = 1; + double time = 2; + repeated StackTraceNode children = 3; +} |