summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-03-04 13:26:18 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-03-04 13:26:18 +0000
commitf1043bd2341823358148d57d8250870009c47349 (patch)
tree11afabf1d3cb713f904d9426a86c2f5da3921197
parenta72fe7852ce1dedaee2a85d5963ed687851cda82 (diff)
parent7347ccb30778e30a091d09e7205dbfa798aa906b (diff)
downloadStatsD-android13-mainline-media-release.tar.gz
Snap for 9689921 from 7347ccb30778e30a091d09e7205dbfa798aa906b to mainline-media-releaseaml_med_331712010android13-mainline-media-release
Change-Id: Ibb12f1c5f5c17ee18ee57c7e0172d48873915fe1
-rw-r--r--statsd/src/metrics/DurationMetricProducer.cpp9
-rw-r--r--statsd/tests/metrics/DurationMetricProducer_test.cpp1
-rw-r--r--statsd/tools/localtools/src/com/android/statsd/shelltools/testdrive/TestDrive.java1
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",