blob: f670ddf61abf2108d94cf3c455f80f8f14b024f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
syntax = "proto3";
package spark;
import "spark/spark.proto";
option java_package = "me.lucko.spark.proto";
option java_outer_classname = "SparkSamplerProtos";
message SamplerData {
SamplerMetadata metadata = 1;
repeated ThreadNode threads = 2;
map<string, string> class_sources = 3; // optional
map<string, string> method_sources = 4; // optional
map<string, string> line_sources = 5; // optional
}
message SamplerMetadata {
CommandSenderMetadata creator = 1;
int64 start_time = 2;
int32 interval = 3;
ThreadDumper thread_dumper = 4;
DataAggregator data_aggregator = 5;
string comment = 6;
PlatformMetadata platform_metadata = 7;
PlatformStatistics platform_statistics = 8;
SystemStatistics system_statistics = 9;
map<string, string> server_configurations = 10;
int64 end_time = 11;
int32 number_of_ticks = 12;
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
int32 number_of_included_ticks = 4; // optional
enum Type {
SIMPLE = 0;
TICKED = 1;
}
enum ThreadGrouper {
BY_NAME = 0;
BY_POOL = 1;
AS_ONE = 2;
}
}
}
message ThreadNode {
string name = 1;
double time = 2;
repeated StackTraceNode children = 3;
}
message StackTraceNode {
double time = 1;
repeated StackTraceNode children = 2;
string class_name = 3;
string method_name = 4;
int32 parent_line_number = 5; // optional
int32 line_number = 6; // optional
string method_desc = 7; // optional
}
|