Skip to content

Commit 826cda6

Browse files
committed
profiler: improve readability
1 parent 1b549eb commit 826cda6

File tree

1 file changed

+56
-59
lines changed
  • src/librustc_driver/profile

1 file changed

+56
-59
lines changed

src/librustc_driver/profile/mod.rs

+56-59
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)