@@ -91,50 +91,48 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
9191 ProfileQueriesMsg :: Dump ( params) => {
9292 assert ! ( stack. is_empty( ) ) ;
9393 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- }
10394
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+ }
107103
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 ( ) ;
110107
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 ( ) ;
119110
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 ( ) ;
123119
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 ( ) ;
128126 }
129127 // Actual query message:
130128 msg => {
131129 // Record msg in our log
132130 profq_msgs. push ( msg. clone ( ) ) ;
133131 // Respond to the message, knowing that we've already handled Halt and Dump, above.
134132 match ( frame. parse_st . clone ( ) , msg) {
135- ( _, ProfileQueriesMsg :: Halt ) => unreachable ! ( ) ,
136- ( _ , ProfileQueriesMsg :: Dump ( _ ) ) => unreachable ! ( ) ,
137-
133+ ( _, ProfileQueriesMsg :: Halt ) | ( _ , ProfileQueriesMsg :: Dump ( _ ) ) => {
134+ unreachable ! ( ) ;
135+ } ,
138136 // Parse State: Clear
139137 ( ParseState :: Clear ,
140138 ProfileQueriesMsg :: QueryBegin ( span, querymsg) ) => {
@@ -161,8 +159,8 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
161159 ParseState :: HaveQuery ( q, start) => {
162160 let duration = start. elapsed ( ) ;
163161 frame = StackFrame {
164- parse_st : ParseState :: Clear ,
165- traces : old_frame. traces
162+ parse_st : ParseState :: Clear ,
163+ traces : old_frame. traces
166164 } ;
167165 let dur_extent = total_duration ( & provider_extent) ;
168166 let trace = Rec {
@@ -179,18 +177,16 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
179177 }
180178 }
181179 } ,
182-
183-
184180 ( ParseState :: Clear ,
185181 ProfileQueriesMsg :: TimeBegin ( msg) ) => {
186182 let start = Instant :: now ( ) ;
187183 frame. parse_st = ParseState :: HaveTimeBegin ( msg, start) ;
188184 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" ) ;
190189 } ,
191- ( _, ProfileQueriesMsg :: TimeBegin ( _) ) =>
192- panic ! ( "parse error; did not expect time begin here" ) ,
193-
194190 ( ParseState :: Clear ,
195191 ProfileQueriesMsg :: TimeEnd ) => {
196192 let provider_extent = frame. traces ;
@@ -202,8 +198,8 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
202198 ParseState :: HaveTimeBegin ( msg, start) => {
203199 let duration = start. elapsed ( ) ;
204200 frame = StackFrame {
205- parse_st : ParseState :: Clear ,
206- traces : old_frame. traces
201+ parse_st : ParseState :: Clear ,
202+ traces : old_frame. traces
207203 } ;
208204 let dur_extent = total_duration ( & provider_extent) ;
209205 let trace = Rec {
@@ -220,18 +216,19 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
220216 }
221217 }
222218 } ,
223- ( _, ProfileQueriesMsg :: TimeEnd ) => { panic ! ( "parse error" ) }
224-
219+ ( _, ProfileQueriesMsg :: TimeEnd ) => {
220+ panic ! ( "parse error" )
221+ } ,
225222 ( ParseState :: Clear ,
226223 ProfileQueriesMsg :: TaskBegin ( key) ) => {
227224 let start = Instant :: now ( ) ;
228225 frame. parse_st = ParseState :: HaveTaskBegin ( key, start) ;
229226 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" ) ;
231231 } ,
232- ( _, ProfileQueriesMsg :: TaskBegin ( _) ) =>
233- panic ! ( "parse error; did not expect time begin here" ) ,
234-
235232 ( ParseState :: Clear ,
236233 ProfileQueriesMsg :: TaskEnd ) => {
237234 let provider_extent = frame. traces ;
@@ -243,8 +240,8 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
243240 ParseState :: HaveTaskBegin ( key, start) => {
244241 let duration = start. elapsed ( ) ;
245242 frame = StackFrame {
246- parse_st : ParseState :: Clear ,
247- traces : old_frame. traces
243+ parse_st : ParseState :: Clear ,
244+ traces : old_frame. traces
248245 } ;
249246 let dur_extent = total_duration ( & provider_extent) ;
250247 let trace = Rec {
@@ -261,8 +258,9 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
261258 }
262259 }
263260 } ,
264- ( _, ProfileQueriesMsg :: TaskEnd ) => { panic ! ( "parse error" ) }
265-
261+ ( _, ProfileQueriesMsg :: TaskEnd ) => {
262+ panic ! ( "parse error" )
263+ } ,
266264 // Parse State: HaveQuery
267265 ( ParseState :: HaveQuery ( q, start) ,
268266 ProfileQueriesMsg :: CacheHit ) => {
@@ -277,26 +275,25 @@ fn profile_queries_thread(r: Receiver<ProfileQueriesMsg>) {
277275 frame. traces . push ( trace ) ;
278276 frame. parse_st = ParseState :: Clear ;
279277 } ,
280- ( ParseState :: HaveQuery ( _, _) ,
278+ ( ParseState :: HaveQuery ( _, _) ,
281279 ProfileQueriesMsg :: ProviderBegin ) => {
282280 stack. push ( frame) ;
283- frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
281+ frame = StackFrame { parse_st : ParseState :: Clear , traces : vec ! [ ] } ;
284282 } ,
285283
286284 // Parse errors:
287285
288- ( ParseState :: HaveQuery ( q, _) ,
286+ ( ParseState :: HaveQuery ( q, _) ,
289287 ProfileQueriesMsg :: ProviderEnd ) => {
290288 panic ! ( "parse error: unexpected ProviderEnd; \
291289 expected something else to follow BeginQuery for {:?}", q)
292290 } ,
293- ( ParseState :: HaveQuery ( q1, _) ,
294- ProfileQueriesMsg :: QueryBegin ( span2, querymsg2) ) => {
291+ ( ParseState :: HaveQuery ( q1, _) ,
292+ ProfileQueriesMsg :: QueryBegin ( span2, querymsg2) ) => {
295293 panic ! ( "parse error: unexpected QueryBegin; \
296294 earlier query is unfinished: {:?} and now {:?}",
297- q1, Query { span: span2, msg: querymsg2} )
295+ q1, Query { span: span2, msg: querymsg2} )
298296 } ,
299-
300297 ( ParseState :: HaveTimeBegin ( _, _) , _) => {
301298 unreachable ! ( )
302299 } ,
0 commit comments