@@ -29,41 +29,40 @@ impl flags::Metrics {
2929
3030 let _env = sh. push_env ( "RA_METRICS" , "1" ) ;
3131
32- let filename = match self . measurement_type {
33- Some ( ms) => match ms {
34- MeasurementType :: Build => {
35- metrics. measure_build ( sh) ?;
36- "build.json"
37- }
38- MeasurementType :: AnalyzeSelf => {
39- metrics. measure_analysis_stats_self ( sh) ?;
40- "self.json"
41- }
42- MeasurementType :: AnalyzeRipgrep => {
43- metrics. measure_analysis_stats ( sh, "ripgrep-13.0.0" ) ?;
44- "ripgrep-13.0.0.json"
45- }
46- MeasurementType :: AnalyzeWebRender => {
47- metrics. measure_analysis_stats ( sh, "webrender-2022" ) ?;
48- "webrender-2022.json"
49- }
50- MeasurementType :: AnalyzeDiesel => {
51- metrics. measure_analysis_stats ( sh, "diesel-1.4.8" ) ?;
52- "diesel-1.4.8.json"
53- }
54- } ,
32+ let name = match & self . measurement_type {
33+ Some ( ms) => {
34+ let name = ms. as_ref ( ) ;
35+ match ms {
36+ MeasurementType :: Build => {
37+ metrics. measure_build ( sh) ?;
38+ }
39+ MeasurementType :: AnalyzeSelf => {
40+ metrics. measure_analysis_stats_self ( sh) ?;
41+ }
42+ MeasurementType :: AnalyzeRipgrep => {
43+ metrics. measure_analysis_stats ( sh, name) ?;
44+ }
45+ MeasurementType :: AnalyzeWebRender => {
46+ metrics. measure_analysis_stats ( sh, name) ?;
47+ }
48+ MeasurementType :: AnalyzeDiesel => {
49+ metrics. measure_analysis_stats ( sh, name) ?;
50+ }
51+ } ;
52+ name
53+ }
5554 None => {
5655 metrics. measure_build ( sh) ?;
5756 metrics. measure_analysis_stats_self ( sh) ?;
58- metrics. measure_analysis_stats ( sh, "ripgrep-13.0.0" ) ?;
59- metrics. measure_analysis_stats ( sh, "webrender-2022" ) ?;
60- metrics. measure_analysis_stats ( sh, "diesel-1.4.8" ) ?;
61- "all.json "
57+ metrics. measure_analysis_stats ( sh, MeasurementType :: AnalyzeRipgrep . as_ref ( ) ) ?;
58+ metrics. measure_analysis_stats ( sh, MeasurementType :: AnalyzeWebRender . as_ref ( ) ) ?;
59+ metrics. measure_analysis_stats ( sh, MeasurementType :: AnalyzeDiesel . as_ref ( ) ) ?;
60+ "all"
6261 }
6362 } ;
6463
6564 let mut file =
66- fs:: File :: options ( ) . write ( true ) . create ( true ) . open ( format ! ( "target/{}" , filename ) ) ?;
65+ fs:: File :: options ( ) . write ( true ) . create ( true ) . open ( format ! ( "target/{}.json " , name ) ) ?;
6766 writeln ! ( file, "{}" , metrics. json( ) ) ?;
6867 eprintln ! ( "{metrics:#?}" ) ;
6968 Ok ( ( ) )
0 commit comments