Loading cmds/statsd/src/guardrail/StatsdStats.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -478,6 +478,11 @@ void StatsdStats::noteBucketDropped(int64_t metricId) { getAtomMetricStats(metricId).bucketDropped++; } void StatsdStats::noteBucketUnknownCondition(int64_t metricId) { lock_guard<std::mutex> lock(mLock); getAtomMetricStats(metricId).bucketUnknownCondition++; } void StatsdStats::noteConditionChangeInNextBucket(int64_t metricId) { lock_guard<std::mutex> lock(mLock); getAtomMetricStats(metricId).conditionChangeInNextBucket++; Loading cmds/statsd/src/guardrail/StatsdStats.h +6 −0 Original line number Diff line number Diff line Loading @@ -408,6 +408,11 @@ public: */ void noteBucketBoundaryDelayNs(int64_t metricId, int64_t timeDelayNs); /** * Number of buckets with unknown condition. */ void noteBucketUnknownCondition(int64_t metricId); /** * Reset the historical stats. Including all stats in icebox, and the tracked stats about * metrics, matchers, and atoms. The active configs will be kept and StatsdStats will continue Loading Loading @@ -458,6 +463,7 @@ public: long bucketDropped = 0; int64_t minBucketBoundaryDelayNs = 0; int64_t maxBucketBoundaryDelayNs = 0; long bucketUnknownCondition = 0; } AtomMetricStats; private: Loading cmds/statsd/src/metrics/CountMetricProducer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -250,7 +250,7 @@ void CountMetricProducer::dropDataLocked(const int64_t dropTimeNs) { void CountMetricProducer::onConditionChangedLocked(const bool conditionMet, const int64_t eventTime) { VLOG("Metric %lld onConditionChanged", (long long)mMetricId); mCondition = conditionMet; mCondition = conditionMet ? ConditionState::kTrue : ConditionState::kFalse; } bool CountMetricProducer::hitGuardRailLocked(const MetricDimensionKey& newKey) { Loading cmds/statsd/src/metrics/DurationMetricProducer.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -433,7 +433,7 @@ void DurationMetricProducer::onSlicedConditionMayChangeLocked(bool overallCondit void DurationMetricProducer::onConditionChangedLocked(const bool conditionMet, const int64_t eventTime) { VLOG("Metric %lld onConditionChanged", (long long)mMetricId); mCondition = conditionMet; mCondition = conditionMet ? ConditionState::kTrue : ConditionState::kFalse; flushIfNeededLocked(eventTime); for (auto& whatIt : mCurrentSlicedDurationTrackerMap) { for (auto& pair : whatIt.second) { Loading Loading @@ -767,12 +767,13 @@ void DurationMetricProducer::onMatchedLogEventLocked(const size_t matcherIndex, !mSameConditionDimensionsInTracker, !mHasLinksToAllConditionDimensionsInTracker, &dimensionKeysInCondition); condition = (conditionState == ConditionState::kTrue); condition = conditionState == ConditionState::kTrue; if (mDimensionsInCondition.empty() && condition) { dimensionKeysInCondition.insert(DEFAULT_DIMENSION_KEY); } } else { condition = mCondition; // TODO: The unknown condition state is not handled here, we should fix it. condition = mCondition == ConditionState::kTrue; if (condition) { dimensionKeysInCondition.insert(DEFAULT_DIMENSION_KEY); } Loading cmds/statsd/src/metrics/DurationMetricProducer.h +1 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ private: FRIEND_TEST(DurationMetricTrackerTest, TestNoCondition); FRIEND_TEST(DurationMetricTrackerTest, TestNonSlicedCondition); FRIEND_TEST(DurationMetricTrackerTest, TestNonSlicedConditionUnknownState); FRIEND_TEST(DurationMetricTrackerTest, TestSumDurationWithUpgrade); FRIEND_TEST(DurationMetricTrackerTest, TestSumDurationWithUpgradeInFollowingBucket); FRIEND_TEST(DurationMetricTrackerTest, TestMaxDurationWithUpgrade); Loading Loading
cmds/statsd/src/guardrail/StatsdStats.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -478,6 +478,11 @@ void StatsdStats::noteBucketDropped(int64_t metricId) { getAtomMetricStats(metricId).bucketDropped++; } void StatsdStats::noteBucketUnknownCondition(int64_t metricId) { lock_guard<std::mutex> lock(mLock); getAtomMetricStats(metricId).bucketUnknownCondition++; } void StatsdStats::noteConditionChangeInNextBucket(int64_t metricId) { lock_guard<std::mutex> lock(mLock); getAtomMetricStats(metricId).conditionChangeInNextBucket++; Loading
cmds/statsd/src/guardrail/StatsdStats.h +6 −0 Original line number Diff line number Diff line Loading @@ -408,6 +408,11 @@ public: */ void noteBucketBoundaryDelayNs(int64_t metricId, int64_t timeDelayNs); /** * Number of buckets with unknown condition. */ void noteBucketUnknownCondition(int64_t metricId); /** * Reset the historical stats. Including all stats in icebox, and the tracked stats about * metrics, matchers, and atoms. The active configs will be kept and StatsdStats will continue Loading Loading @@ -458,6 +463,7 @@ public: long bucketDropped = 0; int64_t minBucketBoundaryDelayNs = 0; int64_t maxBucketBoundaryDelayNs = 0; long bucketUnknownCondition = 0; } AtomMetricStats; private: Loading
cmds/statsd/src/metrics/CountMetricProducer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -250,7 +250,7 @@ void CountMetricProducer::dropDataLocked(const int64_t dropTimeNs) { void CountMetricProducer::onConditionChangedLocked(const bool conditionMet, const int64_t eventTime) { VLOG("Metric %lld onConditionChanged", (long long)mMetricId); mCondition = conditionMet; mCondition = conditionMet ? ConditionState::kTrue : ConditionState::kFalse; } bool CountMetricProducer::hitGuardRailLocked(const MetricDimensionKey& newKey) { Loading
cmds/statsd/src/metrics/DurationMetricProducer.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -433,7 +433,7 @@ void DurationMetricProducer::onSlicedConditionMayChangeLocked(bool overallCondit void DurationMetricProducer::onConditionChangedLocked(const bool conditionMet, const int64_t eventTime) { VLOG("Metric %lld onConditionChanged", (long long)mMetricId); mCondition = conditionMet; mCondition = conditionMet ? ConditionState::kTrue : ConditionState::kFalse; flushIfNeededLocked(eventTime); for (auto& whatIt : mCurrentSlicedDurationTrackerMap) { for (auto& pair : whatIt.second) { Loading Loading @@ -767,12 +767,13 @@ void DurationMetricProducer::onMatchedLogEventLocked(const size_t matcherIndex, !mSameConditionDimensionsInTracker, !mHasLinksToAllConditionDimensionsInTracker, &dimensionKeysInCondition); condition = (conditionState == ConditionState::kTrue); condition = conditionState == ConditionState::kTrue; if (mDimensionsInCondition.empty() && condition) { dimensionKeysInCondition.insert(DEFAULT_DIMENSION_KEY); } } else { condition = mCondition; // TODO: The unknown condition state is not handled here, we should fix it. condition = mCondition == ConditionState::kTrue; if (condition) { dimensionKeysInCondition.insert(DEFAULT_DIMENSION_KEY); } Loading
cmds/statsd/src/metrics/DurationMetricProducer.h +1 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ private: FRIEND_TEST(DurationMetricTrackerTest, TestNoCondition); FRIEND_TEST(DurationMetricTrackerTest, TestNonSlicedCondition); FRIEND_TEST(DurationMetricTrackerTest, TestNonSlicedConditionUnknownState); FRIEND_TEST(DurationMetricTrackerTest, TestSumDurationWithUpgrade); FRIEND_TEST(DurationMetricTrackerTest, TestSumDurationWithUpgradeInFollowingBucket); FRIEND_TEST(DurationMetricTrackerTest, TestMaxDurationWithUpgrade); Loading