Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(290)

Unified Diff: tools/gn/trace.cc

Issue 216903004: Add optional public header checking to GN build (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: unit test Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/gn/trace.h ('k') | tools/gn/variables.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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()) {
« no previous file with comments | « tools/gn/trace.h ('k') | tools/gn/variables.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698