Let the ".ninja parse" metric include the time to read the toplevel ninja file.
authorNico Weber <thakis@chromium.org>
Thu, 11 Jul 2013 00:43:29 +0000 (17:43 -0700)
committerNico Weber <thakis@chromium.org>
Thu, 11 Jul 2013 00:43:29 +0000 (17:43 -0700)
Loads of included ninja files were covered by the ".ninja parse" in Parse()
further up the stack from the toplevel file, but the load of the toplevel
file wasn't counted. Fix that.

src/manifest_parser.cc

index 88c16ab9bb7880ecd6a1b99a07beb2e8adb488e8..f5e7eac2ef43b142485c0c716bc49cd5167731c3 100644 (file)
@@ -30,6 +30,7 @@ ManifestParser::ManifestParser(State* state, FileReader* file_reader)
 }
 
 bool ManifestParser::Load(const string& filename, string* err) {
+  METRIC_RECORD(".ninja parse");
   string contents;
   string read_err;
   if (!file_reader_->ReadFile(filename, &contents, &read_err)) {
@@ -41,7 +42,6 @@ bool ManifestParser::Load(const string& filename, string* err) {
 
 bool ManifestParser::Parse(const string& filename, const string& input,
                            string* err) {
-  METRIC_RECORD(".ninja parse");
   lexer_.Start(filename, input);
 
   for (;;) {