Lines Matching full:query
233 QueryNode::QueryNode(const Query& query) : query_(query) { in QueryNode() argument
238 // Query
240 Query::Query(TraceEventMember member) in Query() function in trace_analyzer::Query
248 Query::Query(TraceEventMember member, const std::string& arg_name) in Query() function in trace_analyzer::Query
257 Query::Query(const Query& query) = default;
259 Query::~Query() = default;
261 Query Query::String(const std::string& str) { in String()
262 return Query(str); in String()
265 Query Query::Double(double num) { in Double()
266 return Query(num); in Double()
269 Query Query::Int(int32_t num) { in Int()
270 return Query(static_cast<double>(num)); in Int()
273 Query Query::Uint(uint32_t num) { in Uint()
274 return Query(static_cast<double>(num)); in Uint()
277 Query Query::Bool(bool boolean) { in Bool()
278 return Query(boolean ? 1.0 : 0.0); in Bool()
281 Query Query::Phase(char phase) { in Phase()
282 return Query(static_cast<double>(phase)); in Phase()
285 Query Query::Pattern(const std::string& pattern) { in Pattern()
286 Query query(pattern); in Pattern() local
287 query.is_pattern_ = true; in Pattern()
288 return query; in Pattern()
291 bool Query::Evaluate(const TraceEvent& event) const { in Evaluate()
307 << "Invalid query: missing boolean expression"; in Evaluate()
313 << "Invalid query: comparison operator used between event member and " in Evaluate()
336 bool Query::CompareAsDouble(const TraceEvent& event, bool* result) const { in CompareAsDouble()
365 bool Query::CompareAsString(const TraceEvent& event, bool* result) const { in CompareAsString()
404 bool Query::EvaluateArithmeticOperator(const TraceEvent& event, in EvaluateArithmeticOperator()
442 bool Query::GetAsDouble(const TraceEvent& event, double* num) const { in GetAsDouble()
456 bool Query::GetAsString(const TraceEvent& event, std::string* str) const { in GetAsString()
468 const TraceEvent* Query::SelectTargetEvent(const TraceEvent* event, in SelectTargetEvent()
479 bool Query::GetMemberValueAsDouble(const TraceEvent& event, in GetMemberValueAsDouble()
555 bool Query::GetMemberValueAsString(const TraceEvent& event, in GetMemberValueAsString()
599 Query::Query(const std::string& str) in Query() function in trace_analyzer::Query
608 Query::Query(double num) in Query() function in trace_analyzer::Query
615 const Query& Query::left() const { in left()
616 return left_->query(); in left()
619 const Query& Query::right() const { in right()
620 return right_->query(); in right()
623 Query Query::operator==(const Query& rhs) const { in operator ==()
624 return Query(*this, rhs, OP_EQ); in operator ==()
627 Query Query::operator!=(const Query& rhs) const { in operator !=()
628 return Query(*this, rhs, OP_NE); in operator !=()
631 Query Query::operator<(const Query& rhs) const { in operator <()
632 return Query(*this, rhs, OP_LT); in operator <()
635 Query Query::operator<=(const Query& rhs) const { in operator <=()
636 return Query(*this, rhs, OP_LE); in operator <=()
639 Query Query::operator>(const Query& rhs) const { in operator >()
640 return Query(*this, rhs, OP_GT); in operator >()
643 Query Query::operator>=(const Query& rhs) const { in operator >=()
644 return Query(*this, rhs, OP_GE); in operator >=()
647 Query Query::operator&&(const Query& rhs) const { in operator &&()
648 return Query(*this, rhs, OP_AND); in operator &&()
651 Query Query::operator||(const Query& rhs) const { in operator ||()
652 return Query(*this, rhs, OP_OR); in operator ||()
655 Query Query::operator!() const { in operator !()
656 return Query(*this, OP_NOT); in operator !()
659 Query Query::operator+(const Query& rhs) const { in operator +()
660 return Query(*this, rhs, OP_ADD); in operator +()
663 Query Query::operator-(const Query& rhs) const { in operator -()
664 return Query(*this, rhs, OP_SUB); in operator -()
667 Query Query::operator*(const Query& rhs) const { in operator *()
668 return Query(*this, rhs, OP_MUL); in operator *()
671 Query Query::operator/(const Query& rhs) const { in operator /()
672 return Query(*this, rhs, OP_DIV); in operator /()
675 Query Query::operator%(const Query& rhs) const { in operator %()
676 return Query(*this, rhs, OP_MOD); in operator %()
679 Query Query::operator-() const { in operator -()
680 return Query(*this, OP_NEGATE); in operator -()
684 Query::Query(const Query& left, const Query& right, Operator binary_op) in Query() function in trace_analyzer::Query
694 Query::Query(const Query& left, Operator unary_op) in Query() function in trace_analyzer::Query
705 // Search |events| for |query| and add matches to |output|.
707 const Query& query, in FindMatchingEvents() argument
713 if (query.Evaluate(events[i])) in FindMatchingEvents()
768 using trace_analyzer::Query; in AssociateBeginEndEvents()
770 Query begin(Query::EventPhaseIs(TRACE_EVENT_PHASE_BEGIN)); in AssociateBeginEndEvents()
771 Query end(Query::EventPhaseIs(TRACE_EVENT_PHASE_END)); in AssociateBeginEndEvents()
772 Query match(Query::EventName() == Query::OtherName() && in AssociateBeginEndEvents()
773 Query::EventCategory() == Query::OtherCategory() && in AssociateBeginEndEvents()
774 Query::EventTid() == Query::OtherTid() && in AssociateBeginEndEvents()
775 Query::EventPid() == Query::OtherPid()); in AssociateBeginEndEvents()
781 using trace_analyzer::Query; in AssociateAsyncBeginEndEvents()
783 Query begin( in AssociateAsyncBeginEndEvents()
784 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_BEGIN) || in AssociateAsyncBeginEndEvents()
785 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_INTO) || in AssociateAsyncBeginEndEvents()
786 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_PAST)); in AssociateAsyncBeginEndEvents()
787 Query end(Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_END) || in AssociateAsyncBeginEndEvents()
788 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_INTO) || in AssociateAsyncBeginEndEvents()
789 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_PAST)); in AssociateAsyncBeginEndEvents()
790 Query match(Query::EventCategory() == Query::OtherCategory() && in AssociateAsyncBeginEndEvents()
791 Query::EventId() == Query::OtherId()); in AssociateAsyncBeginEndEvents()
794 match = match && Query::EventPid() == Query::OtherPid(); in AssociateAsyncBeginEndEvents()
800 void TraceAnalyzer::AssociateEvents(const Query& first, in AssociateEvents()
801 const Query& second, in AssociateEvents()
802 const Query& match) { in AssociateEvents()
820 // Temporarily set other to test against the match query. in AssociateEvents()
865 size_t TraceAnalyzer::FindEvents(const Query& query, TraceEventVector* output) { in FindEvents() argument
869 raw_events_, query, output, ignore_metadata_events_); in FindEvents()
872 const TraceEvent* TraceAnalyzer::FindFirstOf(const Query& query) { in FindFirstOf() argument
874 if (FindEvents(query, &output) > 0) in FindFirstOf()
879 const TraceEvent* TraceAnalyzer::FindLastOf(const Query& query) { in FindLastOf() argument
881 if (FindEvents(query, &output) > 0) in FindLastOf()
990 const Query& query, in FindFirstOf() argument
995 if (query.Evaluate(*events[i])) { in FindFirstOf()
1004 const Query& query, in FindLastOf() argument
1009 if (query.Evaluate(*events[i - 1])) { in FindLastOf()
1018 const Query& query, in FindClosest() argument
1028 if (!query.Evaluate(*events.at(i))) in FindClosest()
1055 const Query& query, in CountMatches() argument
1063 if (query.Evaluate(*events.at(i))) in CountMatches()