Cleanup: removing unused descendants information from tracked objects.
BUG=456354
Review URL: https://codereview.chromium.org/1104053004
Cr-Commit-Position: refs/heads/master@{#327956}
CrOS-Libchrome-Original-Commit: cf8983ef6ccb5101181b2f854023b2124dd31882
diff --git a/base/tracked_objects_unittest.cc b/base/tracked_objects_unittest.cc
index 81f464c..3537e54 100644
--- a/base/tracked_objects_unittest.cc
+++ b/base/tracked_objects_unittest.cc
@@ -101,8 +101,6 @@
EXPECT_EQ(death_thread, process_data_phase.tasks[0].death_thread_name);
- EXPECT_EQ(0u, process_data_phase.descendants.size());
-
EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id);
}
@@ -122,7 +120,7 @@
TEST_F(TrackedObjectsTest, TaskStopwatchNoStartStop) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -135,7 +133,7 @@
TEST_F(TrackedObjectsTest, MinimalStartupShutdown) {
// Minimal test doesn't even create any tasks.
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -148,18 +146,16 @@
EXPECT_EQ(data, ThreadData::Get());
ThreadData::BirthMap birth_map;
ThreadData::DeathsSnapshot deaths;
- ThreadData::ParentChildSet parent_child_set;
- data->SnapshotMaps(0, &birth_map, &deaths, &parent_child_set);
+ data->SnapshotMaps(0, &birth_map, &deaths);
EXPECT_EQ(0u, birth_map.size());
EXPECT_EQ(0u, deaths.size());
- EXPECT_EQ(0u, parent_child_set.size());
// Clean up with no leaking.
Reset();
// Do it again, just to be sure we reset state completely.
- EXPECT_TRUE(ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE));
+ EXPECT_TRUE(
+ ThreadData::InitializeAndSetTrackingStatus(ThreadData::PROFILING_ACTIVE));
EXPECT_FALSE(ThreadData::first()); // No activity even on this thread.
data = ThreadData::Get();
EXPECT_TRUE(ThreadData::first()); // Now class was constructed.
@@ -168,16 +164,14 @@
EXPECT_EQ(data, ThreadData::Get());
birth_map.clear();
deaths.clear();
- parent_child_set.clear();
- data->SnapshotMaps(0, &birth_map, &deaths, &parent_child_set);
+ data->SnapshotMaps(0, &birth_map, &deaths);
EXPECT_EQ(0u, birth_map.size());
EXPECT_EQ(0u, deaths.size());
- EXPECT_EQ(0u, parent_child_set.size());
}
TEST_F(TrackedObjectsTest, TinyStartupShutdown) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -185,7 +179,7 @@
// Instigate tracking on a single tracked object, on our thread.
const char kFunction[] = "TinyStartupShutdown";
Location location(kFunction, kFile, kLineNumber, NULL);
- Births* first_birth = ThreadData::TallyABirthIfActive(location);
+ ThreadData::TallyABirthIfActive(location);
ThreadData* data = ThreadData::first();
ASSERT_TRUE(data);
@@ -193,17 +187,14 @@
EXPECT_EQ(data, ThreadData::Get());
ThreadData::BirthMap birth_map;
ThreadData::DeathsSnapshot deaths;
- ThreadData::ParentChildSet parent_child_set;
- data->SnapshotMaps(0, &birth_map, &deaths, &parent_child_set);
+ data->SnapshotMaps(0, &birth_map, &deaths);
EXPECT_EQ(1u, birth_map.size()); // 1 birth location.
EXPECT_EQ(1, birth_map.begin()->second->birth_count()); // 1 birth.
EXPECT_EQ(0u, deaths.size()); // No deaths.
- EXPECT_EQ(0u, parent_child_set.size()); // No children.
// Now instigate another birth, while we are timing the run of the first
// execution.
- ThreadData::PrepareForStartOfRun(first_birth);
// Create a child (using the same birth location).
// TrackingInfo will call TallyABirth() during construction.
const int32 start_time = 1;
@@ -222,19 +213,11 @@
birth_map.clear();
deaths.clear();
- parent_child_set.clear();
- data->SnapshotMaps(0, &birth_map, &deaths, &parent_child_set);
+ data->SnapshotMaps(0, &birth_map, &deaths);
EXPECT_EQ(1u, birth_map.size()); // 1 birth location.
EXPECT_EQ(2, birth_map.begin()->second->birth_count()); // 2 births.
EXPECT_EQ(1u, deaths.size()); // 1 location.
EXPECT_EQ(1, deaths.begin()->second.death_data.count); // 1 death.
- if (ThreadData::TrackingParentChildStatus()) {
- EXPECT_EQ(1u, parent_child_set.size()); // 1 child.
- EXPECT_EQ(parent_child_set.begin()->first,
- parent_child_set.begin()->second);
- } else {
- EXPECT_EQ(0u, parent_child_set.size()); // no stats.
- }
// The births were at the same location as the one known death.
EXPECT_EQ(birth_map.begin()->second, deaths.begin()->first);
@@ -264,33 +247,11 @@
EXPECT_EQ(0, process_data_phase.tasks[0].death_data.queue_duration_max);
EXPECT_EQ(0, process_data_phase.tasks[0].death_data.queue_duration_sample);
EXPECT_EQ(kWorkerThreadName, process_data_phase.tasks[0].death_thread_name);
-
- if (ThreadData::TrackingParentChildStatus()) {
- ASSERT_EQ(1u, process_data_phase.descendants.size());
- EXPECT_EQ(kFile,
- process_data_phase.descendants[0].parent.location.file_name);
- EXPECT_EQ(kFunction,
- process_data_phase.descendants[0].parent.location.function_name);
- EXPECT_EQ(kLineNumber,
- process_data_phase.descendants[0].parent.location.line_number);
- EXPECT_EQ(kWorkerThreadName,
- process_data_phase.descendants[0].parent.thread_name);
- EXPECT_EQ(kFile,
- process_data_phase.descendants[0].child.location.file_name);
- EXPECT_EQ(kFunction,
- process_data_phase.descendants[0].child.location.function_name);
- EXPECT_EQ(kLineNumber,
- process_data_phase.descendants[0].child.location.line_number);
- EXPECT_EQ(kWorkerThreadName,
- process_data_phase.descendants[0].child.thread_name);
- } else {
- EXPECT_EQ(0u, process_data_phase.descendants.size());
- }
}
TEST_F(TrackedObjectsTest, DeathDataTestRecordDeath) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -333,7 +294,7 @@
TEST_F(TrackedObjectsTest, DeathDataTest2Phases) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -402,7 +363,7 @@
TEST_F(TrackedObjectsTest, Delta) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -487,7 +448,7 @@
TEST_F(TrackedObjectsTest, BirthOnlyToSnapshotWorkerThread) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -504,7 +465,7 @@
TEST_F(TrackedObjectsTest, BirthOnlyToSnapshotMainThread) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -521,7 +482,7 @@
TEST_F(TrackedObjectsTest, LifeCycleToSnapshotMainThread) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -554,7 +515,7 @@
TEST_F(TrackedObjectsTest, TwoPhases) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -628,8 +589,6 @@
EXPECT_EQ(kMainThreadName, process_data_phase0.tasks[0].death_thread_name);
- EXPECT_EQ(0u, process_data_phase0.descendants.size());
-
auto it1 = process_data.phased_snapshots.find(1);
ASSERT_TRUE(it1 != process_data.phased_snapshots.end());
const ProcessDataPhaseSnapshot& process_data_phase1 = it1->second;
@@ -654,14 +613,12 @@
EXPECT_EQ(kMainThreadName, process_data_phase1.tasks[0].death_thread_name);
- EXPECT_EQ(0u, process_data_phase1.descendants.size());
-
EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id);
}
TEST_F(TrackedObjectsTest, ThreePhases) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -753,8 +710,6 @@
EXPECT_EQ(kMainThreadName, process_data_phase0.tasks[0].death_thread_name);
- EXPECT_EQ(0u, process_data_phase0.descendants.size());
-
auto it1 = process_data.phased_snapshots.find(1);
ASSERT_TRUE(it1 != process_data.phased_snapshots.end());
const ProcessDataPhaseSnapshot& process_data_phase1 = it1->second;
@@ -779,8 +734,6 @@
EXPECT_EQ(kMainThreadName, process_data_phase1.tasks[0].death_thread_name);
- EXPECT_EQ(0u, process_data_phase1.descendants.size());
-
auto it2 = process_data.phased_snapshots.find(2);
ASSERT_TRUE(it2 != process_data.phased_snapshots.end());
const ProcessDataPhaseSnapshot& process_data_phase2 = it2->second;
@@ -805,14 +758,12 @@
EXPECT_EQ(kMainThreadName, process_data_phase2.tasks[0].death_thread_name);
- EXPECT_EQ(0u, process_data_phase2.descendants.size());
-
EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id);
}
TEST_F(TrackedObjectsTest, TwoPhasesSecondEmpty) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -874,14 +825,12 @@
ASSERT_EQ(0u, process_data_phase1.tasks.size());
- EXPECT_EQ(0u, process_data_phase0.descendants.size());
-
EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id);
}
TEST_F(TrackedObjectsTest, TwoPhasesFirstEmpty) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -946,7 +895,7 @@
// task is still running, or is queued).
TEST_F(TrackedObjectsTest, LifeCycleMidDeactivatedToSnapshotMainThread) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -1026,7 +975,7 @@
TEST_F(TrackedObjectsTest, TwoLives) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -1070,7 +1019,7 @@
TEST_F(TrackedObjectsTest, DifferentLives) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -1141,13 +1090,12 @@
EXPECT_EQ(0, process_data_phase.tasks[1].death_data.queue_duration_max);
EXPECT_EQ(0, process_data_phase.tasks[1].death_data.queue_duration_sample);
EXPECT_EQ(kStillAlive, process_data_phase.tasks[1].death_thread_name);
- EXPECT_EQ(0u, process_data_phase.descendants.size());
EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id);
}
TEST_F(TrackedObjectsTest, TaskWithNestedExclusion) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -1185,7 +1133,7 @@
TEST_F(TrackedObjectsTest, TaskWith2NestedExclusions) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -1229,7 +1177,7 @@
TEST_F(TrackedObjectsTest, TaskWithNestedExclusionWithNestedTask) {
if (!ThreadData::InitializeAndSetTrackingStatus(
- ThreadData::PROFILING_CHILDREN_ACTIVE)) {
+ ThreadData::PROFILING_ACTIVE)) {
// Don't run the test if task tracking is not compiled in.
return;
}
@@ -1319,7 +1267,6 @@
EXPECT_EQ(1, process_data_phase.tasks[t1].death_data.queue_duration_max);
EXPECT_EQ(1, process_data_phase.tasks[t1].death_data.queue_duration_sample);
EXPECT_EQ(kMainThreadName, process_data_phase.tasks[t1].death_thread_name);
- EXPECT_EQ(0u, process_data_phase.descendants.size());
EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id);
}