/Users/deen/code/yugabyte-db/src/yb/util/debug/trace_event.h
Line | Count | Source (jump to first uncovered line) |
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 |
3 | | // found in the LICENSE file. |
4 | | // |
5 | | // The following only applies to changes made to this file as part of YugaByte development. |
6 | | // |
7 | | // Portions Copyright (c) YugaByte, Inc. |
8 | | // |
9 | | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except |
10 | | // in compliance with the License. You may obtain a copy of the License at |
11 | | // |
12 | | // http://www.apache.org/licenses/LICENSE-2.0 |
13 | | // |
14 | | // Unless required by applicable law or agreed to in writing, software distributed under the License |
15 | | // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
16 | | // or implied. See the License for the specific language governing permissions and limitations |
17 | | // under the License. |
18 | | // |
19 | | |
20 | | // This header file defines the set of trace_event macros without specifying |
21 | | // how the events actually get collected and stored. If you need to expose trace |
22 | | // events to some other universe, you can copy-and-paste this file as well as |
23 | | // trace_event.h, modifying the macros contained there as necessary for the |
24 | | // target platform. The end result is that multiple libraries can funnel events |
25 | | // through to a shared trace event collector. |
26 | | |
27 | | // Trace events are for tracking application performance and resource usage. |
28 | | // Macros are provided to track: |
29 | | // Begin and end of function calls |
30 | | // Counters |
31 | | // |
32 | | // Events are issued against categories. Whereas LOG's |
33 | | // categories are statically defined, TRACE categories are created |
34 | | // implicitly with a string. For example: |
35 | | // TRACE_EVENT_INSTANT0("MY_SUBSYSTEM", "SomeImportantEvent", |
36 | | // TRACE_EVENT_SCOPE_THREAD) |
37 | | // |
38 | | // It is often the case that one trace may belong in multiple categories at the |
39 | | // same time. The first argument to the trace can be a comma-separated list of |
40 | | // categories, forming a category group, like: |
41 | | // |
42 | | // TRACE_EVENT_INSTANT0("input,views", "OnMouseOver", TRACE_EVENT_SCOPE_THREAD) |
43 | | // |
44 | | // We can enable/disable tracing of OnMouseOver by enabling/disabling either |
45 | | // category. |
46 | | // |
47 | | // Events can be INSTANT, or can be pairs of BEGIN and END in the same scope: |
48 | | // TRACE_EVENT_BEGIN0("MY_SUBSYSTEM", "SomethingCostly") |
49 | | // doSomethingCostly() |
50 | | // TRACE_EVENT_END0("MY_SUBSYSTEM", "SomethingCostly") |
51 | | // Note: our tools can't always determine the correct BEGIN/END pairs unless |
52 | | // these are used in the same scope. Use ASYNC_BEGIN/ASYNC_END macros if you |
53 | | // need them to be in separate scopes. |
54 | | // |
55 | | // A common use case is to trace entire function scopes. This |
56 | | // issues a trace BEGIN and END automatically: |
57 | | // void doSomethingCostly() { |
58 | | // TRACE_EVENT0("MY_SUBSYSTEM", "doSomethingCostly"); |
59 | | // ... |
60 | | // } |
61 | | // |
62 | | // Additional parameters can be associated with an event: |
63 | | // void doSomethingCostly2(int howMuch) { |
64 | | // TRACE_EVENT1("MY_SUBSYSTEM", "doSomethingCostly", |
65 | | // "howMuch", howMuch); |
66 | | // ... |
67 | | // } |
68 | | // |
69 | | // The trace system will automatically add to this information the |
70 | | // current process id, thread id, and a timestamp in microseconds. |
71 | | // |
72 | | // To trace an asynchronous procedure such as an IPC send/receive, use |
73 | | // ASYNC_BEGIN and ASYNC_END: |
74 | | // [single threaded sender code] |
75 | | // static int send_count = 0; |
76 | | // ++send_count; |
77 | | // TRACE_EVENT_ASYNC_BEGIN0("ipc", "message", send_count); |
78 | | // Send(new MyMessage(send_count)); |
79 | | // [receive code] |
80 | | // void OnMyMessage(send_count) { |
81 | | // TRACE_EVENT_ASYNC_END0("ipc", "message", send_count); |
82 | | // } |
83 | | // The third parameter is a unique ID to match ASYNC_BEGIN/ASYNC_END pairs. |
84 | | // ASYNC_BEGIN and ASYNC_END can occur on any thread of any traced process. |
85 | | // Pointers can be used for the ID parameter, and they will be mangled |
86 | | // internally so that the same pointer on two different processes will not |
87 | | // match. For example: |
88 | | // class MyTracedClass { |
89 | | // public: |
90 | | // MyTracedClass() { |
91 | | // TRACE_EVENT_ASYNC_BEGIN0("category", "MyTracedClass", this); |
92 | | // } |
93 | | // ~MyTracedClass() { |
94 | | // TRACE_EVENT_ASYNC_END0("category", "MyTracedClass", this); |
95 | | // } |
96 | | // } |
97 | | // |
98 | | // Trace event also supports counters, which is a way to track a quantity |
99 | | // as it varies over time. Counters are created with the following macro: |
100 | | // TRACE_COUNTER1("MY_SUBSYSTEM", "myCounter", g_myCounterValue); |
101 | | // |
102 | | // Counters are process-specific. The macro itself can be issued from any |
103 | | // thread, however. |
104 | | // |
105 | | // Sometimes, you want to track two counters at once. You can do this with two |
106 | | // counter macros: |
107 | | // TRACE_COUNTER1("MY_SUBSYSTEM", "myCounter0", g_myCounterValue[0]); |
108 | | // TRACE_COUNTER1("MY_SUBSYSTEM", "myCounter1", g_myCounterValue[1]); |
109 | | // Or you can do it with a combined macro: |
110 | | // TRACE_COUNTER2("MY_SUBSYSTEM", "myCounter", |
111 | | // "bytesPinned", g_myCounterValue[0], |
112 | | // "bytesAllocated", g_myCounterValue[1]); |
113 | | // This indicates to the tracing UI that these counters should be displayed |
114 | | // in a single graph, as a summed area chart. |
115 | | // |
116 | | // Since counters are in a global namespace, you may want to disambiguate with a |
117 | | // unique ID, by using the TRACE_COUNTER_ID* variations. |
118 | | // |
119 | | // By default, trace collection is compiled in, but turned off at runtime. |
120 | | // Collecting trace data is the responsibility of the embedding |
121 | | // application. In Chrome's case, navigating to about:tracing will turn on |
122 | | // tracing and display data collected across all active processes. |
123 | | // |
124 | | // |
125 | | // Memory scoping note: |
126 | | // Tracing copies the pointers, not the string content, of the strings passed |
127 | | // in for category_group, name, and arg_names. Thus, the following code will |
128 | | // cause problems: |
129 | | // char* str = strdup("importantName"); |
130 | | // TRACE_EVENT_INSTANT0("SUBSYSTEM", str); // BAD! |
131 | | // free(str); // Trace system now has dangling pointer |
132 | | // |
133 | | // To avoid this issue with the |name| and |arg_name| parameters, use the |
134 | | // TRACE_EVENT_COPY_XXX overloads of the macros at additional runtime overhead. |
135 | | // Notes: The category must always be in a long-lived char* (i.e. static const). |
136 | | // The |arg_values|, when used, are always deep copied with the _COPY |
137 | | // macros. |
138 | | // |
139 | | // When are string argument values copied: |
140 | | // const char* arg_values are only referenced by default: |
141 | | // TRACE_EVENT1("category", "name", |
142 | | // "arg1", "literal string is only referenced"); |
143 | | // Use TRACE_STR_COPY to force copying of a const char*: |
144 | | // TRACE_EVENT1("category", "name", |
145 | | // "arg1", TRACE_STR_COPY("string will be copied")); |
146 | | // std::string arg_values are always copied: |
147 | | // TRACE_EVENT1("category", "name", |
148 | | // "arg1", std::string("string will be copied")); |
149 | | // |
150 | | // |
151 | | // Convertable notes: |
152 | | // Converting a large data type to a string can be costly. To help with this, |
153 | | // the trace framework provides an interface ConvertableToTraceFormat. If you |
154 | | // inherit from it and implement the AppendAsTraceFormat method the trace |
155 | | // framework will call back to your object to convert a trace output time. This |
156 | | // means, if the category for the event is disabled, the conversion will not |
157 | | // happen. |
158 | | // |
159 | | // class MyData : public yb::debug::ConvertableToTraceFormat { |
160 | | // public: |
161 | | // MyData() {} |
162 | | // virtual void AppendAsTraceFormat(std::string* out) const override { |
163 | | // out->append("{\"foo\":1}"); |
164 | | // } |
165 | | // private: |
166 | | // virtual ~MyData() {} |
167 | | // DISALLOW_COPY_AND_ASSIGN(MyData); |
168 | | // }; |
169 | | // |
170 | | // TRACE_EVENT1("foo", "bar", "data", |
171 | | // scoped_refptr<ConvertableToTraceFormat>(new MyData())); |
172 | | // |
173 | | // The trace framework will take ownership if the passed pointer and it will |
174 | | // be free'd when the trace buffer is flushed. |
175 | | // |
176 | | // Note, we only do the conversion when the buffer is flushed, so the provided |
177 | | // data object should not be modified after it's passed to the trace framework. |
178 | | // |
179 | | // |
180 | | // Thread Safety: |
181 | | // A thread safe singleton and mutex are used for thread safety. Category |
182 | | // enabled flags are used to limit the performance impact when the system |
183 | | // is not enabled. |
184 | | // |
185 | | // TRACE_EVENT macros first cache a pointer to a category. The categories are |
186 | | // statically allocated and safe at all times, even after exit. Fetching a |
187 | | // category is protected by the TraceLog::lock_. Multiple threads initializing |
188 | | // the static variable is safe, as they will be serialized by the lock and |
189 | | // multiple calls will return the same pointer to the category. |
190 | | // |
191 | | // Then the category_group_enabled flag is checked. This is a unsigned char, and |
192 | | // not intended to be multithread safe. It optimizes access to AddTraceEvent |
193 | | // which is threadsafe internally via TraceLog::lock_. The enabled flag may |
194 | | // cause some threads to incorrectly call or skip calling AddTraceEvent near |
195 | | // the time of the system being enabled or disabled. This is acceptable as |
196 | | // we tolerate some data loss while the system is being enabled/disabled and |
197 | | // because AddTraceEvent is threadsafe internally and checks the enabled state |
198 | | // again under lock. |
199 | | // |
200 | | // Without the use of these static category pointers and enabled flags all |
201 | | // trace points would carry a significant performance cost of acquiring a lock |
202 | | // and resolving the category. |
203 | | |
204 | | #ifndef YB_UTIL_DEBUG_TRACE_EVENT_H_ |
205 | | #define YB_UTIL_DEBUG_TRACE_EVENT_H_ |
206 | | |
207 | | #include <string> |
208 | | |
209 | | #include "yb/gutil/atomicops.h" |
210 | | #include "yb/gutil/walltime.h" |
211 | | |
212 | | #include "yb/util/debug/trace_event_impl.h" |
213 | | #include "yb/util/debug/trace_event_memory.h" // For INTERNAL_TRACE_MEMORY |
214 | | |
215 | | // By default, const char* argument values are assumed to have long-lived scope |
216 | | // and will not be copied. Use this macro to force a const char* to be copied. |
217 | | #define TRACE_STR_COPY(str) \ |
218 | | trace_event_internal::TraceStringWithCopy(str) |
219 | | |
220 | | // This will mark the trace event as disabled by default. The user will need |
221 | | // to explicitly enable the event. |
222 | 262 | #define TRACE_DISABLED_BY_DEFAULT(name) "disabled-by-default-" name |
223 | | |
224 | | // By default, uint64 ID argument values are not mangled with the Process ID in |
225 | | // TRACE_EVENT_ASYNC macros. Use this macro to force Process ID mangling. |
226 | | #define TRACE_ID_MANGLE(id) \ |
227 | | trace_event_internal::TraceID::ForceMangle(id) |
228 | | |
229 | | // By default, pointers are mangled with the Process ID in TRACE_EVENT_ASYNC |
230 | | // macros. Use this macro to prevent Process ID mangling. |
231 | | #define TRACE_ID_DONT_MANGLE(id) \ |
232 | | trace_event_internal::TraceID::DontMangle(id) |
233 | | |
234 | | // Records a pair of begin and end events called "name" for the current |
235 | | // scope, with 0, 1 or 2 associated arguments. If the category is not |
236 | | // enabled, then this does nothing. |
237 | | // - category and name strings must have application lifetime (statics or |
238 | | // literals). They may not include " chars. |
239 | | #define TRACE_EVENT0(category_group, name) \ |
240 | 490M | INTERNAL_TRACE_MEMORY(category_group, name) \ |
241 | 490M | INTERNAL_TRACE_EVENT_ADD_SCOPED(category_group, name) |
242 | | #define TRACE_EVENT1(category_group, name, arg1_name, arg1_val) \ |
243 | 97.0M | INTERNAL_TRACE_MEMORY(category_group, name) \ |
244 | 97.0M | INTERNAL_TRACE_EVENT_ADD_SCOPED(category_group, name, arg1_name, arg1_val) |
245 | | #define TRACE_EVENT2( \ |
246 | | category_group, name, arg1_name, arg1_val, arg2_name, arg2_val) \ |
247 | 41.0M | INTERNAL_TRACE_MEMORY(category_group, name) \ |
248 | 41.0M | INTERNAL_TRACE_EVENT_ADD_SCOPED( \ |
249 | 77.4k | category_group, name, arg1_name, arg1_val, arg2_name, arg2_val) |
250 | | |
251 | | // Records events like TRACE_EVENT2 but uses |memory_tag| for memory tracing. |
252 | | // Use this where |name| is too generic to accurately aggregate allocations. |
253 | | #define TRACE_EVENT_WITH_MEMORY_TAG2( \ |
254 | | category, name, memory_tag, arg1_name, arg1_val, arg2_name, arg2_val) \ |
255 | | INTERNAL_TRACE_MEMORY(category, memory_tag) \ |
256 | | INTERNAL_TRACE_EVENT_ADD_SCOPED( \ |
257 | | category, name, arg1_name, arg1_val, arg2_name, arg2_val) |
258 | | |
259 | | // UNSHIPPED_TRACE_EVENT* are like TRACE_EVENT* except that they are not |
260 | | // included in official builds. |
261 | | |
262 | | #if OFFICIAL_BUILD |
263 | | #undef TRACING_IS_OFFICIAL_BUILD |
264 | | #define TRACING_IS_OFFICIAL_BUILD 1 |
265 | | #elif !defined(TRACING_IS_OFFICIAL_BUILD) |
266 | | #define TRACING_IS_OFFICIAL_BUILD 0 |
267 | | #endif |
268 | | |
269 | | #if TRACING_IS_OFFICIAL_BUILD |
270 | | #define UNSHIPPED_TRACE_EVENT0(category_group, name) (void)0 |
271 | | #define UNSHIPPED_TRACE_EVENT1(category_group, name, arg1_name, arg1_val) \ |
272 | | (void)0 |
273 | | #define UNSHIPPED_TRACE_EVENT2(category_group, name, arg1_name, arg1_val, \ |
274 | | arg2_name, arg2_val) (void)0 |
275 | | #define UNSHIPPED_TRACE_EVENT_INSTANT0(category_group, name, scope) (void)0 |
276 | | #define UNSHIPPED_TRACE_EVENT_INSTANT1(category_group, name, scope, \ |
277 | | arg1_name, arg1_val) (void)0 |
278 | | #define UNSHIPPED_TRACE_EVENT_INSTANT2(category_group, name, scope, \ |
279 | | arg1_name, arg1_val, \ |
280 | | arg2_name, arg2_val) (void)0 |
281 | | #else |
282 | | #define UNSHIPPED_TRACE_EVENT0(category_group, name) \ |
283 | | TRACE_EVENT0(category_group, name) |
284 | | #define UNSHIPPED_TRACE_EVENT1(category_group, name, arg1_name, arg1_val) \ |
285 | | TRACE_EVENT1(category_group, name, arg1_name, arg1_val) |
286 | | #define UNSHIPPED_TRACE_EVENT2(category_group, name, arg1_name, arg1_val, \ |
287 | | arg2_name, arg2_val) \ |
288 | | TRACE_EVENT2(category_group, name, arg1_name, arg1_val, arg2_name, arg2_val) |
289 | | #define UNSHIPPED_TRACE_EVENT_INSTANT0(category_group, name, scope) \ |
290 | | TRACE_EVENT_INSTANT0(category_group, name, scope) |
291 | | #define UNSHIPPED_TRACE_EVENT_INSTANT1(category_group, name, scope, \ |
292 | | arg1_name, arg1_val) \ |
293 | | TRACE_EVENT_INSTANT1(category_group, name, scope, arg1_name, arg1_val) |
294 | | #define UNSHIPPED_TRACE_EVENT_INSTANT2(category_group, name, scope, \ |
295 | | arg1_name, arg1_val, \ |
296 | | arg2_name, arg2_val) \ |
297 | | TRACE_EVENT_INSTANT2(category_group, name, scope, arg1_name, arg1_val, \ |
298 | | arg2_name, arg2_val) |
299 | | #endif |
300 | | |
301 | | // Records a single event called "name" immediately, with 0, 1 or 2 |
302 | | // associated arguments. If the category is not enabled, then this |
303 | | // does nothing. |
304 | | // - category and name strings must have application lifetime (statics or |
305 | | // literals). They may not include " chars. |
306 | | #define TRACE_EVENT_INSTANT0(category_group, name, scope) \ |
307 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
308 | | category_group, name, TRACE_EVENT_FLAG_NONE | scope) |
309 | | #define TRACE_EVENT_INSTANT1(category_group, name, scope, arg1_name, arg1_val) \ |
310 | 628k | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
311 | 628k | category_group, name, TRACE_EVENT_FLAG_NONE | scope, \ |
312 | 628k | arg1_name, arg1_val) |
313 | | #define TRACE_EVENT_INSTANT2(category_group, name, scope, arg1_name, arg1_val, \ |
314 | | arg2_name, arg2_val) \ |
315 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
316 | | category_group, name, TRACE_EVENT_FLAG_NONE | scope, \ |
317 | | arg1_name, arg1_val, arg2_name, arg2_val) |
318 | | #define TRACE_EVENT_COPY_INSTANT0(category_group, name, scope) \ |
319 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
320 | | category_group, name, TRACE_EVENT_FLAG_COPY | scope) |
321 | | #define TRACE_EVENT_COPY_INSTANT1(category_group, name, scope, \ |
322 | | arg1_name, arg1_val) \ |
323 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
324 | | category_group, name, TRACE_EVENT_FLAG_COPY | scope, arg1_name, \ |
325 | | arg1_val) |
326 | | #define TRACE_EVENT_COPY_INSTANT2(category_group, name, scope, \ |
327 | | arg1_name, arg1_val, \ |
328 | | arg2_name, arg2_val) \ |
329 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
330 | | category_group, name, TRACE_EVENT_FLAG_COPY | scope, \ |
331 | | arg1_name, arg1_val, arg2_name, arg2_val) |
332 | | |
333 | | // Sets the current sample state to the given category and name (both must be |
334 | | // constant strings). These states are intended for a sampling profiler. |
335 | | // Implementation note: we store category and name together because we don't |
336 | | // want the inconsistency/expense of storing two pointers. |
337 | | // |thread_bucket| is [0..2] and is used to statically isolate samples in one |
338 | | // thread from others. |
339 | | #define TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET( \ |
340 | | bucket_number, category, name) \ |
341 | | trace_event_internal:: \ |
342 | | TraceEventSamplingStateScope<bucket_number>::Set(category "\0" name) |
343 | | |
344 | | // Returns a current sampling state of the given bucket. |
345 | | #define TRACE_EVENT_GET_SAMPLING_STATE_FOR_BUCKET(bucket_number) \ |
346 | | trace_event_internal::TraceEventSamplingStateScope<bucket_number>::Current() |
347 | | |
348 | | // Creates a scope of a sampling state of the given bucket. |
349 | | // |
350 | | // { // The sampling state is set within this scope. |
351 | | // TRACE_EVENT_SAMPLING_STATE_SCOPE_FOR_BUCKET(0, "category", "name"); |
352 | | // ...; |
353 | | // } |
354 | | #define TRACE_EVENT_SCOPED_SAMPLING_STATE_FOR_BUCKET( \ |
355 | | bucket_number, category, name) \ |
356 | | trace_event_internal::TraceEventSamplingStateScope<bucket_number> \ |
357 | | traceEventSamplingScope(category "\0" name); |
358 | | |
359 | | // Syntactic sugars for the sampling tracing in the main thread. |
360 | | #define TRACE_EVENT_SCOPED_SAMPLING_STATE(category, name) \ |
361 | | TRACE_EVENT_SCOPED_SAMPLING_STATE_FOR_BUCKET(0, category, name) |
362 | | #define TRACE_EVENT_GET_SAMPLING_STATE() \ |
363 | | TRACE_EVENT_GET_SAMPLING_STATE_FOR_BUCKET(0) |
364 | | #define TRACE_EVENT_SET_SAMPLING_STATE(category, name) \ |
365 | | TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(0, category, name) |
366 | | |
367 | | |
368 | | // Records a single BEGIN event called "name" immediately, with 0, 1 or 2 |
369 | | // associated arguments. If the category is not enabled, then this |
370 | | // does nothing. |
371 | | // - category and name strings must have application lifetime (statics or |
372 | | // literals). They may not include " chars. |
373 | | #define TRACE_EVENT_BEGIN0(category_group, name) \ |
374 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, \ |
375 | | category_group, name, TRACE_EVENT_FLAG_NONE) |
376 | | #define TRACE_EVENT_BEGIN1(category_group, name, arg1_name, arg1_val) \ |
377 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, \ |
378 | | category_group, name, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
379 | | #define TRACE_EVENT_BEGIN2(category_group, name, arg1_name, arg1_val, \ |
380 | | arg2_name, arg2_val) \ |
381 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, \ |
382 | | category_group, name, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, \ |
383 | | arg2_name, arg2_val) |
384 | | #define TRACE_EVENT_COPY_BEGIN0(category_group, name) \ |
385 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, \ |
386 | | category_group, name, TRACE_EVENT_FLAG_COPY) |
387 | | #define TRACE_EVENT_COPY_BEGIN1(category_group, name, arg1_name, arg1_val) \ |
388 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, \ |
389 | | category_group, name, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val) |
390 | | #define TRACE_EVENT_COPY_BEGIN2(category_group, name, arg1_name, arg1_val, \ |
391 | | arg2_name, arg2_val) \ |
392 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, \ |
393 | | category_group, name, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, \ |
394 | | arg2_name, arg2_val) |
395 | | |
396 | | // Similar to TRACE_EVENT_BEGINx but with a custom |at| timestamp provided. |
397 | | // - |id| is used to match the _BEGIN event with the _END event. |
398 | | // Events are considered to match if their category_group, name and id values |
399 | | // all match. |id| must either be a pointer or an integer value up to 64 bits. |
400 | | // If it's a pointer, the bits will be xored with a hash of the process ID so |
401 | | // that the same pointer on two different processes will not collide. |
402 | | #define TRACE_EVENT_BEGIN_WITH_ID_TID_AND_TIMESTAMP0(category_group, \ |
403 | | name, id, thread_id, timestamp) \ |
404 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ |
405 | | TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, thread_id, \ |
406 | | timestamp, TRACE_EVENT_FLAG_NONE) |
407 | | #define TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP0( \ |
408 | | category_group, name, id, thread_id, timestamp) \ |
409 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ |
410 | | TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, thread_id, \ |
411 | | timestamp, TRACE_EVENT_FLAG_COPY) |
412 | | |
413 | | // Records a single END event for "name" immediately. If the category |
414 | | // is not enabled, then this does nothing. |
415 | | // - category and name strings must have application lifetime (statics or |
416 | | // literals). They may not include " chars. |
417 | | #define TRACE_EVENT_END0(category_group, name) \ |
418 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ |
419 | | category_group, name, TRACE_EVENT_FLAG_NONE) |
420 | | #define TRACE_EVENT_END1(category_group, name, arg1_name, arg1_val) \ |
421 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ |
422 | | category_group, name, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
423 | | #define TRACE_EVENT_END2(category_group, name, arg1_name, arg1_val, \ |
424 | | arg2_name, arg2_val) \ |
425 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ |
426 | | category_group, name, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, \ |
427 | | arg2_name, arg2_val) |
428 | | #define TRACE_EVENT_COPY_END0(category_group, name) \ |
429 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ |
430 | | category_group, name, TRACE_EVENT_FLAG_COPY) |
431 | | #define TRACE_EVENT_COPY_END1(category_group, name, arg1_name, arg1_val) \ |
432 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ |
433 | | category_group, name, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val) |
434 | | #define TRACE_EVENT_COPY_END2(category_group, name, arg1_name, arg1_val, \ |
435 | | arg2_name, arg2_val) \ |
436 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ |
437 | | category_group, name, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, \ |
438 | | arg2_name, arg2_val) |
439 | | |
440 | | // Similar to TRACE_EVENT_ENDx but with a custom |at| timestamp provided. |
441 | | // - |id| is used to match the _BEGIN event with the _END event. |
442 | | // Events are considered to match if their category_group, name and id values |
443 | | // all match. |id| must either be a pointer or an integer value up to 64 bits. |
444 | | // If it's a pointer, the bits will be xored with a hash of the process ID so |
445 | | // that the same pointer on two different processes will not collide. |
446 | | #define TRACE_EVENT_END_WITH_ID_TID_AND_TIMESTAMP0(category_group, \ |
447 | | name, id, thread_id, timestamp) \ |
448 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ |
449 | | TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, thread_id, \ |
450 | | timestamp, TRACE_EVENT_FLAG_NONE) |
451 | | #define TRACE_EVENT_COPY_END_WITH_ID_TID_AND_TIMESTAMP0( \ |
452 | | category_group, name, id, thread_id, timestamp) \ |
453 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ |
454 | | TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, thread_id, \ |
455 | | timestamp, TRACE_EVENT_FLAG_COPY) |
456 | | |
457 | | // Records the value of a counter called "name" immediately. Value |
458 | | // must be representable as a 32 bit integer. |
459 | | // - category and name strings must have application lifetime (statics or |
460 | | // literals). They may not include " chars. |
461 | | #define TRACE_COUNTER1(category_group, name, value) \ |
462 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, \ |
463 | | category_group, name, TRACE_EVENT_FLAG_NONE, \ |
464 | | "value", static_cast<int>(value)) |
465 | | #define TRACE_COPY_COUNTER1(category_group, name, value) \ |
466 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, \ |
467 | | category_group, name, TRACE_EVENT_FLAG_COPY, \ |
468 | | "value", static_cast<int>(value)) |
469 | | |
470 | | // Records the values of a multi-parted counter called "name" immediately. |
471 | | // The UI will treat value1 and value2 as parts of a whole, displaying their |
472 | | // values as a stacked-bar chart. |
473 | | // - category and name strings must have application lifetime (statics or |
474 | | // literals). They may not include " chars. |
475 | | #define TRACE_COUNTER2(category_group, name, value1_name, value1_val, \ |
476 | | value2_name, value2_val) \ |
477 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, \ |
478 | | category_group, name, TRACE_EVENT_FLAG_NONE, \ |
479 | | value1_name, static_cast<int>(value1_val), \ |
480 | | value2_name, static_cast<int>(value2_val)) |
481 | | #define TRACE_COPY_COUNTER2(category_group, name, value1_name, value1_val, \ |
482 | | value2_name, value2_val) \ |
483 | | INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, \ |
484 | | category_group, name, TRACE_EVENT_FLAG_COPY, \ |
485 | | value1_name, static_cast<int>(value1_val), \ |
486 | | value2_name, static_cast<int>(value2_val)) |
487 | | |
488 | | // Records the value of a counter called "name" immediately. Value |
489 | | // must be representable as a 32 bit integer. |
490 | | // - category and name strings must have application lifetime (statics or |
491 | | // literals). They may not include " chars. |
492 | | // - |id| is used to disambiguate counters with the same name. It must either |
493 | | // be a pointer or an integer value up to 64 bits. If it's a pointer, the bits |
494 | | // will be xored with a hash of the process ID so that the same pointer on |
495 | | // two different processes will not collide. |
496 | | #define TRACE_COUNTER_ID1(category_group, name, id, value) \ |
497 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_COUNTER, \ |
498 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, \ |
499 | | "value", static_cast<int>(value)) |
500 | | #define TRACE_COPY_COUNTER_ID1(category_group, name, id, value) \ |
501 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_COUNTER, \ |
502 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
503 | | "value", static_cast<int>(value)) |
504 | | |
505 | | // Records the values of a multi-parted counter called "name" immediately. |
506 | | // The UI will treat value1 and value2 as parts of a whole, displaying their |
507 | | // values as a stacked-bar chart. |
508 | | // - category and name strings must have application lifetime (statics or |
509 | | // literals). They may not include " chars. |
510 | | // - |id| is used to disambiguate counters with the same name. It must either |
511 | | // be a pointer or an integer value up to 64 bits. If it's a pointer, the bits |
512 | | // will be xored with a hash of the process ID so that the same pointer on |
513 | | // two different processes will not collide. |
514 | | #define TRACE_COUNTER_ID2(category_group, name, id, value1_name, value1_val, \ |
515 | | value2_name, value2_val) \ |
516 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_COUNTER, \ |
517 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, \ |
518 | | value1_name, static_cast<int>(value1_val), \ |
519 | | value2_name, static_cast<int>(value2_val)) |
520 | | #define TRACE_COPY_COUNTER_ID2(category_group, name, id, value1_name, \ |
521 | | value1_val, value2_name, value2_val) \ |
522 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_COUNTER, \ |
523 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
524 | | value1_name, static_cast<int>(value1_val), \ |
525 | | value2_name, static_cast<int>(value2_val)) |
526 | | |
527 | | |
528 | | // Records a single ASYNC_BEGIN event called "name" immediately, with 0, 1 or 2 |
529 | | // associated arguments. If the category is not enabled, then this |
530 | | // does nothing. |
531 | | // - category and name strings must have application lifetime (statics or |
532 | | // literals). They may not include " chars. |
533 | | // - |id| is used to match the ASYNC_BEGIN event with the ASYNC_END event. ASYNC |
534 | | // events are considered to match if their category_group, name and id values |
535 | | // all match. |id| must either be a pointer or an integer value up to 64 bits. |
536 | | // If it's a pointer, the bits will be xored with a hash of the process ID so |
537 | | // that the same pointer on two different processes will not collide. |
538 | | // |
539 | | // An asynchronous operation can consist of multiple phases. The first phase is |
540 | | // defined by the ASYNC_BEGIN calls. Additional phases can be defined using the |
541 | | // ASYNC_STEP_INTO or ASYNC_STEP_PAST macros. The ASYNC_STEP_INTO macro will |
542 | | // annotate the block following the call. The ASYNC_STEP_PAST macro will |
543 | | // annotate the block prior to the call. Note that any particular event must use |
544 | | // only STEP_INTO or STEP_PAST macros; they can not mix and match. When the |
545 | | // operation completes, call ASYNC_END. |
546 | | // |
547 | | // An ASYNC trace typically occurs on a single thread (if not, they will only be |
548 | | // drawn on the thread defined in the ASYNC_BEGIN event), but all events in that |
549 | | // operation must use the same |name| and |id|. Each step can have its own |
550 | | // args. |
551 | | #define TRACE_EVENT_ASYNC_BEGIN0(category_group, name, id) \ |
552 | 90.8M | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_BEGIN, \ |
553 | 90.8M | category_group, name, id, TRACE_EVENT_FLAG_NONE) |
554 | | #define TRACE_EVENT_ASYNC_BEGIN1(category_group, name, id, arg1_name, \ |
555 | | arg1_val) \ |
556 | 81.1M | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_BEGIN, \ |
557 | 81.1M | category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
558 | | #define TRACE_EVENT_ASYNC_BEGIN2(category_group, name, id, arg1_name, \ |
559 | | arg1_val, arg2_name, arg2_val) \ |
560 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_BEGIN, \ |
561 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, \ |
562 | | arg1_name, arg1_val, arg2_name, arg2_val) |
563 | | #define TRACE_EVENT_COPY_ASYNC_BEGIN0(category_group, name, id) \ |
564 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_BEGIN, \ |
565 | | category_group, name, id, TRACE_EVENT_FLAG_COPY) |
566 | | #define TRACE_EVENT_COPY_ASYNC_BEGIN1(category_group, name, id, arg1_name, \ |
567 | | arg1_val) \ |
568 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_BEGIN, \ |
569 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
570 | | arg1_name, arg1_val) |
571 | | #define TRACE_EVENT_COPY_ASYNC_BEGIN2(category_group, name, id, arg1_name, \ |
572 | | arg1_val, arg2_name, arg2_val) \ |
573 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_BEGIN, \ |
574 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
575 | | arg1_name, arg1_val, arg2_name, arg2_val) |
576 | | |
577 | | // Records a single ASYNC_STEP_INTO event for |step| immediately. If the |
578 | | // category is not enabled, then this does nothing. The |name| and |id| must |
579 | | // match the ASYNC_BEGIN event above. The |step| param identifies this step |
580 | | // within the async event. This should be called at the beginning of the next |
581 | | // phase of an asynchronous operation. The ASYNC_BEGIN event must not have any |
582 | | // ASYNC_STEP_PAST events. |
583 | | #define TRACE_EVENT_ASYNC_STEP_INTO0(category_group, name, id, step) \ |
584 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_STEP_INTO, \ |
585 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, "step", step) |
586 | | #define TRACE_EVENT_ASYNC_STEP_INTO1(category_group, name, id, step, \ |
587 | | arg1_name, arg1_val) \ |
588 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_STEP_INTO, \ |
589 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, "step", step, \ |
590 | | arg1_name, arg1_val) |
591 | | |
592 | | // Records a single ASYNC_STEP_PAST event for |step| immediately. If the |
593 | | // category is not enabled, then this does nothing. The |name| and |id| must |
594 | | // match the ASYNC_BEGIN event above. The |step| param identifies this step |
595 | | // within the async event. This should be called at the beginning of the next |
596 | | // phase of an asynchronous operation. The ASYNC_BEGIN event must not have any |
597 | | // ASYNC_STEP_INTO events. |
598 | | #define TRACE_EVENT_ASYNC_STEP_PAST0(category_group, name, id, step) \ |
599 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_STEP_PAST, \ |
600 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, "step", step) |
601 | | #define TRACE_EVENT_ASYNC_STEP_PAST1(category_group, name, id, step, \ |
602 | | arg1_name, arg1_val) \ |
603 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_STEP_PAST, \ |
604 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, "step", step, \ |
605 | | arg1_name, arg1_val) |
606 | | |
607 | | // Records a single ASYNC_END event for "name" immediately. If the category |
608 | | // is not enabled, then this does nothing. |
609 | | #define TRACE_EVENT_ASYNC_END0(category_group, name, id) \ |
610 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_END, \ |
611 | | category_group, name, id, TRACE_EVENT_FLAG_NONE) |
612 | | #define TRACE_EVENT_ASYNC_END1(category_group, name, id, arg1_name, arg1_val) \ |
613 | 151M | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_END, \ |
614 | 151M | category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
615 | | #define TRACE_EVENT_ASYNC_END2(category_group, name, id, arg1_name, arg1_val, \ |
616 | | arg2_name, arg2_val) \ |
617 | 2.19k | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_END, \ |
618 | 2.19k | category_group, name, id, TRACE_EVENT_FLAG_NONE, \ |
619 | 2.19k | arg1_name, arg1_val, arg2_name, arg2_val) |
620 | | #define TRACE_EVENT_COPY_ASYNC_END0(category_group, name, id) \ |
621 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_END, \ |
622 | | category_group, name, id, TRACE_EVENT_FLAG_COPY) |
623 | | #define TRACE_EVENT_COPY_ASYNC_END1(category_group, name, id, arg1_name, \ |
624 | | arg1_val) \ |
625 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_END, \ |
626 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
627 | | arg1_name, arg1_val) |
628 | | #define TRACE_EVENT_COPY_ASYNC_END2(category_group, name, id, arg1_name, \ |
629 | | arg1_val, arg2_name, arg2_val) \ |
630 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_ASYNC_END, \ |
631 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
632 | | arg1_name, arg1_val, arg2_name, arg2_val) |
633 | | |
634 | | |
635 | | // Records a single FLOW_BEGIN event called "name" immediately, with 0, 1 or 2 |
636 | | // associated arguments. If the category is not enabled, then this |
637 | | // does nothing. |
638 | | // - category and name strings must have application lifetime (statics or |
639 | | // literals). They may not include " chars. |
640 | | // - |id| is used to match the FLOW_BEGIN event with the FLOW_END event. FLOW |
641 | | // events are considered to match if their category_group, name and id values |
642 | | // all match. |id| must either be a pointer or an integer value up to 64 bits. |
643 | | // If it's a pointer, the bits will be xored with a hash of the process ID so |
644 | | // that the same pointer on two different processes will not collide. |
645 | | // FLOW events are different from ASYNC events in how they are drawn by the |
646 | | // tracing UI. A FLOW defines asynchronous data flow, such as posting a task |
647 | | // (FLOW_BEGIN) and later executing that task (FLOW_END). Expect FLOWs to be |
648 | | // drawn as lines or arrows from FLOW_BEGIN scopes to FLOW_END scopes. Similar |
649 | | // to ASYNC, a FLOW can consist of multiple phases. The first phase is defined |
650 | | // by the FLOW_BEGIN calls. Additional phases can be defined using the FLOW_STEP |
651 | | // macros. When the operation completes, call FLOW_END. An async operation can |
652 | | // span threads and processes, but all events in that operation must use the |
653 | | // same |name| and |id|. Each event can have its own args. |
654 | | #define TRACE_EVENT_FLOW_BEGIN0(category_group, name, id) \ |
655 | 125M | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_BEGIN, \ |
656 | 125M | category_group, name, id, TRACE_EVENT_FLAG_NONE) |
657 | | #define TRACE_EVENT_FLOW_BEGIN1(category_group, name, id, arg1_name, arg1_val) \ |
658 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_BEGIN, \ |
659 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
660 | | #define TRACE_EVENT_FLOW_BEGIN2(category_group, name, id, arg1_name, arg1_val, \ |
661 | | arg2_name, arg2_val) \ |
662 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_BEGIN, \ |
663 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, \ |
664 | | arg1_name, arg1_val, arg2_name, arg2_val) |
665 | | #define TRACE_EVENT_COPY_FLOW_BEGIN0(category_group, name, id) \ |
666 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_BEGIN, \ |
667 | | category_group, name, id, TRACE_EVENT_FLAG_COPY) |
668 | | #define TRACE_EVENT_COPY_FLOW_BEGIN1(category_group, name, id, arg1_name, \ |
669 | | arg1_val) \ |
670 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_BEGIN, \ |
671 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
672 | | arg1_name, arg1_val) |
673 | | #define TRACE_EVENT_COPY_FLOW_BEGIN2(category_group, name, id, arg1_name, \ |
674 | | arg1_val, arg2_name, arg2_val) \ |
675 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_BEGIN, \ |
676 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
677 | | arg1_name, arg1_val, arg2_name, arg2_val) |
678 | | |
679 | | // Records a single FLOW_STEP event for |step| immediately. If the category |
680 | | // is not enabled, then this does nothing. The |name| and |id| must match the |
681 | | // FLOW_BEGIN event above. The |step| param identifies this step within the |
682 | | // async event. This should be called at the beginning of the next phase of an |
683 | | // asynchronous operation. |
684 | | #define TRACE_EVENT_FLOW_STEP0(category_group, name, id, step) \ |
685 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_STEP, \ |
686 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, "step", step) |
687 | | #define TRACE_EVENT_FLOW_STEP1(category_group, name, id, step, \ |
688 | | arg1_name, arg1_val) \ |
689 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_STEP, \ |
690 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, "step", step, \ |
691 | | arg1_name, arg1_val) |
692 | | #define TRACE_EVENT_COPY_FLOW_STEP0(category_group, name, id, step) \ |
693 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_STEP, \ |
694 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, "step", step) |
695 | | #define TRACE_EVENT_COPY_FLOW_STEP1(category_group, name, id, step, \ |
696 | | arg1_name, arg1_val) \ |
697 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_STEP, \ |
698 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, "step", step, \ |
699 | | arg1_name, arg1_val) |
700 | | |
701 | | // Records a single FLOW_END event for "name" immediately. If the category |
702 | | // is not enabled, then this does nothing. |
703 | | #define TRACE_EVENT_FLOW_END0(category_group, name, id) \ |
704 | 136M | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
705 | 136M | category_group, name, id, TRACE_EVENT_FLAG_NONE) |
706 | | #define TRACE_EVENT_FLOW_END1(category_group, name, id, arg1_name, arg1_val) \ |
707 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
708 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
709 | | #define TRACE_EVENT_FLOW_END2(category_group, name, id, arg1_name, arg1_val, \ |
710 | | arg2_name, arg2_val) \ |
711 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
712 | | category_group, name, id, TRACE_EVENT_FLAG_NONE, \ |
713 | | arg1_name, arg1_val, arg2_name, arg2_val) |
714 | | #define TRACE_EVENT_COPY_FLOW_END0(category_group, name, id) \ |
715 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
716 | | category_group, name, id, TRACE_EVENT_FLAG_COPY) |
717 | | #define TRACE_EVENT_COPY_FLOW_END1(category_group, name, id, arg1_name, \ |
718 | | arg1_val) \ |
719 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
720 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
721 | | arg1_name, arg1_val) |
722 | | #define TRACE_EVENT_COPY_FLOW_END2(category_group, name, id, arg1_name, \ |
723 | | arg1_val, arg2_name, arg2_val) \ |
724 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
725 | | category_group, name, id, TRACE_EVENT_FLAG_COPY, \ |
726 | | arg1_name, arg1_val, arg2_name, arg2_val) |
727 | | |
728 | | // Macros to track the life time and value of arbitrary client objects. |
729 | | // See also TraceTrackableObject. |
730 | | #define TRACE_EVENT_OBJECT_CREATED_WITH_ID(category_group, name, id) \ |
731 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_CREATE_OBJECT, \ |
732 | | category_group, name, TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE) |
733 | | |
734 | | #define TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID(category_group, name, id, snapshot) \ |
735 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_SNAPSHOT_OBJECT, \ |
736 | | category_group, name, TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE, \ |
737 | | "snapshot", snapshot) |
738 | | |
739 | | #define TRACE_EVENT_OBJECT_DELETED_WITH_ID(category_group, name, id) \ |
740 | | INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_DELETE_OBJECT, \ |
741 | | category_group, name, TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE) |
742 | | |
743 | | #define INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE() \ |
744 | 1.24G | PREDICT_FALSE(*INTERNAL_TRACE_EVENT_UID(category_group_enabled) & \ |
745 | 1.24G | (yb::debug::TraceLog::ENABLED_FOR_RECORDING | \ |
746 | 1.24G | yb::debug::TraceLog::ENABLED_FOR_EVENT_CALLBACK)) |
747 | | |
748 | | // Macro to efficiently determine if a given category group is enabled. |
749 | | #define TRACE_EVENT_CATEGORY_GROUP_ENABLED(category_group, ret) \ |
750 | 29.9M | do { \ |
751 | 29.9M | INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
752 | 29.9M | if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
753 | 0 | *ret = true; \ |
754 | 29.9M | } else { \ |
755 | 29.9M | *ret = false; \ |
756 | 29.9M | } \ |
757 | 29.9M | } while (0) |
758 | | |
759 | | // Macro to efficiently determine, through polling, if a new trace has begun. |
760 | | #define TRACE_EVENT_IS_NEW_TRACE(ret) \ |
761 | | do { \ |
762 | | static int INTERNAL_TRACE_EVENT_UID(lastRecordingNumber) = 0; \ |
763 | | int num_traces_recorded = TRACE_EVENT_API_GET_NUM_TRACES_RECORDED(); \ |
764 | | if (num_traces_recorded != -1 && \ |
765 | | num_traces_recorded != \ |
766 | | INTERNAL_TRACE_EVENT_UID(lastRecordingNumber)) { \ |
767 | | INTERNAL_TRACE_EVENT_UID(lastRecordingNumber) = \ |
768 | | num_traces_recorded; \ |
769 | | *ret = true; \ |
770 | | } else { \ |
771 | | *ret = false; \ |
772 | | } \ |
773 | | } while (0) |
774 | | |
775 | | //////////////////////////////////////////////////////////////////////////////// |
776 | | // Implementation specific tracing API definitions. |
777 | | |
778 | | // Get a pointer to the enabled state of the given trace category. Only |
779 | | // long-lived literal strings should be given as the category group. The |
780 | | // returned pointer can be held permanently in a local static for example. If |
781 | | // the unsigned char is non-zero, tracing is enabled. If tracing is enabled, |
782 | | // TRACE_EVENT_API_ADD_TRACE_EVENT can be called. It's OK if tracing is disabled |
783 | | // between the load of the tracing state and the call to |
784 | | // TRACE_EVENT_API_ADD_TRACE_EVENT, because this flag only provides an early out |
785 | | // for best performance when tracing is disabled. |
786 | | // const unsigned char* |
787 | | // TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED(const char* category_group) |
788 | | #define TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED \ |
789 | 997k | yb::debug::TraceLog::GetCategoryGroupEnabled |
790 | | |
791 | | // Get the number of times traces have been recorded. This is used to implement |
792 | | // the TRACE_EVENT_IS_NEW_TRACE facility. |
793 | | // unsigned int TRACE_EVENT_API_GET_NUM_TRACES_RECORDED() |
794 | | #define TRACE_EVENT_API_GET_NUM_TRACES_RECORDED \ |
795 | | yb::debug::TraceLog::GetInstance()->GetNumTracesRecorded |
796 | | |
797 | | // Add a trace event to the platform tracing system. |
798 | | // yb::debug::TraceEventHandle TRACE_EVENT_API_ADD_TRACE_EVENT( |
799 | | // char phase, |
800 | | // const unsigned char* category_group_enabled, |
801 | | // const char* name, |
802 | | // uint64_t id, |
803 | | // int num_args, |
804 | | // const char** arg_names, |
805 | | // const unsigned char* arg_types, |
806 | | // const uint64_t* arg_values, |
807 | | // unsigned char flags) |
808 | | #define TRACE_EVENT_API_ADD_TRACE_EVENT \ |
809 | 100 | yb::debug::TraceLog::GetInstance()->AddTraceEvent |
810 | | |
811 | | // Add a trace event to the platform tracing system. |
812 | | // yb::debug::TraceEventHandle TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( |
813 | | // char phase, |
814 | | // const unsigned char* category_group_enabled, |
815 | | // const char* name, |
816 | | // uint64_t id, |
817 | | // int thread_id, |
818 | | // const MicrosecondsInt64& timestamp, |
819 | | // int num_args, |
820 | | // const char** arg_names, |
821 | | // const unsigned char* arg_types, |
822 | | // const uint64_t* arg_values, |
823 | | // unsigned char flags) |
824 | | #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ |
825 | 0 | yb::debug::TraceLog::GetInstance()->AddTraceEventWithThreadIdAndTimestamp |
826 | | |
827 | | // Set the duration field of a COMPLETE trace event. |
828 | | // void TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION( |
829 | | // const unsigned char* category_group_enabled, |
830 | | // const char* name, |
831 | | // yb::debug::TraceEventHandle id) |
832 | | #define TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION \ |
833 | 55.1k | yb::debug::TraceLog::GetInstance()->UpdateTraceEventDuration |
834 | | |
835 | | // Defines atomic operations used internally by the tracing system. |
836 | 300 | #define TRACE_EVENT_API_ATOMIC_WORD AtomicWord |
837 | 1.24G | #define TRACE_EVENT_API_ATOMIC_LOAD(var) base::subtle::NoBarrier_Load(&(var)) |
838 | | #define TRACE_EVENT_API_ATOMIC_STORE(var, value) \ |
839 | 997k | base::subtle::NoBarrier_Store(&(var), (value)) |
840 | | |
841 | | // Defines visibility for classes in trace_event.h |
842 | | #define TRACE_EVENT_API_CLASS_EXPORT BASE_EXPORT |
843 | | |
844 | | // The thread buckets for the sampling profiler. |
845 | | TRACE_EVENT_API_CLASS_EXPORT extern \ |
846 | | TRACE_EVENT_API_ATOMIC_WORD g_trace_state[3]; |
847 | | |
848 | | #define TRACE_EVENT_API_THREAD_BUCKET(thread_bucket) \ |
849 | | g_trace_state[thread_bucket] |
850 | | |
851 | | //////////////////////////////////////////////////////////////////////////////// |
852 | | |
853 | | // Implementation detail: trace event macros create temporary variables |
854 | | // to keep instrumentation overhead low. These macros give each temporary |
855 | | // variable a unique name based on the line number to prevent name collisions. |
856 | | #define INTERNAL_TRACE_EVENT_UID3(a, b) \ |
857 | 629M | trace_event_unique_##a##b |
858 | | #define INTERNAL_TRACE_EVENT_UID2(a, b) \ |
859 | 629M | INTERNAL_TRACE_EVENT_UID3(a, b) |
860 | | #define INTERNAL_TRACE_EVENT_UID(name_prefix) \ |
861 | 629M | INTERNAL_TRACE_EVENT_UID2(name_prefix, __LINE__) |
862 | | |
863 | | // Implementation detail: internal macro to create static category. |
864 | | // No barriers are needed, because this code is designed to operate safely |
865 | | // even when the unsigned char* points to garbage data (which may be the case |
866 | | // on processors without cache coherency). |
867 | | #define INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO_CUSTOM_VARIABLES( \ |
868 | | category_group, atomic, category_group_enabled) \ |
869 | 1.24G | category_group_enabled = \ |
870 | 1.24G | reinterpret_cast<const unsigned char*>(TRACE_EVENT_API_ATOMIC_LOAD( \ |
871 | 1.24G | atomic)); \ |
872 | 1.24G | if (PREDICT_FALSE(!category_group_enabled)) { \ |
873 | 997k | category_group_enabled = \ |
874 | 997k | TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED(category_group); \ |
875 | 997k | TRACE_EVENT_API_ATOMIC_STORE(atomic, \ |
876 | 997k | reinterpret_cast<TRACE_EVENT_API_ATOMIC_WORD>( \ |
877 | 997k | category_group_enabled)); \ |
878 | 997k | } |
879 | | |
880 | | #define INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group) \ |
881 | 1.24G | static TRACE_EVENT_API_ATOMIC_WORD INTERNAL_TRACE_EVENT_UID(atomic) = 0; \ |
882 | 1.24G | const unsigned char* INTERNAL_TRACE_EVENT_UID(category_group_enabled); \ |
883 | 1.24G | INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO_CUSTOM_VARIABLES(category_group, \ |
884 | 1.24G | INTERNAL_TRACE_EVENT_UID(atomic), \ |
885 | 1.24G | INTERNAL_TRACE_EVENT_UID(category_group_enabled)); |
886 | | |
887 | | // Implementation detail: internal macro to create static category and add |
888 | | // event if the category is enabled. |
889 | | #define INTERNAL_TRACE_EVENT_ADD(phase, category_group, name, flags, ...) \ |
890 | 628k | do { \ |
891 | 628k | INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
892 | 628k | if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
893 | 3 | trace_event_internal::AddTraceEvent( \ |
894 | 3 | phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), name, \ |
895 | 3 | trace_event_internal::kNoEventId, flags, ##__VA_ARGS__); \ |
896 | 3 | } \ |
897 | 628k | } while (0) |
898 | | |
899 | | // Implementation detail: internal macro to create static category and add begin |
900 | | // event if the category is enabled. Also adds the end event when the scope |
901 | | // ends. |
902 | | #define INTERNAL_TRACE_EVENT_ADD_SCOPED(category_group, name, ...) \ |
903 | 629M | INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
904 | 629M | trace_event_internal::ScopedTracer INTERNAL_TRACE_EVENT_UID(tracer); \ |
905 | 629M | if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE() && \ |
906 | 629M | ::yb::debug::TraceEventsEnabled()0 ) { \ |
907 | 0 | yb::debug::TraceEventHandle h = trace_event_internal::AddTraceEvent( \ |
908 | 0 | TRACE_EVENT_PHASE_COMPLETE, \ |
909 | 0 | INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ |
910 | 0 | name, trace_event_internal::kNoEventId, \ |
911 | 0 | TRACE_EVENT_FLAG_NONE, ##__VA_ARGS__); \ |
912 | 0 | INTERNAL_TRACE_EVENT_UID(tracer).Initialize( \ |
913 | 0 | INTERNAL_TRACE_EVENT_UID(category_group_enabled), name, h); \ |
914 | 0 | } |
915 | | |
916 | | // Implementation detail: internal macro to create static category and add |
917 | | // event if the category is enabled. |
918 | | #define INTERNAL_TRACE_EVENT_ADD_WITH_ID(phase, category_group, name, id, \ |
919 | | flags, ...) \ |
920 | 586M | do { \ |
921 | 586M | INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
922 | 586M | if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
923 | 0 | unsigned char trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
924 | 0 | trace_event_internal::TraceID trace_event_trace_id( \ |
925 | 0 | id, &trace_event_flags); \ |
926 | 0 | trace_event_internal::AddTraceEvent( \ |
927 | 0 | phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ |
928 | 0 | name, trace_event_trace_id.data(), trace_event_flags, \ |
929 | 0 | ##__VA_ARGS__); \ |
930 | 0 | } \ |
931 | 586M | } while (0) |
932 | | |
933 | | // Implementation detail: internal macro to create static category and add |
934 | | // event if the category is enabled. |
935 | | #define INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(phase, \ |
936 | | category_group, name, id, thread_id, timestamp, flags, ...) \ |
937 | | do { \ |
938 | | INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
939 | | if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
940 | | unsigned char trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
941 | | trace_event_internal::TraceID trace_event_trace_id( \ |
942 | | id, &trace_event_flags); \ |
943 | | trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ |
944 | | phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ |
945 | | name, trace_event_trace_id.data(), \ |
946 | | thread_id, timestamp, \ |
947 | | trace_event_flags, ##__VA_ARGS__); \ |
948 | | } \ |
949 | | } while (0) |
950 | | |
951 | | // Notes regarding the following definitions: |
952 | | // New values can be added and propagated to third party libraries, but existing |
953 | | // definitions must never be changed, because third party libraries may use old |
954 | | // definitions. |
955 | | |
956 | | // Phase indicates the nature of an event entry. E.g. part of a begin/end pair. |
957 | 5 | #define TRACE_EVENT_PHASE_BEGIN ('B') |
958 | 6 | #define TRACE_EVENT_PHASE_END ('E') |
959 | 317k | #define TRACE_EVENT_PHASE_COMPLETE ('X') |
960 | 317k | #define TRACE_EVENT_PHASE_INSTANT ('i') |
961 | | #define TRACE_EVENT_PHASE_ASYNC_BEGIN ('S') |
962 | | #define TRACE_EVENT_PHASE_ASYNC_STEP_INTO ('T') |
963 | | #define TRACE_EVENT_PHASE_ASYNC_STEP_PAST ('p') |
964 | | #define TRACE_EVENT_PHASE_ASYNC_END ('F') |
965 | | #define TRACE_EVENT_PHASE_FLOW_BEGIN ('s') |
966 | | #define TRACE_EVENT_PHASE_FLOW_STEP ('t') |
967 | | #define TRACE_EVENT_PHASE_FLOW_END ('f') |
968 | 28 | #define TRACE_EVENT_PHASE_METADATA ('M') |
969 | | #define TRACE_EVENT_PHASE_COUNTER ('C') |
970 | 100 | #define TRACE_EVENT_PHASE_SAMPLE ('P') |
971 | | #define TRACE_EVENT_PHASE_CREATE_OBJECT ('N') |
972 | | #define TRACE_EVENT_PHASE_SNAPSHOT_OBJECT ('O') |
973 | | #define TRACE_EVENT_PHASE_DELETE_OBJECT ('D') |
974 | | |
975 | | // Flags for changing the behavior of TRACE_EVENT_API_ADD_TRACE_EVENT. |
976 | 32 | #define TRACE_EVENT_FLAG_NONE (static_cast<unsigned char>(0)) |
977 | 310k | #define TRACE_EVENT_FLAG_COPY (static_cast<unsigned char>(1 << 0)) |
978 | 317k | #define TRACE_EVENT_FLAG_HAS_ID (static_cast<unsigned char>(1 << 1)) |
979 | 313k | #define TRACE_EVENT_FLAG_MANGLE_ID (static_cast<unsigned char>(1 << 2)) |
980 | 511k | #define TRACE_EVENT_FLAG_SCOPE_OFFSET (static_cast<unsigned char>(1 << 3)) |
981 | | |
982 | 255k | #define TRACE_EVENT_FLAG_SCOPE_MASK (static_cast<unsigned char>( \ |
983 | 255k | TRACE_EVENT_FLAG_SCOPE_OFFSET | (TRACE_EVENT_FLAG_SCOPE_OFFSET << 1))) |
984 | | |
985 | | // Type values for identifying types in the TraceValue union. |
986 | 0 | #define TRACE_VALUE_TYPE_BOOL (static_cast<unsigned char>(1)) |
987 | 589k | #define TRACE_VALUE_TYPE_UINT (static_cast<unsigned char>(2)) |
988 | 40.0k | #define TRACE_VALUE_TYPE_INT (static_cast<unsigned char>(3)) |
989 | 0 | #define TRACE_VALUE_TYPE_DOUBLE (static_cast<unsigned char>(4)) |
990 | 0 | #define TRACE_VALUE_TYPE_POINTER (static_cast<unsigned char>(5)) |
991 | 1 | #define TRACE_VALUE_TYPE_STRING (static_cast<unsigned char>(6)) |
992 | 35.2k | #define TRACE_VALUE_TYPE_COPY_STRING (static_cast<unsigned char>(7)) |
993 | 111k | #define TRACE_VALUE_TYPE_CONVERTABLE (static_cast<unsigned char>(8)) |
994 | | |
995 | | // Enum reflecting the scope of an INSTANT event. Must fit within |
996 | | // TRACE_EVENT_FLAG_SCOPE_MASK. |
997 | 255k | #define TRACE_EVENT_SCOPE_GLOBAL (static_cast<unsigned char>(0 << 3)) |
998 | 0 | #define TRACE_EVENT_SCOPE_PROCESS (static_cast<unsigned char>(1 << 3)) |
999 | 2 | #define TRACE_EVENT_SCOPE_THREAD (static_cast<unsigned char>(2 << 3)) |
1000 | | |
1001 | 255k | #define TRACE_EVENT_SCOPE_NAME_GLOBAL ('g') |
1002 | 0 | #define TRACE_EVENT_SCOPE_NAME_PROCESS ('p') |
1003 | 2 | #define TRACE_EVENT_SCOPE_NAME_THREAD ('t') |
1004 | | |
1005 | | namespace trace_event_internal { |
1006 | | |
1007 | | // Specify these values when the corresponding argument of AddTraceEvent is not |
1008 | | // used. |
1009 | | const int kZeroNumArgs = 0; |
1010 | | const uint64_t kNoEventId = 0; |
1011 | | |
1012 | | // TraceID encapsulates an ID that can either be an integer or pointer. Pointers |
1013 | | // are by default mangled with the Process ID so that they are unlikely to |
1014 | | // collide when the same pointer is used on different processes. |
1015 | | class TraceID { |
1016 | | public: |
1017 | | class DontMangle { |
1018 | | public: |
1019 | | explicit DontMangle(const void* id) |
1020 | | : data_(static_cast<uint64_t>( |
1021 | 0 | reinterpret_cast<unsigned long>(id))) {} // NOLINT(runtime/int) |
1022 | 0 | explicit DontMangle(uint64_t id) : data_(id) {} |
1023 | 0 | explicit DontMangle(unsigned int id) : data_(id) {} |
1024 | 0 | explicit DontMangle(unsigned short id) : data_(id) {} // NOLINT(runtime/int) |
1025 | 0 | explicit DontMangle(unsigned char id) : data_(id) {} |
1026 | | explicit DontMangle(long long id) // NOLINT(runtime/int) |
1027 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1028 | | explicit DontMangle(long id) // NOLINT(runtime/int) |
1029 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1030 | | explicit DontMangle(int id) |
1031 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1032 | | explicit DontMangle(short id) // NOLINT(runtime/int) |
1033 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1034 | | explicit DontMangle(signed char id) |
1035 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1036 | 0 | uint64_t data() const { return data_; } |
1037 | | private: |
1038 | | uint64_t data_; |
1039 | | }; |
1040 | | |
1041 | | class ForceMangle { |
1042 | | public: |
1043 | 0 | explicit ForceMangle(uint64_t id) : data_(id) {} |
1044 | 0 | explicit ForceMangle(unsigned int id) : data_(id) {} |
1045 | 0 | explicit ForceMangle(unsigned short id) : data_(id) {} // NOLINT(runtime/int) |
1046 | 0 | explicit ForceMangle(unsigned char id) : data_(id) {} |
1047 | | explicit ForceMangle(long long id) // NOLINT(runtime/int) |
1048 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1049 | | explicit ForceMangle(long id) // NOLINT(runtime/int) |
1050 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1051 | | explicit ForceMangle(int id) |
1052 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1053 | | explicit ForceMangle(short id) // NOLINT(runtime/int) |
1054 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1055 | | explicit ForceMangle(signed char id) |
1056 | 0 | : data_(static_cast<uint64_t>(id)) {} |
1057 | 0 | uint64_t data() const { return data_; } |
1058 | | private: |
1059 | | uint64_t data_; |
1060 | | }; |
1061 | | |
1062 | | TraceID(const void* id, unsigned char* flags) |
1063 | | : data_(static_cast<uint64_t>( |
1064 | 0 | reinterpret_cast<unsigned long>(id))) { // NOLINT(runtime/int) |
1065 | 0 | *flags |= TRACE_EVENT_FLAG_MANGLE_ID; |
1066 | 0 | } Unexecuted instantiation: trace_event_internal::TraceID::TraceID(void const*, unsigned char*) Unexecuted instantiation: trace_event_internal::TraceID::TraceID(void const*, unsigned char*) |
1067 | 0 | TraceID(ForceMangle id, unsigned char* flags) : data_(id.data()) { |
1068 | 0 | *flags |= TRACE_EVENT_FLAG_MANGLE_ID; |
1069 | 0 | } |
1070 | 0 | TraceID(DontMangle id, unsigned char* flags) : data_(id.data()) { |
1071 | 0 | } |
1072 | | TraceID(uint64_t id, unsigned char* flags) |
1073 | 0 | : data_(id) { (void)flags; } |
1074 | | TraceID(unsigned int id, unsigned char* flags) |
1075 | 0 | : data_(id) { (void)flags; } |
1076 | | TraceID(unsigned short id, unsigned char* flags) // NOLINT(runtime/int) |
1077 | 0 | : data_(id) { (void)flags; } |
1078 | | TraceID(unsigned char id, unsigned char* flags) |
1079 | 0 | : data_(id) { (void)flags; } |
1080 | | TraceID(long long id, unsigned char* flags) // NOLINT(runtime/int) |
1081 | 0 | : data_(static_cast<uint64_t>(id)) { (void)flags; } |
1082 | | TraceID(long id, unsigned char* flags) // NOLINT(runtime/int) |
1083 | 0 | : data_(static_cast<uint64_t>(id)) { (void)flags; } |
1084 | | TraceID(int id, unsigned char* flags) |
1085 | 0 | : data_(static_cast<uint64_t>(id)) { (void)flags; } |
1086 | | TraceID(short id, unsigned char* flags) // NOLINT(runtime/int) |
1087 | 0 | : data_(static_cast<uint64_t>(id)) { (void)flags; } |
1088 | | TraceID(signed char id, unsigned char* flags) |
1089 | 0 | : data_(static_cast<uint64_t>(id)) { (void)flags; } |
1090 | | |
1091 | 0 | uint64_t data() const { return data_; } |
1092 | | |
1093 | | private: |
1094 | | uint64_t data_; |
1095 | | }; |
1096 | | |
1097 | | // Simple union to store various types as uint64_t. |
1098 | | union TraceValueUnion { |
1099 | | bool as_bool; |
1100 | | uint64_t as_uint; |
1101 | | long long as_int; // NOLINT(runtime/int) |
1102 | | double as_double; |
1103 | | const void* as_pointer; |
1104 | | const char* as_string; |
1105 | | }; |
1106 | | |
1107 | | // Simple container for const char* that should be copied instead of retained. |
1108 | | class TraceStringWithCopy { |
1109 | | public: |
1110 | 0 | explicit TraceStringWithCopy(const char* str) : str_(str) {} |
1111 | 0 | const char* str() const { return str_; } |
1112 | | private: |
1113 | | const char* str_; |
1114 | | }; |
1115 | | |
1116 | | // Define SetTraceValue for each allowed type. It stores the type and |
1117 | | // value in the return arguments. This allows this API to avoid declaring any |
1118 | | // structures so that it is portable to third_party libraries. |
1119 | | #define INTERNAL_DECLARE_SET_TRACE_VALUE(actual_type, \ |
1120 | | arg_expression, \ |
1121 | | union_member, \ |
1122 | | value_type_id) \ |
1123 | | static inline void SetTraceValue( \ |
1124 | | actual_type arg, \ |
1125 | | unsigned char* type, \ |
1126 | 0 | uint64_t* value) { \ |
1127 | 0 | TraceValueUnion type_value; \ |
1128 | 0 | type_value.union_member = arg_expression; \ |
1129 | 0 | *type = value_type_id; \ |
1130 | 0 | *value = type_value.as_uint; \ |
1131 | 0 | } Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(bool, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(double, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(void const*, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(char const*, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(trace_event_internal::TraceStringWithCopy const&, unsigned char*, unsigned long long*) |
1132 | | // Simpler form for int types that can be safely casted. |
1133 | | #define INTERNAL_DECLARE_SET_TRACE_VALUE_INT(actual_type, \ |
1134 | | value_type_id) \ |
1135 | | static inline void SetTraceValue( \ |
1136 | | actual_type arg, \ |
1137 | | unsigned char* type, \ |
1138 | 18 | uint64_t* value) { \ |
1139 | 18 | *type = value_type_id; \ |
1140 | 18 | *value = static_cast<uint64_t>(arg); \ |
1141 | 18 | } Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) trace_event_impl.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Line | Count | Source | 1138 | 18 | uint64_t* value) { \ | 1139 | 18 | *type = value_type_id; \ | 1140 | 18 | *value = static_cast<uint64_t>(arg); \ | 1141 | 18 | } |
Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(unsigned long, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(unsigned long long, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(unsigned int, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(unsigned short, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(unsigned char, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(long long, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(long, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(int, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(short, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(signed char, unsigned char*, unsigned long long*) |
1142 | | |
1143 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(uint64_t, TRACE_VALUE_TYPE_UINT) |
1144 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(unsigned int, TRACE_VALUE_TYPE_UINT) |
1145 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(unsigned short, TRACE_VALUE_TYPE_UINT) // NOLINT(runtime/int) |
1146 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(unsigned char, TRACE_VALUE_TYPE_UINT) |
1147 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(long long, TRACE_VALUE_TYPE_INT) // NOLINT(runtime/int) |
1148 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(long, TRACE_VALUE_TYPE_INT) // NOLINT(runtime/int) |
1149 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(int, TRACE_VALUE_TYPE_INT) |
1150 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(short, TRACE_VALUE_TYPE_INT) // NOLINT(runtime/int) |
1151 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(signed char, TRACE_VALUE_TYPE_INT) |
1152 | | INTERNAL_DECLARE_SET_TRACE_VALUE(bool, arg, as_bool, TRACE_VALUE_TYPE_BOOL) |
1153 | | INTERNAL_DECLARE_SET_TRACE_VALUE(double, arg, as_double, |
1154 | | TRACE_VALUE_TYPE_DOUBLE) |
1155 | | INTERNAL_DECLARE_SET_TRACE_VALUE(const void*, arg, as_pointer, |
1156 | | TRACE_VALUE_TYPE_POINTER) |
1157 | | INTERNAL_DECLARE_SET_TRACE_VALUE(const char*, arg, as_string, |
1158 | | TRACE_VALUE_TYPE_STRING) |
1159 | | INTERNAL_DECLARE_SET_TRACE_VALUE(const TraceStringWithCopy&, arg.str(), |
1160 | | as_string, TRACE_VALUE_TYPE_COPY_STRING) |
1161 | | #if defined(__APPLE__) |
1162 | | INTERNAL_DECLARE_SET_TRACE_VALUE_INT(size_t, TRACE_VALUE_TYPE_UINT) |
1163 | | #endif |
1164 | | |
1165 | | #undef INTERNAL_DECLARE_SET_TRACE_VALUE |
1166 | | #undef INTERNAL_DECLARE_SET_TRACE_VALUE_INT |
1167 | | |
1168 | | // std::string version of SetTraceValue so that trace arguments can be strings. |
1169 | | static inline void SetTraceValue(const std::string& arg, |
1170 | | unsigned char* type, |
1171 | 10 | uint64_t* value) { |
1172 | 10 | TraceValueUnion type_value; |
1173 | 10 | type_value.as_string = arg.c_str(); |
1174 | 10 | *type = TRACE_VALUE_TYPE_COPY_STRING; |
1175 | 10 | *value = type_value.as_uint; |
1176 | 10 | } Unexecuted instantiation: master_main.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: read_query.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_service.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: server_main_util.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: backup_service.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: operation_driver.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: write_operation.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: inbound_call.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: rpc_context.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: replica_state.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: test_util.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: cdc_service.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) trace_event_impl.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Line | Count | Source | 1171 | 10 | uint64_t* value) { | 1172 | 10 | TraceValueUnion type_value; | 1173 | 10 | type_value.as_string = arg.c_str(); | 1174 | 10 | *type = TRACE_VALUE_TYPE_COPY_STRING; | 1175 | 10 | *value = type_value.as_uint; | 1176 | 10 | } |
Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: env_posix.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: net_util.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: socket.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: pb_util.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: log_util.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) Unexecuted instantiation: log.cc:trace_event_internal::SetTraceValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*, unsigned long long*) |
1177 | | |
1178 | | // These AddTraceEvent and AddTraceEventWithThreadIdAndTimestamp template |
1179 | | // functions are defined here instead of in the macro, because the arg_values |
1180 | | // could be temporary objects, such as std::string. In order to store |
1181 | | // pointers to the internal c_str and pass through to the tracing API, |
1182 | | // the arg_values must live throughout these procedures. |
1183 | | |
1184 | | static inline yb::debug::TraceEventHandle |
1185 | | AddTraceEventWithThreadIdAndTimestamp( |
1186 | | char phase, |
1187 | | const unsigned char* category_group_enabled, |
1188 | | const char* name, |
1189 | | uint64_t id, |
1190 | | int thread_id, |
1191 | | const MicrosecondsInt64& timestamp, |
1192 | | unsigned char flags, |
1193 | | const char* arg1_name, |
1194 | 0 | const scoped_refptr<yb::debug::ConvertableToTraceFormat>& arg1_val) { |
1195 | 0 | const int num_args = 1; |
1196 | 0 | unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; |
1197 | 0 | return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
1198 | 0 | phase, category_group_enabled, name, id, thread_id, timestamp, |
1199 | 0 | num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); |
1200 | 0 | } Unexecuted instantiation: master_main.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: read_query.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: server_main_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: backup_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: operation_driver.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: write_operation.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: inbound_call.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: rpc_context.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: replica_state.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: test_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: cdc_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: env_posix.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: net_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: socket.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: pb_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: log_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: log.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) |
1201 | | |
1202 | | template<class ARG1_TYPE> |
1203 | | static inline yb::debug::TraceEventHandle |
1204 | | AddTraceEventWithThreadIdAndTimestamp( |
1205 | | char phase, |
1206 | | const unsigned char* category_group_enabled, |
1207 | | const char* name, |
1208 | | uint64_t id, |
1209 | | int thread_id, |
1210 | | const MicrosecondsInt64& timestamp, |
1211 | | unsigned char flags, |
1212 | | const char* arg1_name, |
1213 | | const ARG1_TYPE& arg1_val, |
1214 | | const char* arg2_name, |
1215 | | const scoped_refptr<yb::debug::ConvertableToTraceFormat>& arg2_val) { |
1216 | | const int num_args = 2; |
1217 | | const char* arg_names[2] = { arg1_name, arg2_name }; |
1218 | | |
1219 | | unsigned char arg_types[2]; |
1220 | | uint64_t arg_values[2]; |
1221 | | SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
1222 | | arg_types[1] = TRACE_VALUE_TYPE_CONVERTABLE; |
1223 | | |
1224 | | scoped_refptr<yb::debug::ConvertableToTraceFormat> convertable_values[2]; |
1225 | | convertable_values[1] = arg2_val; |
1226 | | |
1227 | | return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
1228 | | phase, category_group_enabled, name, id, thread_id, timestamp, |
1229 | | num_args, arg_names, arg_types, arg_values, convertable_values, flags); |
1230 | | } |
1231 | | |
1232 | | template<class ARG2_TYPE> |
1233 | | static inline yb::debug::TraceEventHandle |
1234 | | AddTraceEventWithThreadIdAndTimestamp( |
1235 | | char phase, |
1236 | | const unsigned char* category_group_enabled, |
1237 | | const char* name, |
1238 | | uint64_t id, |
1239 | | int thread_id, |
1240 | | const MicrosecondsInt64& timestamp, |
1241 | | unsigned char flags, |
1242 | | const char* arg1_name, |
1243 | | const scoped_refptr<yb::debug::ConvertableToTraceFormat>& arg1_val, |
1244 | | const char* arg2_name, |
1245 | 0 | const ARG2_TYPE& arg2_val) { |
1246 | 0 | const int num_args = 2; |
1247 | 0 | const char* arg_names[2] = { arg1_name, arg2_name }; |
1248 | |
|
1249 | 0 | unsigned char arg_types[2]; |
1250 | 0 | uint64_t arg_values[2]; |
1251 | 0 | arg_types[0] = TRACE_VALUE_TYPE_CONVERTABLE; |
1252 | 0 | arg_values[0] = 0; |
1253 | 0 | SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); |
1254 | |
|
1255 | 0 | scoped_refptr<yb::debug::ConvertableToTraceFormat> convertable_values[2]; |
1256 | 0 | convertable_values[0] = arg1_val; |
1257 | |
|
1258 | 0 | return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
1259 | 0 | phase, category_group_enabled, name, id, thread_id, timestamp, |
1260 | 0 | num_args, arg_names, arg_types, arg_values, convertable_values, flags); |
1261 | 0 | } |
1262 | | |
1263 | | static inline yb::debug::TraceEventHandle |
1264 | | AddTraceEventWithThreadIdAndTimestamp( |
1265 | | char phase, |
1266 | | const unsigned char* category_group_enabled, |
1267 | | const char* name, |
1268 | | uint64_t id, |
1269 | | int thread_id, |
1270 | | const MicrosecondsInt64& timestamp, |
1271 | | unsigned char flags, |
1272 | | const char* arg1_name, |
1273 | | const scoped_refptr<yb::debug::ConvertableToTraceFormat>& arg1_val, |
1274 | | const char* arg2_name, |
1275 | 0 | const scoped_refptr<yb::debug::ConvertableToTraceFormat>& arg2_val) { |
1276 | 0 | const int num_args = 2; |
1277 | 0 | const char* arg_names[2] = { arg1_name, arg2_name }; |
1278 | 0 | unsigned char arg_types[2] = |
1279 | 0 | { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; |
1280 | 0 | scoped_refptr<yb::debug::ConvertableToTraceFormat> convertable_values[2] = |
1281 | 0 | { arg1_val, arg2_val }; |
1282 | 0 |
|
1283 | 0 | return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
1284 | 0 | phase, category_group_enabled, name, id, thread_id, timestamp, |
1285 | 0 | num_args, arg_names, arg_types, NULL, convertable_values, flags); |
1286 | 0 | } Unexecuted instantiation: master_main.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: read_query.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: server_main_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: backup_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: operation_driver.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: write_operation.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: inbound_call.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: rpc_context.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: replica_state.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: test_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: cdc_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: env_posix.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: net_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: socket.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: pb_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: log_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) Unexecuted instantiation: log.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&) |
1287 | | |
1288 | | static inline yb::debug::TraceEventHandle |
1289 | | AddTraceEventWithThreadIdAndTimestamp( |
1290 | | char phase, |
1291 | | const unsigned char* category_group_enabled, |
1292 | | const char* name, |
1293 | | uint64_t id, |
1294 | | int thread_id, |
1295 | | const MicrosecondsInt64& timestamp, |
1296 | 0 | unsigned char flags) { |
1297 | 0 | return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
1298 | 0 | phase, category_group_enabled, name, id, thread_id, timestamp, |
1299 | 0 | kZeroNumArgs, NULL, NULL, NULL, NULL, flags); |
1300 | 0 | } Unexecuted instantiation: master_main.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: read_query.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: tablet_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: server_main_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: backup_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: tablet.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: operation_driver.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: write_operation.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: inbound_call.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: rpc_context.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: replica_state.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: test_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: cdc_service.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: env_posix.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: net_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: socket.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: pb_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: log_util.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) Unexecuted instantiation: log.cc:trace_event_internal::AddTraceEventWithThreadIdAndTimestamp(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char) |
1301 | | |
1302 | | int TraceEventThreadId(); |
1303 | | |
1304 | | static inline yb::debug::TraceEventHandle AddTraceEvent( |
1305 | | char phase, |
1306 | | const unsigned char* category_group_enabled, |
1307 | | const char* name, |
1308 | | uint64_t id, |
1309 | 0 | unsigned char flags) { |
1310 | 0 | int thread_id = TraceEventThreadId(); |
1311 | 0 | MicrosecondsInt64 now = GetMonoTimeMicros(); |
1312 | 0 | return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
1313 | 0 | name, id, thread_id, now, flags); |
1314 | 0 | } Unexecuted instantiation: master_main.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: tablet_server_main.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: redis_rpc.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: read_query.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: tablet_service.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: ts_tablet_manager.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: server_main_util.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: backup_service.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: tablet.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: tablet_bootstrap_if.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: operation_driver.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: write_operation.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: maintenance_manager.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: tablet_metadata.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: inbound_call.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: rpc_context.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: yb_rpc.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: raft_consensus.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: replica_state.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: catalog_manager.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: sys_catalog.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: test_util.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: cdc_service.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: trace_event_impl.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: trace_event_synthetic_delay.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: env_posix.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: file_system_posix.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: mem_tracker.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: net_util.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: socket.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: pb_util.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: cql_rpc.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: log_util.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) Unexecuted instantiation: log.cc:trace_event_internal::AddTraceEvent(char, unsigned char const*, char const*, unsigned long long, unsigned char) |
1315 | | |
1316 | | template<class ARG1_TYPE> |
1317 | | static inline yb::debug::TraceEventHandle |
1318 | | AddTraceEventWithThreadIdAndTimestamp( |
1319 | | char phase, |
1320 | | const unsigned char* category_group_enabled, |
1321 | | const char* name, |
1322 | | uint64_t id, |
1323 | | int thread_id, |
1324 | | const MicrosecondsInt64& timestamp, |
1325 | | unsigned char flags, |
1326 | | const char* arg1_name, |
1327 | 0 | const ARG1_TYPE& arg1_val) { |
1328 | 0 | const int num_args = 1; |
1329 | 0 | unsigned char arg_types[1]; |
1330 | 0 | uint64_t arg_values[1]; |
1331 | 0 | SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
1332 | 0 | return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
1333 | 0 | phase, category_group_enabled, name, id, thread_id, timestamp, |
1334 | 0 | num_args, &arg1_name, arg_types, arg_values, NULL, flags); |
1335 | 0 | } Unexecuted instantiation: read_query.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: tablet_service.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: ts_tablet_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: backup_service.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: tablet_bootstrap_if.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: operation_driver.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<yb::tablet::OperationDriver*>(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, yb::tablet::OperationDriver* const&) Unexecuted instantiation: maintenance_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: tablet_metadata.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: rpc_context.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: yb_rpc.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: replica_state.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<long long>(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, long long const&) Unexecuted instantiation: replica_state.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: catalog_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: env_posix.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: file_system_posix.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: net_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: socket.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: log_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: log.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<unsigned long>(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, unsigned long const&) Unexecuted instantiation: log.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) |
1336 | | |
1337 | | template<class ARG1_TYPE> |
1338 | | static inline yb::debug::TraceEventHandle AddTraceEvent( |
1339 | | char phase, |
1340 | | const unsigned char* category_group_enabled, |
1341 | | const char* name, |
1342 | | uint64_t id, |
1343 | | unsigned char flags, |
1344 | | const char* arg1_name, |
1345 | 0 | const ARG1_TYPE& arg1_val) { |
1346 | 0 | int thread_id = TraceEventThreadId(); |
1347 | 0 | MicrosecondsInt64 now = GetMonoTimeMicros(); |
1348 | 0 | return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
1349 | 0 | name, id, thread_id, now, flags, |
1350 | 0 | arg1_name, arg1_val); |
1351 | 0 | } Unexecuted instantiation: read_query.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: tablet_service.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: ts_tablet_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: backup_service.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: tablet_bootstrap_if.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: operation_driver.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<yb::tablet::OperationDriver*>(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, yb::tablet::OperationDriver* const&) Unexecuted instantiation: maintenance_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: tablet_metadata.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: rpc_context.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: yb_rpc.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: replica_state.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<long long>(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, long long const&) Unexecuted instantiation: replica_state.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: catalog_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: env_posix.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: file_system_posix.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: net_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: socket.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: log_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: log.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<unsigned long>(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, unsigned long const&) Unexecuted instantiation: log.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) |
1352 | | |
1353 | | template<class ARG1_TYPE, class ARG2_TYPE> |
1354 | | static inline yb::debug::TraceEventHandle |
1355 | | AddTraceEventWithThreadIdAndTimestamp( |
1356 | | char phase, |
1357 | | const unsigned char* category_group_enabled, |
1358 | | const char* name, |
1359 | | uint64_t id, |
1360 | | int thread_id, |
1361 | | const MicrosecondsInt64& timestamp, |
1362 | | unsigned char flags, |
1363 | | const char* arg1_name, |
1364 | | const ARG1_TYPE& arg1_val, |
1365 | | const char* arg2_name, |
1366 | 0 | const ARG2_TYPE& arg2_val) { |
1367 | 0 | const int num_args = 2; |
1368 | 0 | const char* arg_names[2] = { arg1_name, arg2_name }; |
1369 | 0 | unsigned char arg_types[2]; |
1370 | 0 | uint64_t arg_values[2]; |
1371 | 0 | SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
1372 | 0 | SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); |
1373 | 0 | return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
1374 | 0 | phase, category_group_enabled, name, id, thread_id, timestamp, |
1375 | 0 | num_args, arg_names, arg_types, arg_values, NULL, flags); |
1376 | 0 | } Unexecuted instantiation: tablet_service.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: rpc_context.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: raft_consensus.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: catalog_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int>(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, int const&) Unexecuted instantiation: trace_event_impl.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<void const*, char const*>(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, void const* const&, char const*, char const* const&) Unexecuted instantiation: trace_event_impl.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<void const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, void const* const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: env_posix.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: pb_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: log_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEventWithThreadIdAndTimestamp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, int, long long const&, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) |
1377 | | |
1378 | | template<class ARG1_TYPE, class ARG2_TYPE> |
1379 | | static inline yb::debug::TraceEventHandle AddTraceEvent( |
1380 | | char phase, |
1381 | | const unsigned char* category_group_enabled, |
1382 | | const char* name, |
1383 | | uint64_t id, |
1384 | | unsigned char flags, |
1385 | | const char* arg1_name, |
1386 | | const ARG1_TYPE& arg1_val, |
1387 | | const char* arg2_name, |
1388 | 0 | const ARG2_TYPE& arg2_val) { |
1389 | 0 | int thread_id = TraceEventThreadId(); |
1390 | 0 | MicrosecondsInt64 now = GetMonoTimeMicros(); |
1391 | 0 | return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
1392 | 0 | name, id, thread_id, now, flags, |
1393 | 0 | arg1_name, arg1_val, |
1394 | 0 | arg2_name, arg2_val); |
1395 | 0 | } Unexecuted instantiation: tablet_service.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: rpc_context.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: rpc_context.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<scoped_refptr<yb::debug::ConvertableToTraceFormat>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, scoped_refptr<yb::debug::ConvertableToTraceFormat> const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: raft_consensus.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: catalog_manager.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int>(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, int const&) Unexecuted instantiation: trace_event_impl.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<void const*, char const*>(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, void const* const&, char const*, char const* const&) Unexecuted instantiation: trace_event_impl.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<void const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, void const* const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: env_posix.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: pb_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: log_util.cc:yb::debug::TraceEventHandle trace_event_internal::AddTraceEvent<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char, unsigned char const*, char const*, unsigned long long, unsigned char, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) |
1396 | | |
1397 | | // Used by TRACE_EVENTx macros. Do not use directly. |
1398 | | class TRACE_EVENT_API_CLASS_EXPORT ScopedTracer { |
1399 | | public: |
1400 | | // Note: members of data_ intentionally left uninitialized. See Initialize. |
1401 | 633M | ScopedTracer() : p_data_(NULL) {} |
1402 | | |
1403 | 633M | ~ScopedTracer() { |
1404 | 633M | if (p_data_ && *data_.category_group_enabled55.3k ) |
1405 | 55.1k | TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION( |
1406 | 55.1k | data_.category_group_enabled, data_.name, data_.event_handle); |
1407 | 633M | } |
1408 | | |
1409 | | void Initialize(const unsigned char* category_group_enabled, |
1410 | | const char* name, |
1411 | 59.0k | yb::debug::TraceEventHandle event_handle) { |
1412 | 59.0k | data_.category_group_enabled = category_group_enabled; |
1413 | 59.0k | data_.name = name; |
1414 | 59.0k | data_.event_handle = event_handle; |
1415 | 59.0k | p_data_ = &data_; |
1416 | 59.0k | } |
1417 | | |
1418 | | private: |
1419 | | // This Data struct workaround is to avoid initializing all the members |
1420 | | // in Data during construction of this object, since this object is always |
1421 | | // constructed, even when tracing is disabled. If the members of Data were |
1422 | | // members of this class instead, compiler warnings occur about potential |
1423 | | // uninitialized accesses. |
1424 | | struct Data { |
1425 | | const unsigned char* category_group_enabled = nullptr; |
1426 | | const char* name = nullptr; |
1427 | | yb::debug::TraceEventHandle event_handle; |
1428 | | }; |
1429 | | Data* p_data_; |
1430 | | Data data_; |
1431 | | }; |
1432 | | |
1433 | | // Used by TRACE_EVENT_BINARY_EFFICIENTx macro. Do not use directly. |
1434 | | class TRACE_EVENT_API_CLASS_EXPORT ScopedTraceBinaryEfficient { |
1435 | | public: |
1436 | | ScopedTraceBinaryEfficient(const char* category_group, const char* name); |
1437 | | ~ScopedTraceBinaryEfficient(); |
1438 | | |
1439 | | private: |
1440 | | const unsigned char* category_group_enabled_; |
1441 | | const char* name_; |
1442 | | yb::debug::TraceEventHandle event_handle_; |
1443 | | }; |
1444 | | |
1445 | | // This macro generates less code then TRACE_EVENT0 but is also |
1446 | | // slower to execute when tracing is off. It should generally only be |
1447 | | // used with code that is seldom executed or conditionally executed |
1448 | | // when debugging. |
1449 | | // For now the category_group must be "gpu". |
1450 | | #define TRACE_EVENT_BINARY_EFFICIENT0(category_group, name) \ |
1451 | | trace_event_internal::ScopedTraceBinaryEfficient \ |
1452 | | INTERNAL_TRACE_EVENT_UID(scoped_trace)(category_group, name); |
1453 | | |
1454 | | // TraceEventSamplingStateScope records the current sampling state |
1455 | | // and sets a new sampling state. When the scope exists, it restores |
1456 | | // the sampling state having recorded. |
1457 | | template<size_t BucketNumber> |
1458 | | class TraceEventSamplingStateScope { |
1459 | | public: |
1460 | | explicit TraceEventSamplingStateScope(const char* category_and_name) { |
1461 | | previous_state_ = TraceEventSamplingStateScope<BucketNumber>::Current(); |
1462 | | TraceEventSamplingStateScope<BucketNumber>::Set(category_and_name); |
1463 | | } |
1464 | | |
1465 | | ~TraceEventSamplingStateScope() { |
1466 | | TraceEventSamplingStateScope<BucketNumber>::Set(previous_state_); |
1467 | | } |
1468 | | |
1469 | | static inline const char* Current() { |
1470 | | return reinterpret_cast<const char*>(TRACE_EVENT_API_ATOMIC_LOAD( |
1471 | | g_trace_state[BucketNumber])); |
1472 | | } |
1473 | | |
1474 | | static inline void Set(const char* category_and_name) { |
1475 | | TRACE_EVENT_API_ATOMIC_STORE( |
1476 | | g_trace_state[BucketNumber], |
1477 | | reinterpret_cast<TRACE_EVENT_API_ATOMIC_WORD>( |
1478 | | const_cast<char*>(category_and_name))); |
1479 | | } |
1480 | | |
1481 | | private: |
1482 | | const char* previous_state_; |
1483 | | }; |
1484 | | |
1485 | | } // namespace trace_event_internal |
1486 | | |
1487 | | namespace yb { |
1488 | | namespace debug { |
1489 | | |
1490 | | template<typename IDType> class TraceScopedTrackableObject { |
1491 | | public: |
1492 | | TraceScopedTrackableObject(const char* category_group, const char* name, |
1493 | | IDType id) |
1494 | | : category_group_(category_group), |
1495 | | name_(name), |
1496 | | id_(id) { |
1497 | | TRACE_EVENT_OBJECT_CREATED_WITH_ID(category_group_, name_, id_); |
1498 | | } |
1499 | | |
1500 | | template <typename ArgType> void snapshot(ArgType snapshot) { |
1501 | | TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID(category_group_, name_, id_, snapshot); |
1502 | | } |
1503 | | |
1504 | | ~TraceScopedTrackableObject() { |
1505 | | TRACE_EVENT_OBJECT_DELETED_WITH_ID(category_group_, name_, id_); |
1506 | | } |
1507 | | |
1508 | | private: |
1509 | | const char* category_group_; |
1510 | | const char* name_; |
1511 | | IDType id_; |
1512 | | |
1513 | | DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); |
1514 | | }; |
1515 | | |
1516 | | } // namespace debug |
1517 | | } // namespace yb |
1518 | | |
1519 | | #endif /* YB_UTIL_DEBUG_TRACE_EVENT_H_ */ |