diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-04 13:26:18 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-04 13:26:18 +0000 |
commit | f1043bd2341823358148d57d8250870009c47349 (patch) | |
tree | 11afabf1d3cb713f904d9426a86c2f5da3921197 | |
parent | a72fe7852ce1dedaee2a85d5963ed687851cda82 (diff) | |
parent | 7347ccb30778e30a091d09e7205dbfa798aa906b (diff) | |
download | StatsD-android13-mainline-media-release.tar.gz |
Snap for 9689921 from 7347ccb30778e30a091d09e7205dbfa798aa906b to mainline-media-releaseaml_med_331712010android13-mainline-media-release
Change-Id: Ibb12f1c5f5c17ee18ee57c7e0172d48873915fe1
3 files changed, 7 insertions, 4 deletions
diff --git a/statsd/src/metrics/DurationMetricProducer.cpp b/statsd/src/metrics/DurationMetricProducer.cpp index 89e4f880..8efe96e5 100644 --- a/statsd/src/metrics/DurationMetricProducer.cpp +++ b/statsd/src/metrics/DurationMetricProducer.cpp @@ -164,6 +164,7 @@ DurationMetricProducer::DurationMetricProducer( (long long)mBucketSizeNs, (long long)mTimeBaseNs); initTrueDimensions(whatIndex, startTimeNs); + mConditionTimer.newBucketStart(mCurrentBucketStartTimeNs, mCurrentBucketStartTimeNs); mConditionTimer.onConditionChanged(mIsActive && mCondition == ConditionState::kTrue, mCurrentBucketStartTimeNs); } @@ -462,6 +463,7 @@ void DurationMetricProducer::onActiveStateChangedLocked(const int64_t eventTimeN for (auto& whatIt : mCurrentSlicedDurationTrackerMap) { whatIt.second->onConditionChanged(isActive, eventTimeNs); } + mConditionTimer.onConditionChanged(isActive, eventTimeNs); } else if (isActive) { flushIfNeededLocked(eventTimeNs); onSlicedConditionMayChangeInternalLocked(eventTimeNs); @@ -470,7 +472,6 @@ void DurationMetricProducer::onActiveStateChangedLocked(const int64_t eventTimeN whatIt.second->onConditionChanged(isActive, eventTimeNs); } } - mConditionTimer.onConditionChanged(isActive, eventTimeNs); } void DurationMetricProducer::onConditionChangedLocked(const bool conditionMet, @@ -576,9 +577,9 @@ void DurationMetricProducer::onDumpReportLocked(const int64_t dumpTimeNs, protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_DURATION, (long long)bucket.mDuration); // We only write the condition timer value if the metric has a - // condition and isn't sliced by state. - // TODO(b/268531762): Slice the condition timer by state - if (mConditionTrackerIndex >= 0 && mSlicedStateAtoms.empty()) { + // condition and isn't sliced by state or condition. + // TODO(b/268531762): Slice the condition timer by state and condition + if (mConditionTrackerIndex >= 0 && mSlicedStateAtoms.empty() && !mConditionSliced) { protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_CONDITION_TRUE_NS, (long long)bucket.mConditionTrueNs); } diff --git a/statsd/tests/metrics/DurationMetricProducer_test.cpp b/statsd/tests/metrics/DurationMetricProducer_test.cpp index ed78416c..995ed3fb 100644 --- a/statsd/tests/metrics/DurationMetricProducer_test.cpp +++ b/statsd/tests/metrics/DurationMetricProducer_test.cpp @@ -176,6 +176,7 @@ TEST(DurationMetricTrackerTest, TestNonSlicedCondition) { EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, buckets2[0].mBucketStartNs); EXPECT_EQ(bucket2EndTimeNs, buckets2[0].mBucketEndNs); EXPECT_EQ(1LL, buckets2[0].mDuration); + EXPECT_EQ(bucket2EndTimeNs - conditionStartTimeNs, buckets2[0].mConditionTrueNs); } TEST(DurationMetricTrackerTest, TestNonSlicedConditionUnknownState) { diff --git a/statsd/tools/localtools/src/com/android/statsd/shelltools/testdrive/TestDrive.java b/statsd/tools/localtools/src/com/android/statsd/shelltools/testdrive/TestDrive.java index 7a18cda3..dae2e9b4 100644 --- a/statsd/tools/localtools/src/com/android/statsd/shelltools/testdrive/TestDrive.java +++ b/statsd/tools/localtools/src/com/android/statsd/shelltools/testdrive/TestDrive.java @@ -94,6 +94,7 @@ public class TestDrive { "com.google.android.permissioncontroller", "AID_NFC", "AID_SECURE_ELEMENT", + "com.google.android.wearable.media.routing", }; private static final String[] DEFAULT_PULL_SOURCES = { "AID_KEYSTORE", "AID_RADIO", "AID_SYSTEM", |