Home | History | Annotate | Download | only in test

Lines Matching refs:Query

176 QueryNode::QueryNode(const Query& query) : query_(query) {
182 // Query
184 Query::Query(TraceEventMember member)
192 Query::Query(TraceEventMember member, const std::string& arg_name)
201 Query::Query(const Query& query)
202 : type_(query.type_),
203 operator_(query.operator_),
204 left_(query.left_),
205 right_(query.right_),
206 member_(query.member_),
207 number_(query.number_),
208 string_(query.string_),
209 is_pattern_(query.is_pattern_) {
212 Query::~Query() {
215 Query Query::String(const std::string& str) {
216 return Query(str);
219 Query Query::Double(double num) {
220 return Query(num);
223 Query Query::Int(int32_t num) {
224 return Query(static_cast<double>(num));
227 Query Query::Uint(uint32_t num) {
228 return Query(static_cast<double>(num));
231 Query Query::Bool(bool boolean) {
232 return Query(boolean ? 1.0 : 0.0);
235 Query Query::Phase(char phase) {
236 return Query(static_cast<double>(phase));
239 Query Query::Pattern(const std::string& pattern) {
240 Query query(pattern);
241 query.is_pattern_ = true;
242 return query;
245 bool Query::Evaluate(const TraceEvent& event) const {
261 << "Invalid query: missing boolean expression";
267 << "Invalid query: comparison operator used between event member and "
290 bool Query::CompareAsDouble(const TraceEvent& event, bool* result) const {
319 bool Query::CompareAsString(const TraceEvent& event, bool* result) const {
358 bool Query::EvaluateArithmeticOperator(const TraceEvent& event,
396 bool Query::GetAsDouble(const TraceEvent& event, double* num) const {
410 bool Query::GetAsString(const TraceEvent& event, std::string* str) const {
422 bool Query::GetMemberValueAsDouble(const TraceEvent& event,
489 bool Query::GetMemberValueAsString(const TraceEvent& event,
530 Query::Query(const std::string& str)
539 Query::Query(double num)
546 const Query& Query::left() const {
547 return left_->query();
550 const Query& Query::right() const {
551 return right_->query();
554 Query Query::operator==(const Query& rhs) const {
555 return Query(*this, rhs, OP_EQ);
558 Query Query::operator!=(const Query& rhs) const {
559 return Query(*this, rhs, OP_NE);
562 Query Query::operator<(const Query& rhs) const {
563 return Query(*this, rhs, OP_LT);
566 Query Query::operator<=(const Query& rhs) const {
567 return Query(*this, rhs, OP_LE);
570 Query Query::operator>(const Query& rhs) const {
571 return Query(*this, rhs, OP_GT);
574 Query Query::operator>=(const Query& rhs) const {
575 return Query(*this, rhs, OP_GE);
578 Query Query::operator&&(const Query& rhs) const {
579 return Query(*this, rhs, OP_AND);
582 Query Query::operator||(const Query& rhs) const {
583 return Query(*this, rhs, OP_OR);
586 Query Query::operator!() const {
587 return Query(*this, OP_NOT);
590 Query Query::operator+(const Query& rhs) const {
591 return Query(*this, rhs, OP_ADD);
594 Query Query::operator-(const Query& rhs) const {
595 return Query(*this, rhs, OP_SUB);
598 Query Query::operator*(const Query& rhs) const {
599 return Query(*this, rhs, OP_MUL);
602 Query Query::operator/(const Query& rhs) const {
603 return Query(*this, rhs, OP_DIV);
606 Query Query::operator%(const Query& rhs) const {
607 return Query(*this, rhs, OP_MOD);
610 Query Query::operator-() const {
611 return Query(*this, OP_NEGATE);
615 Query::Query(const Query& left, const Query& right, Operator binary_op)
625 Query::Query(const Query& left, Operator unary_op)
636 // Search |events| for |query| and add matches to |output|.
638 const Query& query,
644 if (query.Evaluate(events[i]))
701 using trace_analyzer::Query;
703 Query begin(Query::EventPhaseIs(TRACE_EVENT_PHASE_BEGIN));
704 Query end(Query::EventPhaseIs(TRACE_EVENT_PHASE_END));
705 Query match(Query::EventName() == Query::OtherName() &&
706 Query::EventCategory() == Query::OtherCategory() &&
707 Query::EventTid() == Query::OtherTid() &&
708 Query::EventPid() == Query::OtherPid());
714 using trace_analyzer::Query;
716 Query begin(
717 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_BEGIN) ||
718 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_INTO) ||
719 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_PAST));
720 Query end(Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_END) ||
721 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_INTO) ||
722 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_PAST));
723 Query match(Query::EventName() == Query::OtherName() &&
724 Query::EventCategory() == Query::OtherCategory() &&
725 Query::EventId() == Query::OtherId());
730 void TraceAnalyzer::AssociateEvents(const Query& first,
731 const Query& second,
732 const Query& match) {
750 // Temporarily set other to test against the match query.
793 size_t TraceAnalyzer::FindEvents(const Query& query, TraceEventVector* output) {
797 raw_events_, query, output, ignore_metadata_events_);
800 const TraceEvent* TraceAnalyzer::FindFirstOf(const Query& query) {
802 if (FindEvents(query, &output) > 0)
807 const TraceEvent* TraceAnalyzer::FindLastOf(const Query& query) {
809 if (FindEvents(query, &output) > 0)
890 const Query& query,
895 if (query.Evaluate(*events[i])) {
904 const Query& query,
909 if (query.Evaluate(*events[i - 1])) {
918 const Query& query,
928 if (!query.Evaluate(*events.at(i)))
955 const Query& query,
963 if (query.Evaluate(*events.at(i)))