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

Side by Side Diff: base/debug/trace_event_unittest.cc

Issue 717083003: Report trace buffer usage as number of events, not only percentage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 6 years, 1 month 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 "base/debug/trace_event_unittest.h" 5 #include "base/debug/trace_event_unittest.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <cstdlib> 8 #include <cstdlib>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 1349 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 1360
1361 EXPECT_STREQ(async_begin_id_str.c_str(), async_begin2_id_str.c_str()); 1361 EXPECT_STREQ(async_begin_id_str.c_str(), async_begin2_id_str.c_str());
1362 EXPECT_STRNE(async_begin_id_str.c_str(), async_end_id_str.c_str()); 1362 EXPECT_STRNE(async_begin_id_str.c_str(), async_end_id_str.c_str());
1363 } 1363 }
1364 1364
1365 // Test that static strings are not copied. 1365 // Test that static strings are not copied.
1366 TEST_F(TraceEventTestFixture, StaticStringVsString) { 1366 TEST_F(TraceEventTestFixture, StaticStringVsString) {
1367 TraceLog* tracer = TraceLog::GetInstance(); 1367 TraceLog* tracer = TraceLog::GetInstance();
1368 // Make sure old events are flushed: 1368 // Make sure old events are flushed:
1369 EndTraceAndFlush(); 1369 EndTraceAndFlush();
1370 EXPECT_EQ(0u, tracer->GetEventsSize()); 1370 {
1371 float unused;
1372 size_t num_events;
1373 tracer->GetBufferUsage(&unused, &num_events);
1374 EXPECT_EQ(0u, num_events);
1375 }
1371 const unsigned char* category_group_enabled = 1376 const unsigned char* category_group_enabled =
1372 TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED("cat"); 1377 TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED("cat");
1373 1378
1374 { 1379 {
1375 BeginTrace(); 1380 BeginTrace();
1376 // Test that string arguments are copied. 1381 // Test that string arguments are copied.
1377 TraceEventHandle handle1 = 1382 TraceEventHandle handle1 =
1378 trace_event_internal::AddTraceEvent( 1383 trace_event_internal::AddTraceEvent(
1379 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name1", 0, 0, 1384 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name1", 0, 0,
1380 "arg1", std::string("argval"), "arg2", std::string("argval")); 1385 "arg1", std::string("argval"), "arg2", std::string("argval"));
1381 // Test that static TRACE_STR_COPY string arguments are copied. 1386 // Test that static TRACE_STR_COPY string arguments are copied.
1382 TraceEventHandle handle2 = 1387 TraceEventHandle handle2 =
1383 trace_event_internal::AddTraceEvent( 1388 trace_event_internal::AddTraceEvent(
1384 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name2", 0, 0, 1389 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name2", 0, 0,
1385 "arg1", TRACE_STR_COPY("argval"), 1390 "arg1", TRACE_STR_COPY("argval"),
1386 "arg2", TRACE_STR_COPY("argval")); 1391 "arg2", TRACE_STR_COPY("argval"));
1387 size_t num_events = tracer->GetEventsSize(); 1392 float unused;
1393 size_t num_events;
1394 tracer->GetBufferUsage(&unused, &num_events);
1388 EXPECT_GT(num_events, 1u); 1395 EXPECT_GT(num_events, 1u);
1389 const TraceEvent* event1 = tracer->GetEventByHandle(handle1); 1396 const TraceEvent* event1 = tracer->GetEventByHandle(handle1);
1390 const TraceEvent* event2 = tracer->GetEventByHandle(handle2); 1397 const TraceEvent* event2 = tracer->GetEventByHandle(handle2);
1391 ASSERT_TRUE(event1); 1398 ASSERT_TRUE(event1);
1392 ASSERT_TRUE(event2); 1399 ASSERT_TRUE(event2);
1393 EXPECT_STREQ("name1", event1->name()); 1400 EXPECT_STREQ("name1", event1->name());
1394 EXPECT_STREQ("name2", event2->name()); 1401 EXPECT_STREQ("name2", event2->name());
1395 EXPECT_TRUE(event1->parameter_copy_storage() != NULL); 1402 EXPECT_TRUE(event1->parameter_copy_storage() != NULL);
1396 EXPECT_TRUE(event2->parameter_copy_storage() != NULL); 1403 EXPECT_TRUE(event2->parameter_copy_storage() != NULL);
1397 EXPECT_GT(event1->parameter_copy_storage()->size(), 0u); 1404 EXPECT_GT(event1->parameter_copy_storage()->size(), 0u);
1398 EXPECT_GT(event2->parameter_copy_storage()->size(), 0u); 1405 EXPECT_GT(event2->parameter_copy_storage()->size(), 0u);
1399 EndTraceAndFlush(); 1406 EndTraceAndFlush();
1400 } 1407 }
1401 1408
1402 { 1409 {
1403 BeginTrace(); 1410 BeginTrace();
1404 // Test that static literal string arguments are not copied. 1411 // Test that static literal string arguments are not copied.
1405 TraceEventHandle handle1 = 1412 TraceEventHandle handle1 =
1406 trace_event_internal::AddTraceEvent( 1413 trace_event_internal::AddTraceEvent(
1407 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name1", 0, 0, 1414 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name1", 0, 0,
1408 "arg1", "argval", "arg2", "argval"); 1415 "arg1", "argval", "arg2", "argval");
1409 // Test that static TRACE_STR_COPY NULL string arguments are not copied. 1416 // Test that static TRACE_STR_COPY NULL string arguments are not copied.
1410 const char* str1 = NULL; 1417 const char* str1 = NULL;
1411 const char* str2 = NULL; 1418 const char* str2 = NULL;
1412 TraceEventHandle handle2 = 1419 TraceEventHandle handle2 =
1413 trace_event_internal::AddTraceEvent( 1420 trace_event_internal::AddTraceEvent(
1414 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name2", 0, 0, 1421 TRACE_EVENT_PHASE_INSTANT, category_group_enabled, "name2", 0, 0,
1415 "arg1", TRACE_STR_COPY(str1), 1422 "arg1", TRACE_STR_COPY(str1),
1416 "arg2", TRACE_STR_COPY(str2)); 1423 "arg2", TRACE_STR_COPY(str2));
1417 size_t num_events = tracer->GetEventsSize(); 1424 float unused;
1425 size_t num_events;
1426 tracer->GetBufferUsage(&unused, &num_events);
1418 EXPECT_GT(num_events, 1u); 1427 EXPECT_GT(num_events, 1u);
1419 const TraceEvent* event1 = tracer->GetEventByHandle(handle1); 1428 const TraceEvent* event1 = tracer->GetEventByHandle(handle1);
1420 const TraceEvent* event2 = tracer->GetEventByHandle(handle2); 1429 const TraceEvent* event2 = tracer->GetEventByHandle(handle2);
1421 ASSERT_TRUE(event1); 1430 ASSERT_TRUE(event1);
1422 ASSERT_TRUE(event2); 1431 ASSERT_TRUE(event2);
1423 EXPECT_STREQ("name1", event1->name()); 1432 EXPECT_STREQ("name1", event1->name());
1424 EXPECT_STREQ("name2", event2->name()); 1433 EXPECT_STREQ("name2", event2->name());
1425 EXPECT_TRUE(event1->parameter_copy_storage() == NULL); 1434 EXPECT_TRUE(event1->parameter_copy_storage() == NULL);
1426 EXPECT_TRUE(event2->parameter_copy_storage() == NULL); 1435 EXPECT_TRUE(event2->parameter_copy_storage() == NULL);
1427 EndTraceAndFlush(); 1436 EndTraceAndFlush();
(...skipping 1643 matching lines...) Expand 10 before | Expand all | Expand 10 after
3071 EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling); 3080 EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling);
3072 EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace); 3081 EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace);
3073 } 3082 }
3074 } 3083 }
3075 } 3084 }
3076 } 3085 }
3077 3086
3078 3087
3079 } // namespace debug 3088 } // namespace debug
3080 } // namespace base 3089 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698