-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaster_trace.btm
241 lines (206 loc) · 8.27 KB
/
master_trace.btm
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
#########################
#Application Instru Test#
#########################
RULE trace Application test
CLASS com.hq.WordCount
METHOD main
AT ENTRY
HELPER org.jboss.byteman.JMXBytemanHelper
#BIND url = "service:jmx:rmi:///jndi/rmi:// + host + : + port + /jmxrmi";
# serviceURL = new javax.management.remote.JMXServiceURL.JMXServiceURL(url)
IF true
DO
# import java.lang.management.*;
# import javax.management.*;
# import javax.management.remote.JMXServiceURL;
# import javax.management.remote.*;
# String url = "service:jmx:rmi:///jndi/rmi://" + host + ":" + port + "/jmxrmi";
# JMXServiceURL serviceURL = new JMXServiceURL(url);
# JMXConnector conn = JMXConnectorFactory.connect(serviceURL);
# MBeanServerConnection mbs=conn.getMBeanServerConnection();
# MemoryMXBean memBean=ManagementFactory.newPlatformMXBeanProxy(mbs, ManagementFactory.MEMORY_MXBEAN_NAME, MemoryMXBean.class);
# OperatingSystemMXBean opMXbean = ManagementFactory.newPlatformMXBeanProxy(mbs, ManagementFactory.OPERATING_SYSTEM_MXBEAN_NAME, OperatingSystemMXBean.class);
# MemoryUsage heap = memBean.getHeapMemoryUsage();
# MemoryUsage nonHeap = memBean.getNonHeapMemoryUsage();
# long heapSizeUsed = heap.getUsed();
# long nonHeapSizeUsed = nonHeap.getUsed();
# long heapCommitedSize = heap.getCommitted();
# long nonHeapCommitedSize = nonHeap.getCommitted();
Send2File("test");
#System.out.println("test" + url);
#traceln("BR: Entering Application:main ");
ENDRULE
########################
# Scheduler Instrument #
########################
RULE trace TaskScheduler creater entry
CLASS org.apache.spark.SparkContext
METHOD ^createTaskScheduler
AT ENTRY
IF true
DO traceln("BR:Entering CreateTaskScheduler");
ENDRULE
RULE trace SparkSubmit.start
CLASS org.apache.spark.deploy.SparkSubmit
METHOD main
AT ENTRY
IF true
DO traceOpen("org.apache.spark.deploy.SparkSubmit","/home/wyh/BigdataBackEnd/BigdataBackEnd-master/byteman_trace/tracelog_master");
traceln("org.apache.spark.deploy.SparkSubmit","BR:Entering Sparksubmit main. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
traceClose("org.apache.spark.deploy.SparkSubmit");
ENDRULE
RULE trace SparkSubmit.end
CLASS org.apache.spark.deploy.SparkSubmit
METHOD main
AT EXIT
IF true
DO traceOpen("org.apache.spark.deploy.SparkSubmit","/home/wyh/BigdataBackEnd/BigdataBackEnd-master/byteman_trace/tracelog_master");
traceln("org.apache.spark.deploy.SparkSubmit","BR:Ending Sparksubmit main. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
traceClose("org.apache.spark.deploy.SparkSubmit");
ENDRULE
##########################
#org.apache.spark.rdd.RDD#
##########################
RULE trace rdd persist enter
CLASS org.apache.spark.rdd.RDD
METHOD persist
BIND Storagelevel = $1
AT ENTRY
IF true
DO traceln(FILE,"BR: Entering persist. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName() + "Storagelevel = " + Storagelevel);
ENDRULE
RULE trace rdd persist exit
CLASS org.apache.spark.rdd.RDD
METHOD persist
AT EXIT
IF true
DO traceln(FILE,"BR: Leaving persist. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
ENDRULE
RULE trace rdd cache enter
CLASS org.apache.spark.rdd.RDD
METHOD cache
AT ENTRY
IF true
DO traceln("BR: Entering cache. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
ENDRULE
RULE trace rdd cache exit
CLASS org.apache.spark.rdd.RDD
METHOD cache
AT EXIT
IF true
DO traceln("BR: Leaving cache. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
ENDRULE
RULE trace rdd flatmap enter
CLASS org.apache.spark.rdd.RDD
METHOD flatMap
AT ENTRY
IF true
DO traceln("BR: Entering flatmap. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
ENDRULE
RULE trace rdd flatmap exit
CLASS org.apache.spark.rdd.RDD
METHOD flatMap
AT EXIT
IF true
DO traceln("BR: Leaving flatmap. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
ENDRULE
RULE trace rdd collect enter
CLASS org.apache.spark.rdd.RDD
METHOD collect
AT ENTRY
IF true
DO traceln("BR: Entering collect. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
ENDRULE
RULE trace rdd collect exit
CLASS org.apache.spark.rdd.RDD
METHOD collect
AT EXIT
IF true
DO traceln("BR: Leaving collect. time:" + System.currentTimeMillis() + " thread id: " + Thread.currentThread().getId() + " name : " + Thread.currentThread().getName());
traceClose(identifier);
ENDRULE
RULE iterator_test
CLASS org.apache.spark.rdd.RDD
METHOD iterator
AT ENTRY
IF true
DO traceln("BR: An iterator thread id: " + Thread.currentThread().getId());
ENDRULE
##########################
# task #
##########################
RULE Task
CLASS Task
METHOD run
AT ENTRY
IF true
DO traceln("BR: find a task ");
ENDRULE
#RULE RunTask
#CLASS ResultTask
#METHOD runTask
#AT ENTRY
#IF true
#DO traceOpen("ResultTask" + Thread.currentThread().getId(),"/home/wyh/BigdataBackEnd/BigdataBackEnd-master/byteman_trace/task_tracelog");
# traceln("ResultTask"+Thread.currentThread().getId(),"BR: Starting a task id: " + Thread.currentThread().getId() + " time: " + System.currentTimeMillis());
# traceClose("ResultTask" + Thread.currentThread().getId())
#ENDRULE
####################slave>master#############
RULE EndTask
CLASS ResultTask
METHOD runTask
AT EXIT
IF true
DO traceOpen("ResultTask" + Thread.currentThread().getId(),"/home/wyh/BigdataBackEnd/BigdataBackEnd-master/byteman_trace/task_tracelog");
traceln("ResultTask"+Thread.currentThread().getId(),"BR: Ending a task id: " + Thread.currentThread().getId() + " time: " + System.currentTimeMillis ());
traceClose("ResultTask" + Thread.currentThread().getId());
ENDRULE
#RULE RunShuffleTask
#CLASS ShuffleMapTask
#AT ENTRY
#IF true
#DO traceOpen("ShuffleTask" + Thread.currentThread().getId(),"/home/wyh/BigdataBackEnd/BigdataBackEnd-master/byteman_trace/task_tracelog");
# traceln("ShuffleTask"+Thread.currentThread().getId(),"BR: Starting a shuffle task id: " + Thread.currentThread().getId() + " time: " + System.currentTimeMillis ());
# traceClose("ShuffleTask" + Thread.currentThread().getId());
#ENDRULE
#RULE EndShuffleTask
#CLASS ShuffleMapTask
#AT EXIT
#IF true
#DO traceOpen("ShuffleTask" + Thread.currentThread().getId(),"/home/wyh/BigdataBackEnd/BigdataBackEnd-master/byteman_trace/task_tracelog");
# traceln("ShuffleTask"+Thread.currentThread().getId(),"BR: Ending a shuffle task id: " + Thread.currentThread().getId() + " time: " + System.currentTimeMillis ());
# traceClose("ShuffleTask" + Thread.currentThread().getId());
#ENDRULE
########################################
RULE test_iterator_func_1
CLASS org.apache.spark.rdd.RDD
METHOD getOrCompute
AT ENTRY
IF ture
DO traceln("BR: cached RDD compute thread id: " + Thread.currentThread().getId());
ENDRULE
RULE test_iterator_func_2
CLASS org.apache.spark.rdd.RDD
METHOD computeOrReadCheckpoint
AT ENTRY
IF true
DO traceln("BR: checkpointing RDD compute thread id: " + Thread.currentThread().getId());
ENDRULE
RULE test_iterator_func_3
CLASS ^org.apache.spark.rdd.RDD
METHOD compute
AT ENTRY
IF true
DO traceOpen("^org.apache.spark.rdd.RDD","tracelog");
traceln("^org.apache.spark.rdd.RDD","BR: actural rdd computing thread id: " + Thread.currentThread().getId() + " time: " + System.currentTimeMillis() + " class: " + $0);
traceClose("^org.apache.spark.rdd.RDD");
ENDRULE
RULE test_iterator_func_4
CLASS ^org.apache.spark.rdd.RDD
METHOD compute
AT EXIT
IF true
DO traceOpen("^org.apache.spark.rdd.RDD","tracelog");
traceln("^org.apache.spark.rdd.RDD","BR: actural rdd computing end thread id: " + Thread.currentThread().getId() + " time: " + System.currentTimeMillis() + " class: " + $0);
traceClose("^org.apache.spark.rdd.RDD");
ENDRULE