| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/test/trace_event_analyzer.h" | 5 #include "base/test/trace_event_analyzer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <math.h> | 8 #include <math.h> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| 11 #include "base/json/json_reader.h" | 11 #include "base/json/json_reader.h" |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/strings/pattern.h" |
| 13 #include "base/values.h" | 14 #include "base/values.h" |
| 14 | 15 |
| 15 namespace trace_analyzer { | 16 namespace trace_analyzer { |
| 16 | 17 |
| 17 // TraceEvent | 18 // TraceEvent |
| 18 | 19 |
| 19 TraceEvent::TraceEvent() | 20 TraceEvent::TraceEvent() |
| 20 : thread(0, 0), | 21 : thread(0, 0), |
| 21 timestamp(0), | 22 timestamp(0), |
| 22 duration(0), | 23 duration(0), |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 } | 315 } |
| 315 } | 316 } |
| 316 | 317 |
| 317 bool Query::CompareAsString(const TraceEvent& event, bool* result) const { | 318 bool Query::CompareAsString(const TraceEvent& event, bool* result) const { |
| 318 std::string lhs, rhs; | 319 std::string lhs, rhs; |
| 319 if (!left().GetAsString(event, &lhs) || !right().GetAsString(event, &rhs)) | 320 if (!left().GetAsString(event, &lhs) || !right().GetAsString(event, &rhs)) |
| 320 return false; | 321 return false; |
| 321 switch (operator_) { | 322 switch (operator_) { |
| 322 case OP_EQ: | 323 case OP_EQ: |
| 323 if (right().is_pattern_) | 324 if (right().is_pattern_) |
| 324 *result = MatchPattern(lhs, rhs); | 325 *result = base::MatchPattern(lhs, rhs); |
| 325 else if (left().is_pattern_) | 326 else if (left().is_pattern_) |
| 326 *result = MatchPattern(rhs, lhs); | 327 *result = base::MatchPattern(rhs, lhs); |
| 327 else | 328 else |
| 328 *result = (lhs == rhs); | 329 *result = (lhs == rhs); |
| 329 return true; | 330 return true; |
| 330 case OP_NE: | 331 case OP_NE: |
| 331 if (right().is_pattern_) | 332 if (right().is_pattern_) |
| 332 *result = !MatchPattern(lhs, rhs); | 333 *result = !base::MatchPattern(lhs, rhs); |
| 333 else if (left().is_pattern_) | 334 else if (left().is_pattern_) |
| 334 *result = !MatchPattern(rhs, lhs); | 335 *result = !base::MatchPattern(rhs, lhs); |
| 335 else | 336 else |
| 336 *result = (lhs != rhs); | 337 *result = (lhs != rhs); |
| 337 return true; | 338 return true; |
| 338 case OP_LT: | 339 case OP_LT: |
| 339 *result = (lhs < rhs); | 340 *result = (lhs < rhs); |
| 340 return true; | 341 return true; |
| 341 case OP_LE: | 342 case OP_LE: |
| 342 *result = (lhs <= rhs); | 343 *result = (lhs <= rhs); |
| 343 return true; | 344 return true; |
| 344 case OP_GT: | 345 case OP_GT: |
| (...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 959 end_position = (end_position < events.size()) ? end_position : events.size(); | 960 end_position = (end_position < events.size()) ? end_position : events.size(); |
| 960 size_t count = 0u; | 961 size_t count = 0u; |
| 961 for (size_t i = begin_position; i < end_position; ++i) { | 962 for (size_t i = begin_position; i < end_position; ++i) { |
| 962 if (query.Evaluate(*events.at(i))) | 963 if (query.Evaluate(*events.at(i))) |
| 963 ++count; | 964 ++count; |
| 964 } | 965 } |
| 965 return count; | 966 return count; |
| 966 } | 967 } |
| 967 | 968 |
| 968 } // namespace trace_analyzer | 969 } // namespace trace_analyzer |
| OLD | NEW |