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

Side by Side Diff: chrome/browser/performance_monitor/database_unittest.cc

Issue 10860017: Refactor Metrics (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 EXPECT_TRUE(events[0]->data()->Equals(new_install_event->data())); 273 EXPECT_TRUE(events[0]->data()->Equals(new_install_event->data()));
274 EXPECT_TRUE(events[1]->data()->Equals(new_uninstall_event->data())); 274 EXPECT_TRUE(events[1]->data()->Equals(new_uninstall_event->data()));
275 events = db_->GetEvents( 275 events = db_->GetEvents(
276 EVENT_EXTENSION_INSTALL, start_time, end_time); 276 EVENT_EXTENSION_INSTALL, start_time, end_time);
277 ASSERT_EQ(1u, events.size()); 277 ASSERT_EQ(1u, events.size());
278 EXPECT_TRUE(events[0]->data()->Equals(new_install_event->data())); 278 EXPECT_TRUE(events[0]->data()->Equals(new_install_event->data()));
279 } 279 }
280 280
281 ////// PerformanceMonitorDatabaseMetricTests /////////////////////////////////// 281 ////// PerformanceMonitorDatabaseMetricTests ///////////////////////////////////
282 TEST_F(PerformanceMonitorDatabaseMetricTest, GetActiveMetrics) { 282 TEST_F(PerformanceMonitorDatabaseMetricTest, GetActiveMetrics) {
283 std::vector<const MetricDetails*> active_metrics = 283 std::set<MetricType> active_metrics =
284 db_->GetActiveMetrics(base::Time(), clock_->GetTime()); 284 db_->GetActiveMetrics(base::Time(), clock_->GetTime());
285 std::sort(active_metrics.begin(), active_metrics.end());
286 285
287 std::vector<const MetricDetails*> expected_metrics; 286 std::set<MetricType> expected_metrics;
288 expected_metrics.push_back(GetMetricDetails(METRIC_CPU_USAGE)); 287 expected_metrics.insert(METRIC_CPU_USAGE);
289 expected_metrics.push_back(GetMetricDetails(METRIC_PRIVATE_MEMORY_USAGE)); 288 expected_metrics.insert(METRIC_PRIVATE_MEMORY_USAGE);
290 std::sort(expected_metrics.begin(), expected_metrics.end());
291 EXPECT_EQ(expected_metrics, active_metrics); 289 EXPECT_EQ(expected_metrics, active_metrics);
292 } 290 }
293 291
294 TEST_F(PerformanceMonitorDatabaseMetricTest, GetRecentMetric) { 292 TEST_F(PerformanceMonitorDatabaseMetricTest, GetRecentMetric) {
295 MetricInfo stat; 293 Metric stat;
296 ASSERT_TRUE(db_->GetRecentStatsForActivityAndMetric(activity_, 294 ASSERT_TRUE(db_->GetRecentStatsForActivityAndMetric(activity_,
297 METRIC_PRIVATE_MEMORY_USAGE, &stat)); 295 METRIC_PRIVATE_MEMORY_USAGE, &stat));
298 EXPECT_EQ(3000000, stat.value); 296 EXPECT_EQ(3000000, stat.value);
299 297
300 ASSERT_TRUE(db_->GetRecentStatsForActivityAndMetric(METRIC_CPU_USAGE, &stat)); 298 ASSERT_TRUE(db_->GetRecentStatsForActivityAndMetric(METRIC_CPU_USAGE, &stat));
301 EXPECT_EQ(50.5, stat.value); 299 EXPECT_EQ(50.5, stat.value);
302 300
303 ScopedTempDir dir; 301 ScopedTempDir dir;
304 CHECK(dir.CreateUniqueTempDir()); 302 CHECK(dir.CreateUniqueTempDir());
305 scoped_ptr<Database> db = Database::Create(dir.path()); 303 scoped_ptr<Database> db = Database::Create(dir.path());
(...skipping 12 matching lines...) Expand all
318 TEST_F(PerformanceMonitorDatabaseMetricTest, GetStateOverride) { 316 TEST_F(PerformanceMonitorDatabaseMetricTest, GetStateOverride) {
319 std::string key("version"); 317 std::string key("version");
320 std::string value_1("1.0.0.0.0"); 318 std::string value_1("1.0.0.0.0");
321 std::string value_2("1.0.0.0.1"); 319 std::string value_2("1.0.0.0.1");
322 db_->AddStateValue(key, value_1); 320 db_->AddStateValue(key, value_1);
323 db_->AddStateValue(key, value_2); 321 db_->AddStateValue(key, value_2);
324 EXPECT_EQ(db_->GetStateValue(key), value_2); 322 EXPECT_EQ(db_->GetStateValue(key), value_2);
325 } 323 }
326 324
327 TEST_F(PerformanceMonitorDatabaseMetricTest, GetStatsForActivityAndMetric) { 325 TEST_F(PerformanceMonitorDatabaseMetricTest, GetStatsForActivityAndMetric) {
328 Database::MetricInfoVector stats = db_->GetStatsForActivityAndMetric( 326 std::vector<Metric> stats = db_->GetStatsForActivityAndMetric(
329 activity_, METRIC_CPU_USAGE, base::Time(), clock_->GetTime()); 327 activity_, METRIC_CPU_USAGE, base::Time(), clock_->GetTime());
330 ASSERT_EQ(1u, stats.size()); 328 ASSERT_EQ(1u, stats.size());
331 EXPECT_EQ(13.1, stats[0].value); 329 EXPECT_EQ(13.1, stats[0].value);
332 base::Time before = clock_->GetTime(); 330 base::Time before = clock_->GetTime();
333 db_->AddMetric(activity_, METRIC_CPU_USAGE, std::string("18")); 331 db_->AddMetric(activity_, METRIC_CPU_USAGE, std::string("18"));
334 stats = db_->GetStatsForActivityAndMetric(activity_, METRIC_CPU_USAGE, 332 stats = db_->GetStatsForActivityAndMetric(activity_, METRIC_CPU_USAGE,
335 before, clock_->GetTime()); 333 before, clock_->GetTime());
336 ASSERT_EQ(1u, stats.size()); 334 ASSERT_EQ(1u, stats.size());
337 EXPECT_EQ(18, stats[0].value); 335 EXPECT_EQ(18, stats[0].value);
338 stats = db_->GetStatsForActivityAndMetric(activity_, METRIC_CPU_USAGE); 336 stats = db_->GetStatsForActivityAndMetric(activity_, METRIC_CPU_USAGE);
339 ASSERT_EQ(2u, stats.size()); 337 ASSERT_EQ(2u, stats.size());
340 EXPECT_EQ(13.1, stats[0].value); 338 EXPECT_EQ(13.1, stats[0].value);
341 EXPECT_EQ(18, stats[1].value); 339 EXPECT_EQ(18, stats[1].value);
342 stats = db_->GetStatsForActivityAndMetric(METRIC_PRIVATE_MEMORY_USAGE); 340 stats = db_->GetStatsForActivityAndMetric(METRIC_PRIVATE_MEMORY_USAGE);
343 ASSERT_EQ(1u, stats.size()); 341 ASSERT_EQ(1u, stats.size());
344 EXPECT_EQ(1000000, stats[0].value); 342 EXPECT_EQ(1000000, stats[0].value);
345 stats = db_->GetStatsForActivityAndMetric(activity_, METRIC_CPU_USAGE, 343 stats = db_->GetStatsForActivityAndMetric(activity_, METRIC_CPU_USAGE,
346 clock_->GetTime(), 344 clock_->GetTime(),
347 clock_->GetTime()); 345 clock_->GetTime());
348 EXPECT_TRUE(stats.empty()); 346 EXPECT_TRUE(stats.empty());
349 } 347 }
350 348
351 TEST_F(PerformanceMonitorDatabaseMetricTest, GetStatsForMetricByActivity) { 349 TEST_F(PerformanceMonitorDatabaseMetricTest, GetStatsForMetricByActivity) {
352 Database::MetricVectorMap stats_map = db_->GetStatsForMetricByActivity( 350 Database::MetricVectorMap stats_map = db_->GetStatsForMetricByActivity(
353 METRIC_CPU_USAGE, base::Time(), clock_->GetTime()); 351 METRIC_CPU_USAGE, base::Time(), clock_->GetTime());
354 ASSERT_EQ(2u, stats_map.size()); 352 ASSERT_EQ(2u, stats_map.size());
355 linked_ptr<Database::MetricInfoVector> stats = stats_map[activity_]; 353 linked_ptr<std::vector<Metric> > stats = stats_map[activity_];
356 ASSERT_EQ(1u, stats->size()); 354 ASSERT_EQ(1u, stats->size());
357 EXPECT_EQ(13.1, stats->at(0).value); 355 EXPECT_EQ(13.1, stats->at(0).value);
358 stats = stats_map[kProcessChromeAggregate]; 356 stats = stats_map[kProcessChromeAggregate];
359 ASSERT_EQ(1u, stats->size()); 357 ASSERT_EQ(1u, stats->size());
360 EXPECT_EQ(50.5, stats->at(0).value); 358 EXPECT_EQ(50.5, stats->at(0).value);
361 stats_map = db_->GetStatsForMetricByActivity( 359 stats_map = db_->GetStatsForMetricByActivity(
362 METRIC_CPU_USAGE, clock_->GetTime(), clock_->GetTime()); 360 METRIC_CPU_USAGE, clock_->GetTime(), clock_->GetTime());
363 EXPECT_EQ(0u, stats_map.size()); 361 EXPECT_EQ(0u, stats_map.size());
364 base::Time before = clock_->GetTime(); 362 base::Time before = clock_->GetTime();
365 db_->AddMetric(activity_, METRIC_CPU_USAGE, std::string("18")); 363 db_->AddMetric(activity_, METRIC_CPU_USAGE, std::string("18"));
366 stats_map = db_->GetStatsForMetricByActivity(METRIC_CPU_USAGE, before, 364 stats_map = db_->GetStatsForMetricByActivity(METRIC_CPU_USAGE, before,
367 clock_->GetTime()); 365 clock_->GetTime());
368 ASSERT_EQ(1u, stats_map.size()); 366 ASSERT_EQ(1u, stats_map.size());
369 stats = stats_map[activity_]; 367 stats = stats_map[activity_];
370 ASSERT_EQ(1u, stats->size()); 368 ASSERT_EQ(1u, stats->size());
371 EXPECT_EQ(18, stats->at(0).value); 369 EXPECT_EQ(18, stats->at(0).value);
372 } 370 }
373 371
374 TEST_F(PerformanceMonitorDatabaseMetricTest, GetFullRange) { 372 TEST_F(PerformanceMonitorDatabaseMetricTest, GetFullRange) {
375 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("3.4")); 373 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("3.4"));
376 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("21")); 374 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("21"));
377 Database::MetricInfoVector stats = 375 std::vector<Metric> stats =
378 db_->GetStatsForActivityAndMetric(METRIC_CPU_USAGE); 376 db_->GetStatsForActivityAndMetric(METRIC_CPU_USAGE);
379 ASSERT_EQ(3u, stats.size()); 377 ASSERT_EQ(3u, stats.size());
380 ASSERT_EQ(50.5, stats[0].value); 378 ASSERT_EQ(50.5, stats[0].value);
381 ASSERT_EQ(3.4, stats[1].value); 379 ASSERT_EQ(3.4, stats[1].value);
382 ASSERT_EQ(21, stats[2].value); 380 ASSERT_EQ(21, stats[2].value);
383 } 381 }
384 382
385 TEST_F(PerformanceMonitorDatabaseMetricTest, GetRange) { 383 TEST_F(PerformanceMonitorDatabaseMetricTest, GetRange) {
386 base::Time start = clock_->GetTime(); 384 base::Time start = clock_->GetTime();
387 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("3")); 385 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("3"));
388 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("9")); 386 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("9"));
389 base::Time end = clock_->GetTime(); 387 base::Time end = clock_->GetTime();
390 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("21")); 388 db_->AddMetric(kProcessChromeAggregate, METRIC_CPU_USAGE, std::string("21"));
391 Database::MetricInfoVector stats = 389 std::vector<Metric> stats =
392 db_->GetStatsForActivityAndMetric(METRIC_CPU_USAGE, start, end); 390 db_->GetStatsForActivityAndMetric(METRIC_CPU_USAGE, start, end);
393 ASSERT_EQ(2u, stats.size()); 391 ASSERT_EQ(2u, stats.size());
394 ASSERT_EQ(3, stats[0].value); 392 ASSERT_EQ(3, stats[0].value);
395 ASSERT_EQ(9, stats[1].value); 393 ASSERT_EQ(9, stats[1].value);
396 } 394 }
397 395
398 } // namespace performance_monitor 396 } // namespace performance_monitor
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698