@@ -29,41 +29,40 @@ impl flags::Metrics {
29
29
30
30
let _env = sh. push_env ( "RA_METRICS" , "1" ) ;
31
31
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
+ }
55
54
None => {
56
55
metrics. measure_build ( sh) ?;
57
56
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"
62
61
}
63
62
} ;
64
63
65
64
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 ) ) ?;
67
66
writeln ! ( file, "{}" , metrics. json( ) ) ?;
68
67
eprintln ! ( "{metrics:#?}" ) ;
69
68
Ok ( ( ) )
0 commit comments