• Home
  • Raw
  • Download

Lines Matching full:query

293 QueryNode::QueryNode(const Query& query) : query_(query) {  in QueryNode()  argument
298 // Query
300 Query::Query(TraceEventMember member) in Query() function in trace_analyzer::Query
308 Query::Query(TraceEventMember member, const std::string& arg_name) in Query() function in trace_analyzer::Query
317 Query::Query(const Query& query) = default;
319 Query::~Query() = default;
321 Query Query::String(const std::string& str) { in String()
322 return Query(str); in String()
325 Query Query::Double(double num) { in Double()
326 return Query(num); in Double()
329 Query Query::Int(int32_t num) { in Int()
330 return Query(static_cast<double>(num)); in Int()
333 Query Query::Uint(uint32_t num) { in Uint()
334 return Query(static_cast<double>(num)); in Uint()
337 Query Query::Bool(bool boolean) { in Bool()
338 return Query(boolean ? 1.0 : 0.0); in Bool()
341 Query Query::Phase(char phase) { in Phase()
342 return Query(static_cast<double>(phase)); in Phase()
345 Query Query::Pattern(const std::string& pattern) { in Pattern()
346 Query query(pattern); in Pattern() local
347 query.is_pattern_ = true; in Pattern()
348 return query; in Pattern()
351 bool Query::Evaluate(const TraceEvent& event) const { in Evaluate()
367 << "Invalid query: missing boolean expression"; in Evaluate()
373 << "Invalid query: comparison operator used between event member and " in Evaluate()
395 bool Query::CompareAsDouble(const TraceEvent& event, bool* result) const { in CompareAsDouble()
423 bool Query::CompareAsString(const TraceEvent& event, bool* result) const { in CompareAsString()
461 bool Query::EvaluateArithmeticOperator(const TraceEvent& event, in EvaluateArithmeticOperator()
498 bool Query::GetAsDouble(const TraceEvent& event, double* num) const { in GetAsDouble()
512 bool Query::GetAsString(const TraceEvent& event, std::string* str) const { in GetAsString()
524 const TraceEvent* Query::SelectTargetEvent(const TraceEvent* event, in SelectTargetEvent()
533 bool Query::GetMemberValueAsDouble(const TraceEvent& event, in GetMemberValueAsDouble()
608 bool Query::GetMemberValueAsString(const TraceEvent& event, in GetMemberValueAsString()
651 Query::Query(const std::string& str) in Query() function in trace_analyzer::Query
660 Query::Query(double num) in Query() function in trace_analyzer::Query
667 const Query& Query::left() const { in left()
668 return left_->query(); in left()
671 const Query& Query::right() const { in right()
672 return right_->query(); in right()
675 Query Query::operator==(const Query& rhs) const { in operator ==()
676 return Query(*this, rhs, OP_EQ); in operator ==()
679 Query Query::operator!=(const Query& rhs) const { in operator !=()
680 return Query(*this, rhs, OP_NE); in operator !=()
683 Query Query::operator<(const Query& rhs) const { in operator <()
684 return Query(*this, rhs, OP_LT); in operator <()
687 Query Query::operator<=(const Query& rhs) const { in operator <=()
688 return Query(*this, rhs, OP_LE); in operator <=()
691 Query Query::operator>(const Query& rhs) const { in operator >()
692 return Query(*this, rhs, OP_GT); in operator >()
695 Query Query::operator>=(const Query& rhs) const { in operator >=()
696 return Query(*this, rhs, OP_GE); in operator >=()
699 Query Query::operator&&(const Query& rhs) const { in operator &&()
700 return Query(*this, rhs, OP_AND); in operator &&()
703 Query Query::operator||(const Query& rhs) const { in operator ||()
704 return Query(*this, rhs, OP_OR); in operator ||()
707 Query Query::operator!() const { in operator !()
708 return Query(*this, OP_NOT); in operator !()
711 Query Query::operator+(const Query& rhs) const { in operator +()
712 return Query(*this, rhs, OP_ADD); in operator +()
715 Query Query::operator-(const Query& rhs) const { in operator -()
716 return Query(*this, rhs, OP_SUB); in operator -()
719 Query Query::operator*(const Query& rhs) const { in operator *()
720 return Query(*this, rhs, OP_MUL); in operator *()
723 Query Query::operator/(const Query& rhs) const { in operator /()
724 return Query(*this, rhs, OP_DIV); in operator /()
727 Query Query::operator%(const Query& rhs) const { in operator %()
728 return Query(*this, rhs, OP_MOD); in operator %()
731 Query Query::operator-() const { in operator -()
732 return Query(*this, OP_NEGATE); in operator -()
736 Query::Query(const Query& left, const Query& right, Operator binary_op) in Query() function in trace_analyzer::Query
746 Query::Query(const Query& left, Operator unary_op) in Query() function in trace_analyzer::Query
757 // Search |events| for |query| and add matches to |output|.
759 const Query& query, in FindMatchingEvents() argument
765 if (query.Evaluate(i)) in FindMatchingEvents()
825 using trace_analyzer::Query; in AssociateBeginEndEvents()
827 Query begin(Query::EventPhaseIs(TRACE_EVENT_PHASE_BEGIN)); in AssociateBeginEndEvents()
828 Query end(Query::EventPhaseIs(TRACE_EVENT_PHASE_END)); in AssociateBeginEndEvents()
829 Query match(Query::EventName() == Query::OtherName() && in AssociateBeginEndEvents()
830 Query::EventCategory() == Query::OtherCategory() && in AssociateBeginEndEvents()
831 Query::EventTid() == Query::OtherTid() && in AssociateBeginEndEvents()
832 Query::EventPid() == Query::OtherPid()); in AssociateBeginEndEvents()
838 using trace_analyzer::Query; in AssociateAsyncBeginEndEvents()
840 Query begin(Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_BEGIN) || in AssociateAsyncBeginEndEvents()
841 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_INTO) || in AssociateAsyncBeginEndEvents()
842 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_PAST) || in AssociateAsyncBeginEndEvents()
843 Query::EventPhaseIs(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN)); in AssociateAsyncBeginEndEvents()
844 Query end(Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_END) || in AssociateAsyncBeginEndEvents()
845 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_INTO) || in AssociateAsyncBeginEndEvents()
846 Query::EventPhaseIs(TRACE_EVENT_PHASE_ASYNC_STEP_PAST) || in AssociateAsyncBeginEndEvents()
847 Query::EventPhaseIs(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END)); in AssociateAsyncBeginEndEvents()
848 Query match(Query::EventCategory() == Query::OtherCategory() && in AssociateAsyncBeginEndEvents()
849 Query::EventId() == Query::OtherId()); in AssociateAsyncBeginEndEvents()
852 match = match && Query::EventPid() == Query::OtherPid(); in AssociateAsyncBeginEndEvents()
858 void TraceAnalyzer::AssociateEvents(const Query& first, in AssociateEvents()
859 const Query& second, in AssociateEvents()
860 const Query& match) { in AssociateEvents()
874 // Temporarily set other to test against the match query. in AssociateEvents()
917 size_t TraceAnalyzer::FindEvents(const Query& query, TraceEventVector* output) { in FindEvents() argument
921 raw_events_, query, output, ignore_metadata_events_); in FindEvents()
924 const TraceEvent* TraceAnalyzer::FindFirstOf(const Query& query) { in FindFirstOf() argument
926 if (FindEvents(query, &output) > 0) in FindFirstOf()
931 const TraceEvent* TraceAnalyzer::FindLastOf(const Query& query) { in FindLastOf() argument
933 if (FindEvents(query, &output) > 0) in FindLastOf()
1041 const Query& query, in FindFirstOf() argument
1046 if (query.Evaluate(*events[i])) { in FindFirstOf()
1055 const Query& query, in FindLastOf() argument
1060 if (query.Evaluate(*events[i - 1])) { in FindLastOf()
1069 const Query& query, in FindClosest() argument
1079 if (!query.Evaluate(*events.at(i))) in FindClosest()
1106 const Query& query, in CountMatches() argument
1114 if (query.Evaluate(*events.at(i))) in CountMatches()