@@ -91,50 +91,48 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
91
91
ProfileQueriesMsg :: Dump ( params) => {
92
92
assert ! ( stack. is_empty( ) ) ;
93
93
assert ! ( frame. parse_st == ParseState :: Clear ) ;
94
- {
95
- // write log of all messages
96
- if params. dump_profq_msg_log {
97
- let mut log_file =
98
- File :: create ( format ! ( "{}.log.txt" , params. path) ) . unwrap ( ) ;
99
- for m in profq_msgs. iter ( ) {
100
- writeln ! ( & mut log_file, "{:?}" , m) . unwrap ( )
101
- } ;
102
- }
103
94
104
- // write HTML file, and counts file
105
- let html_path = format ! ( "{}.html" , params. path) ;
106
- let mut html_file = File :: create ( & html_path) . unwrap ( ) ;
95
+ // write log of all messages
96
+ if params. dump_profq_msg_log {
97
+ let mut log_file =
98
+ File :: create ( format ! ( "{}.log.txt" , params. path) ) . unwrap ( ) ;
99
+ for m in profq_msgs. iter ( ) {
100
+ writeln ! ( & mut log_file, "{:?}" , m) . unwrap ( )
101
+ } ;
102
+ }
107
103
108
- let counts_path = format ! ( "{}.counts.txt" , params. path) ;
109
- let mut counts_file = File :: create ( & counts_path) . unwrap ( ) ;
104
+ // write HTML file, and counts file
105
+ let html_path = format ! ( "{}.html" , params. path) ;
106
+ let mut html_file = File :: create ( & html_path) . unwrap ( ) ;
110
107
111
- writeln ! ( html_file,
112
- "<html>\n <head>\n <link rel=\" stylesheet\" type=\" text/css\" href=\" {}\" >" ,
113
- "profile_queries.css" ) . unwrap ( ) ;
114
- writeln ! ( html_file, "<style>" ) . unwrap ( ) ;
115
- trace:: write_style ( & mut html_file) ;
116
- writeln ! ( html_file, "</style>\n </head>\n <body>" ) . unwrap ( ) ;
117
- trace:: write_traces ( & mut html_file, & mut counts_file, & frame. traces ) ;
118
- writeln ! ( html_file, "</body>\n </html>" ) . unwrap ( ) ;
108
+ let counts_path = format ! ( "{}.counts.txt" , params. path) ;
109
+ let mut counts_file = File :: create ( & counts_path) . unwrap ( ) ;
119
110
120
- let ack_path = format ! ( "{}.ack" , params. path) ;
121
- let ack_file = File :: create ( & ack_path) . unwrap ( ) ;
122
- drop ( ack_file) ;
111
+ writeln ! ( html_file,
112
+ "<html>\n <head>\n <link rel=\" stylesheet\" type=\" text/css\" href=\" {}\" >" ,
113
+ "profile_queries.css" ) . unwrap ( ) ;
114
+ writeln ! ( html_file, "<style>" ) . unwrap ( ) ;
115
+ trace:: write_style ( & mut html_file) ;
116
+ writeln ! ( html_file, "</style>\n </head>\n <body>" ) . unwrap ( ) ;
117
+ trace:: write_traces ( & mut html_file, & mut counts_file, & frame. traces ) ;
118
+ writeln ! ( html_file, "</body>\n </html>" ) . unwrap ( ) ;
123
119
124
- // Tell main thread that we are done, e.g., so it can exit
125
- params. ack . send ( ( ) ) . unwrap ( ) ;
126
- }
127
- continue
120
+ let ack_path = format ! ( "{}.ack" , params. path) ;
121
+ let ack_file = File :: create ( & ack_path) . unwrap ( ) ;
122
+ drop ( ack_file) ;
123
+
124
+ // Tell main thread that we are done, e.g., so it can exit
125
+ params. ack . send ( ( ) ) . unwrap ( ) ;
128
126
}
129
127
// Actual query message:
130
128
msg => {
131
129
// Record msg in our log
132
130
profq_msgs. push ( msg. clone ( ) ) ;
133
131
// Respond to the message, knowing that we've already handled Halt and Dump, above.
134
132
match ( frame. parse_st . clone ( ) , msg) {
135
- ( _, ProfileQueriesMsg :: Halt ) => unreachable ! ( ) ,
136
- ( _ , ProfileQueriesMsg :: Dump ( _ ) ) => unreachable ! ( ) ,
137
-
133
+ ( _, ProfileQueriesMsg :: Halt ) | ( _ , ProfileQueriesMsg :: Dump ( _ ) ) => {
134
+ unreachable ! ( ) ;
135
+ } ,
138
136
// Parse State: Clear
139
137
( ParseState :: Clear ,
140
138
ProfileQueriesMsg :: QueryBegin ( span, querymsg) ) => {
@@ -161,8 +159,8 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
161
159
ParseState :: HaveQuery ( q, start) => {
162
160
let duration = start. elapsed ( ) ;
163
161
frame = StackFrame {
164
- parse_st : ParseState :: Clear ,
165
- traces : old_frame. traces
162
+ parse_st : ParseState :: Clear ,
163
+ traces : old_frame. traces
166
164
} ;
167
165
let dur_extent = total_duration ( & provider_extent) ;
168
166
let trace = Rec {
@@ -179,18 +177,16 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
179
177
}
180
178
}
181
179
} ,
182
-
183
-
184
180
( ParseState :: Clear ,
185
181
ProfileQueriesMsg :: TimeBegin ( msg) ) => {
186
182
let start = Instant :: now ( ) ;
187
183
frame. parse_st = ParseState :: HaveTimeBegin ( msg, start) ;
188
184
stack. push ( frame) ;
189
- frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
185
+ frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
186
+ } ,
187
+ ( _, ProfileQueriesMsg :: TimeBegin ( _) ) => {
188
+ panic ! ( "parse error; did not expect time begin here" ) ;
190
189
} ,
191
- ( _, ProfileQueriesMsg :: TimeBegin ( _) ) =>
192
- panic ! ( "parse error; did not expect time begin here" ) ,
193
-
194
190
( ParseState :: Clear ,
195
191
ProfileQueriesMsg :: TimeEnd ) => {
196
192
let provider_extent = frame. traces ;
@@ -202,8 +198,8 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
202
198
ParseState :: HaveTimeBegin ( msg, start) => {
203
199
let duration = start. elapsed ( ) ;
204
200
frame = StackFrame {
205
- parse_st : ParseState :: Clear ,
206
- traces : old_frame. traces
201
+ parse_st : ParseState :: Clear ,
202
+ traces : old_frame. traces
207
203
} ;
208
204
let dur_extent = total_duration ( & provider_extent) ;
209
205
let trace = Rec {
@@ -220,18 +216,19 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
220
216
}
221
217
}
222
218
} ,
223
- ( _, ProfileQueriesMsg :: TimeEnd ) => { panic ! ( "parse error" ) }
224
-
219
+ ( _, ProfileQueriesMsg :: TimeEnd ) => {
220
+ panic ! ( "parse error" )
221
+ } ,
225
222
( ParseState :: Clear ,
226
223
ProfileQueriesMsg :: TaskBegin ( key) ) => {
227
224
let start = Instant :: now ( ) ;
228
225
frame. parse_st = ParseState :: HaveTaskBegin ( key, start) ;
229
226
stack. push ( frame) ;
230
- frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
227
+ frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
228
+ } ,
229
+ ( _, ProfileQueriesMsg :: TaskBegin ( _) ) => {
230
+ panic ! ( "parse error; did not expect time begin here" ) ;
231
231
} ,
232
- ( _, ProfileQueriesMsg :: TaskBegin ( _) ) =>
233
- panic ! ( "parse error; did not expect time begin here" ) ,
234
-
235
232
( ParseState :: Clear ,
236
233
ProfileQueriesMsg :: TaskEnd ) => {
237
234
let provider_extent = frame. traces ;
@@ -243,8 +240,8 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
243
240
ParseState :: HaveTaskBegin ( key, start) => {
244
241
let duration = start. elapsed ( ) ;
245
242
frame = StackFrame {
246
- parse_st : ParseState :: Clear ,
247
- traces : old_frame. traces
243
+ parse_st : ParseState :: Clear ,
244
+ traces : old_frame. traces
248
245
} ;
249
246
let dur_extent = total_duration ( & provider_extent) ;
250
247
let trace = Rec {
@@ -261,8 +258,9 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
261
258
}
262
259
}
263
260
} ,
264
- ( _, ProfileQueriesMsg :: TaskEnd ) => { panic ! ( "parse error" ) }
265
-
261
+ ( _, ProfileQueriesMsg :: TaskEnd ) => {
262
+ panic ! ( "parse error" )
263
+ } ,
266
264
// Parse State: HaveQuery
267
265
( ParseState :: HaveQuery ( q, start) ,
268
266
ProfileQueriesMsg :: CacheHit ) => {
@@ -277,26 +275,25 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
277
275
frame. traces . push ( trace ) ;
278
276
frame. parse_st = ParseState :: Clear ;
279
277
} ,
280
- ( ParseState :: HaveQuery ( _, _) ,
278
+ ( ParseState :: HaveQuery ( _, _) ,
281
279
ProfileQueriesMsg :: ProviderBegin ) => {
282
280
stack. push ( frame) ;
283
- frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
281
+ frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
284
282
} ,
285
283
286
284
// Parse errors:
287
285
288
- ( ParseState :: HaveQuery ( q, _) ,
286
+ ( ParseState :: HaveQuery ( q, _) ,
289
287
ProfileQueriesMsg :: ProviderEnd ) => {
290
288
panic ! ( "parse error: unexpected ProviderEnd; \
291
289
expected something else to follow BeginQuery for {:?}", q)
292
290
} ,
293
- ( ParseState :: HaveQuery ( q1, _) ,
294
- ProfileQueriesMsg :: QueryBegin ( span2, querymsg2) ) => {
291
+ ( ParseState :: HaveQuery ( q1, _) ,
292
+ ProfileQueriesMsg :: QueryBegin ( span2, querymsg2) ) => {
295
293
panic ! ( "parse error: unexpected QueryBegin; \
296
294
earlier query is unfinished: {:?} and now {:?}",
297
- q1, Query { span: span2, msg: querymsg2} )
295
+ q1, Query { span: span2, msg: querymsg2} )
298
296
} ,
299
-
300
297
( ParseState :: HaveTimeBegin ( _, _) , _) => {
301
298
unreachable ! ( )
302
299
} ,
0 commit comments