| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 } | 69 } |
| 70 | 70 |
| 71 TraceEvent::TraceEventHandle EventTracer::addTraceEvent(char phase, const unsign
ed char* categoryEnabledFlag, | 71 TraceEvent::TraceEventHandle EventTracer::addTraceEvent(char phase, const unsign
ed char* categoryEnabledFlag, |
| 72 const char* name, const char* scope, unsigned long long id, unsigned long lo
ng bindId, double timestamp, | 72 const char* name, const char* scope, unsigned long long id, unsigned long lo
ng bindId, double timestamp, |
| 73 int numArgs, const char* argNames[], const unsigned char argTypes[], | 73 int numArgs, const char* argNames[], const unsigned char argTypes[], |
| 74 const unsigned long long argValues[], | 74 const unsigned long long argValues[], |
| 75 PassOwnPtr<TracedValue> tracedValue1, | 75 PassOwnPtr<TracedValue> tracedValue1, |
| 76 PassOwnPtr<TracedValue> tracedValue2, | 76 PassOwnPtr<TracedValue> tracedValue2, |
| 77 unsigned flags) | 77 unsigned flags) |
| 78 { | 78 { |
| 79 scoped_refptr<base::trace_event::ConvertableToTraceFormat> convertables[2]; | 79 scoped_ptr<base::trace_event::ConvertableToTraceFormat> convertables[2]; |
| 80 ASSERT(numArgs <= 2); | 80 ASSERT(numArgs <= 2); |
| 81 // We move m_tracedValues from TracedValues for thread safety. | 81 // We move m_tracedValues from TracedValues for thread safety. |
| 82 // https://crbug.com/478149 | 82 // https://crbug.com/478149 |
| 83 if (numArgs >= 1 && argTypes[0] == TRACE_VALUE_TYPE_CONVERTABLE) | 83 if (numArgs >= 1 && argTypes[0] == TRACE_VALUE_TYPE_CONVERTABLE) |
| 84 convertables[0] = std::move(tracedValue1->m_tracedValue); | 84 convertables[0] = std::move(tracedValue1->m_tracedValue); |
| 85 if (numArgs >= 2 && argTypes[1] == TRACE_VALUE_TYPE_CONVERTABLE) | 85 if (numArgs >= 2 && argTypes[1] == TRACE_VALUE_TYPE_CONVERTABLE) |
| 86 convertables[1] = std::move(tracedValue2->m_tracedValue); | 86 convertables[1] = std::move(tracedValue2->m_tracedValue); |
| 87 return addTraceEvent(phase, categoryEnabledFlag, name, scope, id, bindId, ti
mestamp, numArgs, argNames, argTypes, argValues, convertables, flags); | 87 return addTraceEvent(phase, categoryEnabledFlag, name, scope, id, bindId, ti
mestamp, numArgs, argNames, argTypes, argValues, convertables, flags); |
| 88 } | 88 } |
| 89 | 89 |
| 90 TraceEvent::TraceEventHandle EventTracer::addTraceEvent(char phase, const unsign
ed char* categoryEnabledFlag, | 90 TraceEvent::TraceEventHandle EventTracer::addTraceEvent(char phase, const unsign
ed char* categoryEnabledFlag, |
| 91 const char* name, const char* scope, unsigned long long id, unsigned long lo
ng bindId, double timestamp, | 91 const char* name, const char* scope, unsigned long long id, unsigned long lo
ng bindId, double timestamp, |
| 92 int numArgs, const char** argNames, const unsigned char* argTypes, | 92 int numArgs, const char** argNames, const unsigned char* argTypes, |
| 93 const unsigned long long* argValues, unsigned flags) | 93 const unsigned long long* argValues, unsigned flags) |
| 94 { | 94 { |
| 95 return addTraceEvent(phase, categoryEnabledFlag, name, scope, id, bindId, ti
mestamp, numArgs, argNames, argTypes, argValues, nullptr, flags); | 95 return addTraceEvent(phase, categoryEnabledFlag, name, scope, id, bindId, ti
mestamp, numArgs, argNames, argTypes, argValues, nullptr, flags); |
| 96 } | 96 } |
| 97 | 97 |
| 98 TraceEvent::TraceEventHandle EventTracer::addTraceEvent(char phase, const unsign
ed char* categoryEnabledFlag, | 98 TraceEvent::TraceEventHandle EventTracer::addTraceEvent(char phase, const unsign
ed char* categoryEnabledFlag, |
| 99 const char* name, const char* scope, unsigned long long id, unsigned long lo
ng bindId, double timestamp, | 99 const char* name, const char* scope, unsigned long long id, unsigned long lo
ng bindId, double timestamp, |
| 100 int numArgs, const char** argNames, const unsigned char* argTypes, const uns
igned long long* argValues, | 100 int numArgs, const char** argNames, const unsigned char* argTypes, const uns
igned long long* argValues, |
| 101 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>* convertabl
es, unsigned flags) | 101 scoped_ptr<base::trace_event::ConvertableToTraceFormat>* convertables, unsig
ned flags) |
| 102 { | 102 { |
| 103 base::TimeTicks timestampTimeTicks = base::TimeTicks() + base::TimeDelta::Fr
omSecondsD(timestamp); | 103 base::TimeTicks timestampTimeTicks = base::TimeTicks() + base::TimeDelta::Fr
omSecondsD(timestamp); |
| 104 base::trace_event::TraceEventHandle handle = TRACE_EVENT_API_ADD_TRACE_EVENT
_WITH_THREAD_ID_AND_TIMESTAMP(phase, categoryEnabledFlag, name, scope, id, bindI
d, base::PlatformThread::CurrentId(), timestampTimeTicks, numArgs, argNames, arg
Types, argValues, convertables, flags); | 104 base::trace_event::TraceEventHandle handle = TRACE_EVENT_API_ADD_TRACE_EVENT
_WITH_THREAD_ID_AND_TIMESTAMP(phase, categoryEnabledFlag, name, scope, id, bindI
d, base::PlatformThread::CurrentId(), timestampTimeTicks, numArgs, argNames, arg
Types, argValues, convertables, flags); |
| 105 TraceEvent::TraceEventHandle result; | 105 TraceEvent::TraceEventHandle result; |
| 106 memcpy(&result, &handle, sizeof(result)); | 106 memcpy(&result, &handle, sizeof(result)); |
| 107 return result; | 107 return result; |
| 108 } | 108 } |
| 109 | 109 |
| 110 void EventTracer::updateTraceEventDuration(const unsigned char* categoryEnabledF
lag, const char* name, TraceEvent::TraceEventHandle handle) | 110 void EventTracer::updateTraceEventDuration(const unsigned char* categoryEnabledF
lag, const char* name, TraceEvent::TraceEventHandle handle) |
| 111 { | 111 { |
| 112 base::trace_event::TraceEventHandle traceEventHandle; | 112 base::trace_event::TraceEventHandle traceEventHandle; |
| 113 memcpy(&traceEventHandle, &handle, sizeof(handle)); | 113 memcpy(&traceEventHandle, &handle, sizeof(handle)); |
| 114 TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION(categoryEnabledFlag, name, trace
EventHandle); | 114 TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION(categoryEnabledFlag, name, trace
EventHandle); |
| 115 } | 115 } |
| 116 | 116 |
| 117 double EventTracer::systemTraceTime() | 117 double EventTracer::systemTraceTime() |
| 118 { | 118 { |
| 119 return (base::TimeTicks::Now() - base::TimeTicks()).InSecondsF(); | 119 return (base::TimeTicks::Now() - base::TimeTicks()).InSecondsF(); |
| 120 } | 120 } |
| 121 | 121 |
| 122 } // namespace blink | 122 } // namespace blink |
| OLD | NEW |