| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "tools/gn/trace.h" | 5 #include "tools/gn/trace.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 AddTrace(item_); | 163 AddTrace(item_); |
| 164 } | 164 } |
| 165 } | 165 } |
| 166 } | 166 } |
| 167 | 167 |
| 168 void EnableTracing() { | 168 void EnableTracing() { |
| 169 if (!trace_log) | 169 if (!trace_log) |
| 170 trace_log = new TraceLog; | 170 trace_log = new TraceLog; |
| 171 } | 171 } |
| 172 | 172 |
| 173 bool TracingEnabled() { |
| 174 return !!trace_log; |
| 175 } |
| 176 |
| 173 void AddTrace(TraceItem* item) { | 177 void AddTrace(TraceItem* item) { |
| 174 trace_log->Add(item); | 178 trace_log->Add(item); |
| 175 } | 179 } |
| 176 | 180 |
| 177 std::string SummarizeTraces() { | 181 std::string SummarizeTraces() { |
| 178 if (!trace_log) | 182 if (!trace_log) |
| 179 return std::string(); | 183 return std::string(); |
| 180 | 184 |
| 181 std::vector<TraceItem*> events = trace_log->events(); | 185 std::vector<TraceItem*> events = trace_log->events(); |
| 182 | 186 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 196 break; | 200 break; |
| 197 case TraceItem::TRACE_SCRIPT_EXECUTE: | 201 case TraceItem::TRACE_SCRIPT_EXECUTE: |
| 198 script_execs.push_back(event); | 202 script_execs.push_back(event); |
| 199 break; | 203 break; |
| 200 case TraceItem::TRACE_CHECK_HEADERS: | 204 case TraceItem::TRACE_CHECK_HEADERS: |
| 201 check_headers.push_back(event); | 205 check_headers.push_back(event); |
| 202 break; | 206 break; |
| 203 case TraceItem::TRACE_CHECK_HEADER: | 207 case TraceItem::TRACE_CHECK_HEADER: |
| 204 headers_checked++; | 208 headers_checked++; |
| 205 break; | 209 break; |
| 210 case TraceItem::TRACE_IMPORT_LOAD: |
| 211 case TraceItem::TRACE_IMPORT_BLOCK: |
| 206 case TraceItem::TRACE_SETUP: | 212 case TraceItem::TRACE_SETUP: |
| 207 case TraceItem::TRACE_FILE_LOAD: | 213 case TraceItem::TRACE_FILE_LOAD: |
| 208 case TraceItem::TRACE_FILE_WRITE: | 214 case TraceItem::TRACE_FILE_WRITE: |
| 209 case TraceItem::TRACE_DEFINE_TARGET: | 215 case TraceItem::TRACE_DEFINE_TARGET: |
| 210 case TraceItem::TRACE_ON_RESOLVED: | 216 case TraceItem::TRACE_ON_RESOLVED: |
| 211 break; // Ignore these for the summary. | 217 break; // Ignore these for the summary. |
| 212 } | 218 } |
| 213 } | 219 } |
| 214 | 220 |
| 215 std::ostringstream out; | 221 std::ostringstream out; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 break; | 280 break; |
| 275 case TraceItem::TRACE_FILE_PARSE: | 281 case TraceItem::TRACE_FILE_PARSE: |
| 276 out << "\"parse\""; | 282 out << "\"parse\""; |
| 277 break; | 283 break; |
| 278 case TraceItem::TRACE_FILE_EXECUTE: | 284 case TraceItem::TRACE_FILE_EXECUTE: |
| 279 out << "\"file_exec\""; | 285 out << "\"file_exec\""; |
| 280 break; | 286 break; |
| 281 case TraceItem::TRACE_FILE_WRITE: | 287 case TraceItem::TRACE_FILE_WRITE: |
| 282 out << "\"file_write\""; | 288 out << "\"file_write\""; |
| 283 break; | 289 break; |
| 290 case TraceItem::TRACE_IMPORT_LOAD: |
| 291 out << "\"import_load\""; |
| 292 break; |
| 293 case TraceItem::TRACE_IMPORT_BLOCK: |
| 294 out << "\"import_block\""; |
| 295 break; |
| 284 case TraceItem::TRACE_SCRIPT_EXECUTE: | 296 case TraceItem::TRACE_SCRIPT_EXECUTE: |
| 285 out << "\"script_exec\""; | 297 out << "\"script_exec\""; |
| 286 break; | 298 break; |
| 287 case TraceItem::TRACE_DEFINE_TARGET: | 299 case TraceItem::TRACE_DEFINE_TARGET: |
| 288 out << "\"define\""; | 300 out << "\"define\""; |
| 289 break; | 301 break; |
| 290 case TraceItem::TRACE_ON_RESOLVED: | 302 case TraceItem::TRACE_ON_RESOLVED: |
| 291 out << "\"onresolved\""; | 303 out << "\"onresolved\""; |
| 292 break; | 304 break; |
| 293 case TraceItem::TRACE_CHECK_HEADER: | 305 case TraceItem::TRACE_CHECK_HEADER: |
| (...skipping 25 matching lines...) Expand all Loading... |
| 319 } | 331 } |
| 320 out << "}"; | 332 out << "}"; |
| 321 } | 333 } |
| 322 | 334 |
| 323 out << "]}"; | 335 out << "]}"; |
| 324 | 336 |
| 325 std::string out_str = out.str(); | 337 std::string out_str = out.str(); |
| 326 base::WriteFile(file_name, out_str.data(), | 338 base::WriteFile(file_name, out_str.data(), |
| 327 static_cast<int>(out_str.size())); | 339 static_cast<int>(out_str.size())); |
| 328 } | 340 } |
| OLD | NEW |