Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3965)

Unified Diff: chrome/browser/metrics/metrics_log_unittest.cc

Issue 306023010: Introduce ProfilerMetricsProvider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Avoid data bleeding between different logs Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/metrics/metrics_log_unittest.cc
diff --git a/chrome/browser/metrics/metrics_log_unittest.cc b/chrome/browser/metrics/metrics_log_unittest.cc
index f6ee93b00ac606ad4d0cb0037ebaf4d6d700990a..729c72eb119f152eb81ac4179049eea4e1deb946 100644
--- a/chrome/browser/metrics/metrics_log_unittest.cc
+++ b/chrome/browser/metrics/metrics_log_unittest.cc
@@ -17,7 +17,6 @@
#include "base/strings/stringprintf.h"
#include "base/threading/sequenced_worker_pool.h"
#include "base/time/time.h"
-#include "base/tracked_objects.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/metrics/metrics_service.h"
#include "chrome/browser/prefs/browser_prefs.h"
@@ -30,7 +29,6 @@
#include "components/metrics/test_metrics_service_client.h"
#include "components/variations/active_field_trials.h"
#include "content/public/browser/browser_thread.h"
-#include "content/public/common/process_type.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "content/public/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -41,9 +39,6 @@
#endif // defined(OS_CHROMEOS)
using base::TimeDelta;
-using metrics::ProfilerEventProto;
-using tracked_objects::ProcessDataSnapshot;
-using tracked_objects::TaskSnapshot;
namespace {
@@ -307,176 +302,6 @@ TEST_F(MetricsLogTest, OngoingLogStabilityMetrics) {
EXPECT_FALSE(stability.has_debugger_not_present_count());
}
-// Test that we properly write profiler data to the log.
-TEST_F(MetricsLogTest, RecordProfilerData) {
- // WARNING: If you broke the below check, you've modified how
- // metrics::HashMetricName works. Please also modify all server-side code that
- // relies on the existing way of hashing.
- EXPECT_EQ(GG_UINT64_C(1518842999910132863),
- metrics::HashMetricName("birth_thread*"));
-
- metrics::TestMetricsServiceClient client;
- TestMetricsLog log(
- kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_);
- EXPECT_EQ(0, log.uma_proto().profiler_event_size());
-
- {
- ProcessDataSnapshot process_data;
- process_data.process_id = 177;
- process_data.tasks.push_back(TaskSnapshot());
- process_data.tasks.back().birth.location.file_name = "a/b/file.h";
- process_data.tasks.back().birth.location.function_name = "function";
- process_data.tasks.back().birth.location.line_number = 1337;
- process_data.tasks.back().birth.thread_name = "birth_thread";
- process_data.tasks.back().death_data.count = 37;
- process_data.tasks.back().death_data.run_duration_sum = 31;
- process_data.tasks.back().death_data.run_duration_max = 17;
- process_data.tasks.back().death_data.run_duration_sample = 13;
- process_data.tasks.back().death_data.queue_duration_sum = 8;
- process_data.tasks.back().death_data.queue_duration_max = 5;
- process_data.tasks.back().death_data.queue_duration_sample = 3;
- process_data.tasks.back().death_thread_name = "Still_Alive";
- process_data.tasks.push_back(TaskSnapshot());
- process_data.tasks.back().birth.location.file_name = "c\\d\\file2";
- process_data.tasks.back().birth.location.function_name = "function2";
- process_data.tasks.back().birth.location.line_number = 1773;
- process_data.tasks.back().birth.thread_name = "birth_thread2";
- process_data.tasks.back().death_data.count = 19;
- process_data.tasks.back().death_data.run_duration_sum = 23;
- process_data.tasks.back().death_data.run_duration_max = 11;
- process_data.tasks.back().death_data.run_duration_sample = 7;
- process_data.tasks.back().death_data.queue_duration_sum = 0;
- process_data.tasks.back().death_data.queue_duration_max = 0;
- process_data.tasks.back().death_data.queue_duration_sample = 0;
- process_data.tasks.back().death_thread_name = "death_thread";
-
- log.RecordProfilerData(process_data, content::PROCESS_TYPE_BROWSER);
- ASSERT_EQ(1, log.uma_proto().profiler_event_size());
- EXPECT_EQ(ProfilerEventProto::STARTUP_PROFILE,
- log.uma_proto().profiler_event(0).profile_type());
- EXPECT_EQ(ProfilerEventProto::WALL_CLOCK_TIME,
- log.uma_proto().profiler_event(0).time_source());
-
- ASSERT_EQ(2, log.uma_proto().profiler_event(0).tracked_object_size());
-
- const ProfilerEventProto::TrackedObject* tracked_object =
- &log.uma_proto().profiler_event(0).tracked_object(0);
- EXPECT_EQ(metrics::HashMetricName("file.h"),
- tracked_object->source_file_name_hash());
- EXPECT_EQ(metrics::HashMetricName("function"),
- tracked_object->source_function_name_hash());
- EXPECT_EQ(1337, tracked_object->source_line_number());
- EXPECT_EQ(metrics::HashMetricName("birth_thread"),
- tracked_object->birth_thread_name_hash());
- EXPECT_EQ(37, tracked_object->exec_count());
- EXPECT_EQ(31, tracked_object->exec_time_total());
- EXPECT_EQ(13, tracked_object->exec_time_sampled());
- EXPECT_EQ(8, tracked_object->queue_time_total());
- EXPECT_EQ(3, tracked_object->queue_time_sampled());
- EXPECT_EQ(metrics::HashMetricName("Still_Alive"),
- tracked_object->exec_thread_name_hash());
- EXPECT_EQ(177U, tracked_object->process_id());
- EXPECT_EQ(ProfilerEventProto::TrackedObject::BROWSER,
- tracked_object->process_type());
-
- tracked_object = &log.uma_proto().profiler_event(0).tracked_object(1);
- EXPECT_EQ(metrics::HashMetricName("file2"),
- tracked_object->source_file_name_hash());
- EXPECT_EQ(metrics::HashMetricName("function2"),
- tracked_object->source_function_name_hash());
- EXPECT_EQ(1773, tracked_object->source_line_number());
- EXPECT_EQ(metrics::HashMetricName("birth_thread*"),
- tracked_object->birth_thread_name_hash());
- EXPECT_EQ(19, tracked_object->exec_count());
- EXPECT_EQ(23, tracked_object->exec_time_total());
- EXPECT_EQ(7, tracked_object->exec_time_sampled());
- EXPECT_EQ(0, tracked_object->queue_time_total());
- EXPECT_EQ(0, tracked_object->queue_time_sampled());
- EXPECT_EQ(metrics::HashMetricName("death_thread"),
- tracked_object->exec_thread_name_hash());
- EXPECT_EQ(177U, tracked_object->process_id());
- EXPECT_EQ(ProfilerEventProto::TrackedObject::BROWSER,
- tracked_object->process_type());
- }
-
- {
- ProcessDataSnapshot process_data;
- process_data.process_id = 1177;
- process_data.tasks.push_back(TaskSnapshot());
- process_data.tasks.back().birth.location.file_name = "file3";
- process_data.tasks.back().birth.location.function_name = "function3";
- process_data.tasks.back().birth.location.line_number = 7331;
- process_data.tasks.back().birth.thread_name = "birth_thread3";
- process_data.tasks.back().death_data.count = 137;
- process_data.tasks.back().death_data.run_duration_sum = 131;
- process_data.tasks.back().death_data.run_duration_max = 117;
- process_data.tasks.back().death_data.run_duration_sample = 113;
- process_data.tasks.back().death_data.queue_duration_sum = 108;
- process_data.tasks.back().death_data.queue_duration_max = 105;
- process_data.tasks.back().death_data.queue_duration_sample = 103;
- process_data.tasks.back().death_thread_name = "death_thread3";
- process_data.tasks.push_back(TaskSnapshot());
- process_data.tasks.back().birth.location.file_name = "";
- process_data.tasks.back().birth.location.function_name = "";
- process_data.tasks.back().birth.location.line_number = 7332;
- process_data.tasks.back().birth.thread_name = "";
- process_data.tasks.back().death_data.count = 138;
- process_data.tasks.back().death_data.run_duration_sum = 132;
- process_data.tasks.back().death_data.run_duration_max = 118;
- process_data.tasks.back().death_data.run_duration_sample = 114;
- process_data.tasks.back().death_data.queue_duration_sum = 109;
- process_data.tasks.back().death_data.queue_duration_max = 106;
- process_data.tasks.back().death_data.queue_duration_sample = 104;
- process_data.tasks.back().death_thread_name = "";
-
- log.RecordProfilerData(process_data, content::PROCESS_TYPE_RENDERER);
- ASSERT_EQ(1, log.uma_proto().profiler_event_size());
- EXPECT_EQ(ProfilerEventProto::STARTUP_PROFILE,
- log.uma_proto().profiler_event(0).profile_type());
- EXPECT_EQ(ProfilerEventProto::WALL_CLOCK_TIME,
- log.uma_proto().profiler_event(0).time_source());
- ASSERT_EQ(4, log.uma_proto().profiler_event(0).tracked_object_size());
-
- const ProfilerEventProto::TrackedObject* tracked_object =
- &log.uma_proto().profiler_event(0).tracked_object(2);
- EXPECT_EQ(metrics::HashMetricName("file3"),
- tracked_object->source_file_name_hash());
- EXPECT_EQ(metrics::HashMetricName("function3"),
- tracked_object->source_function_name_hash());
- EXPECT_EQ(7331, tracked_object->source_line_number());
- EXPECT_EQ(metrics::HashMetricName("birth_thread*"),
- tracked_object->birth_thread_name_hash());
- EXPECT_EQ(137, tracked_object->exec_count());
- EXPECT_EQ(131, tracked_object->exec_time_total());
- EXPECT_EQ(113, tracked_object->exec_time_sampled());
- EXPECT_EQ(108, tracked_object->queue_time_total());
- EXPECT_EQ(103, tracked_object->queue_time_sampled());
- EXPECT_EQ(metrics::HashMetricName("death_thread*"),
- tracked_object->exec_thread_name_hash());
- EXPECT_EQ(1177U, tracked_object->process_id());
- EXPECT_EQ(ProfilerEventProto::TrackedObject::RENDERER,
- tracked_object->process_type());
-
- tracked_object = &log.uma_proto().profiler_event(0).tracked_object(3);
- EXPECT_EQ(metrics::HashMetricName(""),
- tracked_object->source_file_name_hash());
- EXPECT_EQ(metrics::HashMetricName(""),
- tracked_object->source_function_name_hash());
- EXPECT_EQ(7332, tracked_object->source_line_number());
- EXPECT_EQ(metrics::HashMetricName(""),
- tracked_object->birth_thread_name_hash());
- EXPECT_EQ(138, tracked_object->exec_count());
- EXPECT_EQ(132, tracked_object->exec_time_total());
- EXPECT_EQ(114, tracked_object->exec_time_sampled());
- EXPECT_EQ(109, tracked_object->queue_time_total());
- EXPECT_EQ(104, tracked_object->queue_time_sampled());
- EXPECT_EQ(metrics::HashMetricName(""),
- tracked_object->exec_thread_name_hash());
- EXPECT_EQ(ProfilerEventProto::TrackedObject::RENDERER,
- tracked_object->process_type());
- }
-}
-
TEST_F(MetricsLogTest, ChromeChannelWrittenToProtobuf) {
metrics::TestMetricsServiceClient client;
TestMetricsLog log(

Powered by Google App Engine
This is Rietveld 408576698