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

Side by Side Diff: base/trace_event/trace_event.h

Issue 1122153002: Fixit: Fork base::TimeTicks --> TimeTicks + ThreadTicks + TraceTicks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@FIXIT_timeclasses_1of2
Patch Set: REBASE after it passed CQ but did not commit to tree Created 5 years, 6 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
« no previous file with comments | « base/time/time_win_unittest.cc ('k') | base/trace_event/trace_event_android.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // This header file defines the set of trace_event macros without specifying 5 // This header file defines the set of trace_event macros without specifying
6 // how the events actually get collected and stored. If you need to expose trace 6 // how the events actually get collected and stored. If you need to expose trace
7 // events to some other universe, you can copy-and-paste this file as well as 7 // events to some other universe, you can copy-and-paste this file as well as
8 // trace_event.h, modifying the macros contained there as necessary for the 8 // trace_event.h, modifying the macros contained there as necessary for the
9 // target platform. The end result is that multiple libraries can funnel events 9 // target platform. The end result is that multiple libraries can funnel events
10 // through to a shared trace event collector. 10 // through to a shared trace event collector.
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 base::trace_event::TraceLog::GetInstance()->AddTraceEvent 947 base::trace_event::TraceLog::GetInstance()->AddTraceEvent
948 948
949 // Add a trace event to the platform tracing system. 949 // Add a trace event to the platform tracing system.
950 // base::trace_event::TraceEventHandle 950 // base::trace_event::TraceEventHandle
951 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( 951 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP(
952 // char phase, 952 // char phase,
953 // const unsigned char* category_group_enabled, 953 // const unsigned char* category_group_enabled,
954 // const char* name, 954 // const char* name,
955 // unsigned long long id, 955 // unsigned long long id,
956 // int thread_id, 956 // int thread_id,
957 // const TimeTicks& timestamp, 957 // const TraceTicks& timestamp,
958 // int num_args, 958 // int num_args,
959 // const char** arg_names, 959 // const char** arg_names,
960 // const unsigned char* arg_types, 960 // const unsigned char* arg_types,
961 // const unsigned long long* arg_values, 961 // const unsigned long long* arg_values,
962 // unsigned char flags) 962 // unsigned char flags)
963 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ 963 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \
964 base::trace_event::TraceLog::GetInstance() \ 964 base::trace_event::TraceLog::GetInstance() \
965 ->AddTraceEventWithThreadIdAndTimestamp 965 ->AddTraceEventWithThreadIdAndTimestamp
966 966
967 // Set the duration field of a COMPLETE trace event. 967 // Set the duration field of a COMPLETE trace event.
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 category_group, name, id, thread_id, timestamp, flags, ...) \ 1076 category_group, name, id, thread_id, timestamp, flags, ...) \
1077 do { \ 1077 do { \
1078 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ 1078 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \
1079 if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ 1079 if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \
1080 unsigned char trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ 1080 unsigned char trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \
1081 trace_event_internal::TraceID trace_event_trace_id( \ 1081 trace_event_internal::TraceID trace_event_trace_id( \
1082 id, &trace_event_flags); \ 1082 id, &trace_event_flags); \
1083 trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ 1083 trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \
1084 phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ 1084 phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \
1085 name, trace_event_trace_id.data(), \ 1085 name, trace_event_trace_id.data(), \
1086 thread_id, base::TimeTicks::FromInternalValue(timestamp), \ 1086 thread_id, base::TraceTicks::FromInternalValue(timestamp), \
1087 trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \ 1087 trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \
1088 ##__VA_ARGS__); \ 1088 ##__VA_ARGS__); \
1089 } \ 1089 } \
1090 } while (0) 1090 } while (0)
1091 1091
1092 // Notes regarding the following definitions: 1092 // Notes regarding the following definitions:
1093 // New values can be added and propagated to third party libraries, but existing 1093 // New values can be added and propagated to third party libraries, but existing
1094 // definitions must never be changed, because third party libraries may use old 1094 // definitions must never be changed, because third party libraries may use old
1095 // definitions. 1095 // definitions.
1096 1096
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1317 // std::string version of SetTraceValue so that trace arguments can be strings. 1317 // std::string version of SetTraceValue so that trace arguments can be strings.
1318 static inline void SetTraceValue(const std::string& arg, 1318 static inline void SetTraceValue(const std::string& arg,
1319 unsigned char* type, 1319 unsigned char* type,
1320 unsigned long long* value) { 1320 unsigned long long* value) {
1321 TraceValueUnion type_value; 1321 TraceValueUnion type_value;
1322 type_value.as_string = arg.c_str(); 1322 type_value.as_string = arg.c_str();
1323 *type = TRACE_VALUE_TYPE_COPY_STRING; 1323 *type = TRACE_VALUE_TYPE_COPY_STRING;
1324 *value = type_value.as_uint; 1324 *value = type_value.as_uint;
1325 } 1325 }
1326 1326
1327 // base::Time and base::TimeTicks version of SetTraceValue to make it easier to 1327 // base::Time, base::TimeTicks, etc. versions of SetTraceValue to make it easier
1328 // trace these types. 1328 // to trace these types.
1329 static inline void SetTraceValue(const base::Time arg, 1329 static inline void SetTraceValue(const base::Time arg,
1330 unsigned char* type, 1330 unsigned char* type,
1331 unsigned long long* value) { 1331 unsigned long long* value) {
1332 *type = TRACE_VALUE_TYPE_INT; 1332 *type = TRACE_VALUE_TYPE_INT;
1333 *value = arg.ToInternalValue(); 1333 *value = arg.ToInternalValue();
1334 } 1334 }
1335 1335
1336 static inline void SetTraceValue(const base::TimeTicks arg, 1336 static inline void SetTraceValue(const base::TimeTicks arg,
1337 unsigned char* type, 1337 unsigned char* type,
1338 unsigned long long* value) { 1338 unsigned long long* value) {
1339 *type = TRACE_VALUE_TYPE_INT; 1339 *type = TRACE_VALUE_TYPE_INT;
1340 *value = arg.ToInternalValue(); 1340 *value = arg.ToInternalValue();
1341 } 1341 }
1342 1342
1343 static inline void SetTraceValue(const base::ThreadTicks arg,
1344 unsigned char* type,
1345 unsigned long long* value) {
1346 *type = TRACE_VALUE_TYPE_INT;
1347 *value = arg.ToInternalValue();
1348 }
1349
1350 static inline void SetTraceValue(const base::TraceTicks arg,
1351 unsigned char* type,
1352 unsigned long long* value) {
1353 *type = TRACE_VALUE_TYPE_INT;
1354 *value = arg.ToInternalValue();
1355 }
1356
1343 // These AddTraceEvent and AddTraceEventWithThreadIdAndTimestamp template 1357 // These AddTraceEvent and AddTraceEventWithThreadIdAndTimestamp template
1344 // functions are defined here instead of in the macro, because the arg_values 1358 // functions are defined here instead of in the macro, because the arg_values
1345 // could be temporary objects, such as std::string. In order to store 1359 // could be temporary objects, such as std::string. In order to store
1346 // pointers to the internal c_str and pass through to the tracing API, 1360 // pointers to the internal c_str and pass through to the tracing API,
1347 // the arg_values must live throughout these procedures. 1361 // the arg_values must live throughout these procedures.
1348 1362
1349 static inline base::trace_event::TraceEventHandle 1363 static inline base::trace_event::TraceEventHandle
1350 AddTraceEventWithThreadIdAndTimestamp( 1364 AddTraceEventWithThreadIdAndTimestamp(
1351 char phase, 1365 char phase,
1352 const unsigned char* category_group_enabled, 1366 const unsigned char* category_group_enabled,
1353 const char* name, 1367 const char* name,
1354 unsigned long long id, 1368 unsigned long long id,
1355 int thread_id, 1369 int thread_id,
1356 const base::TimeTicks& timestamp, 1370 const base::TraceTicks& timestamp,
1357 unsigned char flags, 1371 unsigned char flags,
1358 const char* arg1_name, 1372 const char* arg1_name,
1359 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& 1373 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>&
1360 arg1_val) { 1374 arg1_val) {
1361 const int num_args = 1; 1375 const int num_args = 1;
1362 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; 1376 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE };
1363 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( 1377 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
1364 phase, category_group_enabled, name, id, thread_id, timestamp, 1378 phase, category_group_enabled, name, id, thread_id, timestamp,
1365 num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); 1379 num_args, &arg1_name, arg_types, NULL, &arg1_val, flags);
1366 } 1380 }
1367 1381
1368 template<class ARG1_TYPE> 1382 template<class ARG1_TYPE>
1369 static inline base::trace_event::TraceEventHandle 1383 static inline base::trace_event::TraceEventHandle
1370 AddTraceEventWithThreadIdAndTimestamp( 1384 AddTraceEventWithThreadIdAndTimestamp(
1371 char phase, 1385 char phase,
1372 const unsigned char* category_group_enabled, 1386 const unsigned char* category_group_enabled,
1373 const char* name, 1387 const char* name,
1374 unsigned long long id, 1388 unsigned long long id,
1375 int thread_id, 1389 int thread_id,
1376 const base::TimeTicks& timestamp, 1390 const base::TraceTicks& timestamp,
1377 unsigned char flags, 1391 unsigned char flags,
1378 const char* arg1_name, 1392 const char* arg1_name,
1379 const ARG1_TYPE& arg1_val, 1393 const ARG1_TYPE& arg1_val,
1380 const char* arg2_name, 1394 const char* arg2_name,
1381 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& 1395 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>&
1382 arg2_val) { 1396 arg2_val) {
1383 const int num_args = 2; 1397 const int num_args = 2;
1384 const char* arg_names[2] = { arg1_name, arg2_name }; 1398 const char* arg_names[2] = { arg1_name, arg2_name };
1385 1399
1386 unsigned char arg_types[2]; 1400 unsigned char arg_types[2];
(...skipping 11 matching lines...) Expand all
1398 } 1412 }
1399 1413
1400 template<class ARG2_TYPE> 1414 template<class ARG2_TYPE>
1401 static inline base::trace_event::TraceEventHandle 1415 static inline base::trace_event::TraceEventHandle
1402 AddTraceEventWithThreadIdAndTimestamp( 1416 AddTraceEventWithThreadIdAndTimestamp(
1403 char phase, 1417 char phase,
1404 const unsigned char* category_group_enabled, 1418 const unsigned char* category_group_enabled,
1405 const char* name, 1419 const char* name,
1406 unsigned long long id, 1420 unsigned long long id,
1407 int thread_id, 1421 int thread_id,
1408 const base::TimeTicks& timestamp, 1422 const base::TraceTicks& timestamp,
1409 unsigned char flags, 1423 unsigned char flags,
1410 const char* arg1_name, 1424 const char* arg1_name,
1411 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, 1425 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val,
1412 const char* arg2_name, 1426 const char* arg2_name,
1413 const ARG2_TYPE& arg2_val) { 1427 const ARG2_TYPE& arg2_val) {
1414 const int num_args = 2; 1428 const int num_args = 2;
1415 const char* arg_names[2] = { arg1_name, arg2_name }; 1429 const char* arg_names[2] = { arg1_name, arg2_name };
1416 1430
1417 unsigned char arg_types[2]; 1431 unsigned char arg_types[2];
1418 unsigned long long arg_values[2]; 1432 unsigned long long arg_values[2];
(...skipping 10 matching lines...) Expand all
1429 num_args, arg_names, arg_types, arg_values, convertable_values, flags); 1443 num_args, arg_names, arg_types, arg_values, convertable_values, flags);
1430 } 1444 }
1431 1445
1432 static inline base::trace_event::TraceEventHandle 1446 static inline base::trace_event::TraceEventHandle
1433 AddTraceEventWithThreadIdAndTimestamp( 1447 AddTraceEventWithThreadIdAndTimestamp(
1434 char phase, 1448 char phase,
1435 const unsigned char* category_group_enabled, 1449 const unsigned char* category_group_enabled,
1436 const char* name, 1450 const char* name,
1437 unsigned long long id, 1451 unsigned long long id,
1438 int thread_id, 1452 int thread_id,
1439 const base::TimeTicks& timestamp, 1453 const base::TraceTicks& timestamp,
1440 unsigned char flags, 1454 unsigned char flags,
1441 const char* arg1_name, 1455 const char* arg1_name,
1442 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, 1456 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val,
1443 const char* arg2_name, 1457 const char* arg2_name,
1444 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& 1458 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>&
1445 arg2_val) { 1459 arg2_val) {
1446 const int num_args = 2; 1460 const int num_args = 2;
1447 const char* arg_names[2] = { arg1_name, arg2_name }; 1461 const char* arg_names[2] = { arg1_name, arg2_name };
1448 unsigned char arg_types[2] = 1462 unsigned char arg_types[2] =
1449 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; 1463 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE };
1450 scoped_refptr<base::trace_event::ConvertableToTraceFormat> 1464 scoped_refptr<base::trace_event::ConvertableToTraceFormat>
1451 convertable_values[2] = {arg1_val, arg2_val}; 1465 convertable_values[2] = {arg1_val, arg2_val};
1452 1466
1453 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( 1467 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
1454 phase, category_group_enabled, name, id, thread_id, timestamp, 1468 phase, category_group_enabled, name, id, thread_id, timestamp,
1455 num_args, arg_names, arg_types, NULL, convertable_values, flags); 1469 num_args, arg_names, arg_types, NULL, convertable_values, flags);
1456 } 1470 }
1457 1471
1458 static inline base::trace_event::TraceEventHandle 1472 static inline base::trace_event::TraceEventHandle
1459 AddTraceEventWithThreadIdAndTimestamp( 1473 AddTraceEventWithThreadIdAndTimestamp(
1460 char phase, 1474 char phase,
1461 const unsigned char* category_group_enabled, 1475 const unsigned char* category_group_enabled,
1462 const char* name, 1476 const char* name,
1463 unsigned long long id, 1477 unsigned long long id,
1464 int thread_id, 1478 int thread_id,
1465 const base::TimeTicks& timestamp, 1479 const base::TraceTicks& timestamp,
1466 unsigned char flags) { 1480 unsigned char flags) {
1467 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( 1481 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
1468 phase, category_group_enabled, name, id, thread_id, timestamp, 1482 phase, category_group_enabled, name, id, thread_id, timestamp,
1469 kZeroNumArgs, NULL, NULL, NULL, NULL, flags); 1483 kZeroNumArgs, NULL, NULL, NULL, NULL, flags);
1470 } 1484 }
1471 1485
1472 static inline base::trace_event::TraceEventHandle AddTraceEvent( 1486 static inline base::trace_event::TraceEventHandle AddTraceEvent(
1473 char phase, 1487 char phase,
1474 const unsigned char* category_group_enabled, 1488 const unsigned char* category_group_enabled,
1475 const char* name, 1489 const char* name,
1476 unsigned long long id, 1490 unsigned long long id,
1477 unsigned char flags) { 1491 unsigned char flags) {
1478 const int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); 1492 const int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
1479 const base::TimeTicks now = base::TimeTicks::NowFromSystemTraceTime(); 1493 const base::TraceTicks now = base::TraceTicks::Now();
1480 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, 1494 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled,
1481 name, id, thread_id, now, flags); 1495 name, id, thread_id, now, flags);
1482 } 1496 }
1483 1497
1484 template<class ARG1_TYPE> 1498 template<class ARG1_TYPE>
1485 static inline base::trace_event::TraceEventHandle 1499 static inline base::trace_event::TraceEventHandle
1486 AddTraceEventWithThreadIdAndTimestamp( 1500 AddTraceEventWithThreadIdAndTimestamp(
1487 char phase, 1501 char phase,
1488 const unsigned char* category_group_enabled, 1502 const unsigned char* category_group_enabled,
1489 const char* name, 1503 const char* name,
1490 unsigned long long id, 1504 unsigned long long id,
1491 int thread_id, 1505 int thread_id,
1492 const base::TimeTicks& timestamp, 1506 const base::TraceTicks& timestamp,
1493 unsigned char flags, 1507 unsigned char flags,
1494 const char* arg1_name, 1508 const char* arg1_name,
1495 const ARG1_TYPE& arg1_val) { 1509 const ARG1_TYPE& arg1_val) {
1496 const int num_args = 1; 1510 const int num_args = 1;
1497 unsigned char arg_types[1]; 1511 unsigned char arg_types[1];
1498 unsigned long long arg_values[1]; 1512 unsigned long long arg_values[1];
1499 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); 1513 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]);
1500 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( 1514 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
1501 phase, category_group_enabled, name, id, thread_id, timestamp, 1515 phase, category_group_enabled, name, id, thread_id, timestamp,
1502 num_args, &arg1_name, arg_types, arg_values, NULL, flags); 1516 num_args, &arg1_name, arg_types, arg_values, NULL, flags);
1503 } 1517 }
1504 1518
1505 template<class ARG1_TYPE> 1519 template<class ARG1_TYPE>
1506 static inline base::trace_event::TraceEventHandle AddTraceEvent( 1520 static inline base::trace_event::TraceEventHandle AddTraceEvent(
1507 char phase, 1521 char phase,
1508 const unsigned char* category_group_enabled, 1522 const unsigned char* category_group_enabled,
1509 const char* name, 1523 const char* name,
1510 unsigned long long id, 1524 unsigned long long id,
1511 unsigned char flags, 1525 unsigned char flags,
1512 const char* arg1_name, 1526 const char* arg1_name,
1513 const ARG1_TYPE& arg1_val) { 1527 const ARG1_TYPE& arg1_val) {
1514 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); 1528 int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
1515 base::TimeTicks now = base::TimeTicks::NowFromSystemTraceTime(); 1529 base::TraceTicks now = base::TraceTicks::Now();
1516 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, 1530 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled,
1517 name, id, thread_id, now, flags, 1531 name, id, thread_id, now, flags,
1518 arg1_name, arg1_val); 1532 arg1_name, arg1_val);
1519 } 1533 }
1520 1534
1521 template<class ARG1_TYPE, class ARG2_TYPE> 1535 template<class ARG1_TYPE, class ARG2_TYPE>
1522 static inline base::trace_event::TraceEventHandle 1536 static inline base::trace_event::TraceEventHandle
1523 AddTraceEventWithThreadIdAndTimestamp( 1537 AddTraceEventWithThreadIdAndTimestamp(
1524 char phase, 1538 char phase,
1525 const unsigned char* category_group_enabled, 1539 const unsigned char* category_group_enabled,
1526 const char* name, 1540 const char* name,
1527 unsigned long long id, 1541 unsigned long long id,
1528 int thread_id, 1542 int thread_id,
1529 const base::TimeTicks& timestamp, 1543 const base::TraceTicks& timestamp,
1530 unsigned char flags, 1544 unsigned char flags,
1531 const char* arg1_name, 1545 const char* arg1_name,
1532 const ARG1_TYPE& arg1_val, 1546 const ARG1_TYPE& arg1_val,
1533 const char* arg2_name, 1547 const char* arg2_name,
1534 const ARG2_TYPE& arg2_val) { 1548 const ARG2_TYPE& arg2_val) {
1535 const int num_args = 2; 1549 const int num_args = 2;
1536 const char* arg_names[2] = { arg1_name, arg2_name }; 1550 const char* arg_names[2] = { arg1_name, arg2_name };
1537 unsigned char arg_types[2]; 1551 unsigned char arg_types[2];
1538 unsigned long long arg_values[2]; 1552 unsigned long long arg_values[2];
1539 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); 1553 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]);
1540 SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); 1554 SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]);
1541 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( 1555 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
1542 phase, category_group_enabled, name, id, thread_id, timestamp, 1556 phase, category_group_enabled, name, id, thread_id, timestamp,
1543 num_args, arg_names, arg_types, arg_values, NULL, flags); 1557 num_args, arg_names, arg_types, arg_values, NULL, flags);
1544 } 1558 }
1545 1559
1546 template<class ARG1_TYPE, class ARG2_TYPE> 1560 template<class ARG1_TYPE, class ARG2_TYPE>
1547 static inline base::trace_event::TraceEventHandle AddTraceEvent( 1561 static inline base::trace_event::TraceEventHandle AddTraceEvent(
1548 char phase, 1562 char phase,
1549 const unsigned char* category_group_enabled, 1563 const unsigned char* category_group_enabled,
1550 const char* name, 1564 const char* name,
1551 unsigned long long id, 1565 unsigned long long id,
1552 unsigned char flags, 1566 unsigned char flags,
1553 const char* arg1_name, 1567 const char* arg1_name,
1554 const ARG1_TYPE& arg1_val, 1568 const ARG1_TYPE& arg1_val,
1555 const char* arg2_name, 1569 const char* arg2_name,
1556 const ARG2_TYPE& arg2_val) { 1570 const ARG2_TYPE& arg2_val) {
1557 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); 1571 int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
1558 base::TimeTicks now = base::TimeTicks::NowFromSystemTraceTime(); 1572 base::TraceTicks now = base::TraceTicks::Now();
1559 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, 1573 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled,
1560 name, id, thread_id, now, flags, 1574 name, id, thread_id, now, flags,
1561 arg1_name, arg1_val, 1575 arg1_name, arg1_val,
1562 arg2_name, arg2_val); 1576 arg2_name, arg2_val);
1563 } 1577 }
1564 1578
1565 // Used by TRACE_EVENTx macros. Do not use directly. 1579 // Used by TRACE_EVENTx macros. Do not use directly.
1566 class TRACE_EVENT_API_CLASS_EXPORT ScopedTracer { 1580 class TRACE_EVENT_API_CLASS_EXPORT ScopedTracer {
1567 public: 1581 public:
1568 // Note: members of data_ intentionally left uninitialized. See Initialize. 1582 // Note: members of data_ intentionally left uninitialized. See Initialize.
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1678 const char* name_; 1692 const char* name_;
1679 IDType id_; 1693 IDType id_;
1680 1694
1681 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); 1695 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject);
1682 }; 1696 };
1683 1697
1684 } // namespace trace_event 1698 } // namespace trace_event
1685 } // namespace base 1699 } // namespace base
1686 1700
1687 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ 1701 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_
OLDNEW
« no previous file with comments | « base/time/time_win_unittest.cc ('k') | base/trace_event/trace_event_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698