| Index: tools/gn/trace.cc
|
| diff --git a/tools/gn/trace.cc b/tools/gn/trace.cc
|
| index a2f34a32d6624d3d4666823568fd4145d4b65f0b..acd735df365cef7707c9cf18c3efc6e29d5d1328 100644
|
| --- a/tools/gn/trace.cc
|
| +++ b/tools/gn/trace.cc
|
| @@ -185,6 +185,8 @@ std::string SummarizeTraces() {
|
| std::vector<const TraceItem*> parses;
|
| std::vector<const TraceItem*> file_execs;
|
| std::vector<const TraceItem*> script_execs;
|
| + std::vector<const TraceItem*> check_headers;
|
| + int headers_checked = 0;
|
| for (size_t i = 0; i < events.size(); i++) {
|
| switch (events[i]->type()) {
|
| case TraceItem::TRACE_FILE_PARSE:
|
| @@ -196,6 +198,12 @@ std::string SummarizeTraces() {
|
| case TraceItem::TRACE_SCRIPT_EXECUTE:
|
| script_execs.push_back(events[i]);
|
| break;
|
| + case TraceItem::TRACE_CHECK_HEADERS:
|
| + check_headers.push_back(events[i]);
|
| + break;
|
| + case TraceItem::TRACE_CHECK_HEADER:
|
| + headers_checked++;
|
| + break;
|
| case TraceItem::TRACE_FILE_LOAD:
|
| case TraceItem::TRACE_FILE_WRITE:
|
| case TraceItem::TRACE_DEFINE_TARGET:
|
| @@ -211,6 +219,19 @@ std::string SummarizeTraces() {
|
| SummarizeScriptExecs(script_execs, out);
|
| out << std::endl;
|
|
|
| + // Generally there will only be one header check, but it's theoretically
|
| + // possible for more than one to run if more than one build is going in
|
| + // parallel. Just report the total of all of them.
|
| + if (!check_headers.empty()) {
|
| + float check_headers_time = 0;
|
| + for (size_t i = 0; i < check_headers.size(); i++)
|
| + check_headers_time += check_headers[i]->delta().InMillisecondsF();
|
| +
|
| + out << "Header check time: (total time in ms, files checked)\n";
|
| + out << base::StringPrintf(" %8.2f %d\n",
|
| + check_headers_time, headers_checked);
|
| + }
|
| +
|
| return out.str();
|
| }
|
|
|
| @@ -261,6 +282,13 @@ void SaveTraces(const base::FilePath& file_name) {
|
| break;
|
| case TraceItem::TRACE_DEFINE_TARGET:
|
| out << "\"define\"";
|
| + break;
|
| + case TraceItem::TRACE_CHECK_HEADER:
|
| + out << "\"hdr\"";
|
| + break;
|
| + case TraceItem::TRACE_CHECK_HEADERS:
|
| + out << "\"header_check\"";
|
| + break;
|
| }
|
|
|
| if (!item.toolchain().empty() || !item.cmdline().empty()) {
|
|
|