summaryrefslogtreecommitdiffstats
path: root/base/trace_event
Commit message (Collapse)AuthorAgeFilesLines
* [tracing] Don't emit parent names for root MemoryAllocatorDump(s)primiano2015-04-171-1/+3
| | | | | | | | | | | Small fix to make it so that root MemoryAllocatorDump(s) don't end up with a "parent":"" entry in the trace. BUG=466141 Review URL: https://codereview.chromium.org/1068443004 Cr-Commit-Position: refs/heads/master@{#325668}
* [tracing] Non-functional refactor of MemoryDumpManagerprimiano2015-04-174-67/+102
| | | | | | | | | | | | | | | | | This CL is a refactor of MemoryDumpManager in light of the upcoming changes to support asynchronous invocations of MemoryDumpProvider(s) on client-specified threads. This CL does't introduce any new function. The only minimal change is turning the list of registered MDP(s) into a hash_set (which contributes to simplify the design of the MDM). The MDM never guaranteed to invoke MDP in order and it now makes even less sense, in light of upcoming thread hops. BUG=478008 Review URL: https://codereview.chromium.org/1087403004 Cr-Commit-Position: refs/heads/master@{#325653}
* Apply automated fixits for Chrome clang plugin to base_unittests.dcheng2015-04-171-2/+2
| | | | | | | | | | Working on trimming down ~26k warnings on the Windows clang build. BUG=467287 Review URL: https://codereview.chromium.org/1092863002 Cr-Commit-Position: refs/heads/master@{#325606}
* Add option to export tracing events to ETW.georgesak2015-04-1611-3/+518
| | | | | | | | | | | | | - Exporting of ETW events can be turned on using --trace-export-events-to-etw. BUG= Committed: https://crrev.com/1cc86c4f686869f32dfede093a07828c73563892 Cr-Commit-Position: refs/heads/master@{#324982} Review URL: https://codereview.chromium.org/1038453002 Cr-Commit-Position: refs/heads/master@{#325408}
* Generate globally (cross-process) unique IDs for memory tracing dumpsssid2015-04-143-4/+9
| | | | | | | | | | | Refactoring the hashing code to use it in memory_dump_manager to make the guid unique. BUG=462931 Review URL: https://codereview.chromium.org/994133002 Cr-Commit-Position: refs/heads/master@{#325071}
* Add a dump provider to dump malloc allocation data.ssid2015-04-144-0/+117
| | | | | | | | | | | | | | | This CL adds malloc_dump_provider to dump information about allocations by using malloc(). It dumps total memory allocated from system and total memory used by the objects from mallinfo() function. For more details see design doc http://goo.gl/fMR8lF. BUG=443593 Review URL: https://codereview.chromium.org/1003113006 Cr-Commit-Position: refs/heads/master@{#325053}
* Revert "Add option to export tracing events to ETW."pdr2015-04-1411-511/+3
| | | | | | | | | | | | This reverts commit 1cc86c4f686869f32dfede093a07828c73563892 due to a compile failures on windows. For more information, see crbug.com/476806. TBR=thakis BUG=476806 Review URL: https://codereview.chromium.org/1087733002 Cr-Commit-Position: refs/heads/master@{#325002}
* Add option to export tracing events to ETW.georgesak2015-04-1411-3/+511
| | | | | | | | | | - Exporting of ETW events can be turned on using --trace-export-events-to-etw. BUG= Review URL: https://codereview.chromium.org/1038453002 Cr-Commit-Position: refs/heads/master@{#324982}
* [tracing] Fix single-process detection logic of ChildTraceMessageFilterprimiano2015-04-081-4/+1
| | | | | | | | | | | | | | | | | | | | | | Currently the instantiation of ChildTraceMessageFilter in child_thread_impl.cc is guarded by a check on CommandLine.HasSwitch(kSingleProcess) The rationale is that in single-process mode we don't want to have any message filter as the browser-side tracing will cover all the threads. However, the aforementioned check is not complete, as it does not covers the case of tests using the InProcessUtilityThreadHelper [1]. In those tests, the kSingleProcess flag is not present, but the renderer is in-process anyways. Replacing the the HasSwitch check in with IsInBrowserProcess(), which covers also the latter case. [1] for instance extensions/browser/sandboxed_unpacker_unittest.cc BUG=474973 Review URL: https://codereview.chromium.org/1069253003 Cr-Commit-Position: refs/heads/master@{#324276}
* [tracing] child-process-side impl for inter-process memory dumpsprimiano2015-04-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This CL introduces the implementation for handling the inter-process memory dumps on the child-process side. Conceptually this consists of a simple plumbing in TraceMessageFilter in order to propagate the request up to the browser's MemoryDumpManager, as the child processes' MDM play a very passive role in the inter-process coordination game. In practice, some extra care is required to match the lifetime of MDM MDM (long) and ChildTraceMessageFilter (shorter) in a thread-safe manner, which requires the introduction of the proxy class herein called ChildMemoryDumpManagerDelegateImpl. More context and design doc are available in the attached BUG. Reason for NOTRY: all but one bots are green. I started goo.gl/tBX5f1 on infra-dev about the failure and it seems due to a bot out of space. The change has been sitting for 4+ hours and there are other CLs blocked on this. BUG=462930,474973 NOTRY=true Review URL: https://codereview.chromium.org/1039963003 Cr-Commit-Position: refs/heads/master@{#324229}
* [tracing] MemoryDumpManager delegate for upcoming inter-process dumpsprimiano2015-03-313-8/+64
| | | | | | | | | | | | | | | | | | | This CL introduces an interface to the MemoryDumpManager to delegate the generation of dump points. The MDM delegate here is an inversion of dependency interface, to allow the MDM (which lives in //base) to coordinate inter-process dumps without having to depend on //ipc and other layers. In the upcoming CLs this delegate will be concretely implemented by TracingControllerImpl (browser side) and ChildTraceMessageFilter (child process side) to handle the IPC dances. More context and design doc are available in the attached BUG. BUG=462930 Review URL: https://codereview.chromium.org/1042173002 Cr-Commit-Position: refs/heads/master@{#323046}
* [tracing] Refactor MemoryDumpManager for upcoming multiprocess dumpsprimiano2015-03-318-54/+99
| | | | | | | | | | | | | | | | | | | | | | | This CL introduces minimal code change with no functional behavioral changes to the MemoryDumpManager, in particular: - Move the definition of structs and types used to request memory dumps to a separate file (memory_dump_request_args.h). Rationale: these structs will be used in upcoming CLs by IPCs and this header avoids to include the full MDM header and breaks include loops. - Rename the RequestDumpPoint to RequestGlobalDumpPoint, to make it explicit that the dump will be global. - Turn the internal dump request parameters into a struct (MemoryDumpRequestArgs). This will be serialized over IPC and serves as an extensions point for the future (add extra dumpe parameters without having to rewrite all the IPC / message filters call sites) More context and design doc are available in the attached BUG. BUG=462930 Review URL: https://codereview.chromium.org/1045613002 Cr-Commit-Position: refs/heads/master@{#323033}
* Re-land issue 750183008 (Parallelize trace messages serialization)caseq2015-03-262-12/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This re-lands https://codereview.chromium.org/750183008 (originally by loislo@) with the output chunk size reduced down from 10M to 100K (close to what it used to be originally). The reason for telemetry failures of original change on Windows was the bug in websocket-client (https://github.com/liris/websocket-client/issues/163) that caused it to fragment Python heap when receiving a large frame. Original issue description: Move serialization into a worker thread. As a result IO thread will be able to send messages to the browser. The original implementation did serialization on IO thread and was not able to send the messages because ipc had is_blocked_on_write_ = true and had no chance to check the actual state of the channel. So the messages were collected in output_queue. Also the messages could be quite big and could block the IO thread for a long time. BUG=463572 TBR=dsinclair (as he already l-g-t-m-d the original patch) Review URL: https://codereview.chromium.org/1035783002 Cr-Commit-Position: refs/heads/master@{#322391}
* [tracing] Improve the memory maps dumper generation format.primiano2015-03-207-41/+66
| | | | | | | | | | | | | | | | | | This CL reworks the trace generation format for the memory maps dumper according to latest discussion in the design doc "Memory Dumping: Mmap and Smap data dumping details" (http://goo.gl/e6WRnQ). Furthermore this CL changes the output format of the total dumper to dump a hex string rather than a float, in order to be consistent with the mmaps dumper. See http://pastebin.com/EHdNDMXN for an example of the generated JSON. BUG=460884 Review URL: https://codereview.chromium.org/947103003 Cr-Commit-Position: refs/heads/master@{#321570}
* [tracing] Move GN/gyp build files under trace_eventprimiano2015-03-192-1/+76
| | | | | | | | | | | | Move all trace_event related build files in their own gyp / gn target under base/trace_event. This should allow easier maintenance of tracing code. BUG= Review URL: https://codereview.chromium.org/1014923002 Cr-Commit-Position: refs/heads/master@{#321430}
* [tracing] Introduce support for userland memory allocators dumps.primiano2015-03-1913-8/+434
| | | | | | | | | | | | | | | This introduces the MemoryAllocatorDump which defines the ground data model that every allocator MemoryDumpProvider must comply with in order to get a coherent snapshot of the various allocators inside the trace. Furthermore, MemoryDumpProvider(s) can specify further attributes that will be attached to each dump point using the MemoryAllocatorAttributes map. BUG=466141 Review URL: https://codereview.chromium.org/987043003 Cr-Commit-Position: refs/heads/master@{#321368}
* Edited comments for NESTABLE_ASYNC eventsxunjieli2015-03-171-9/+13
| | | | | | | | | | | The documentation for NESTABLE_ASYNC events is not quite right. It does not say that we use "id" to match events, and it is not accurate about the parsing rule for unmatched events. This CL makes changes to the comments, so it will be clearer to future users of the API. Review URL: https://codereview.chromium.org/1016753003 Cr-Commit-Position: refs/heads/master@{#320952}
* Add TRACE_EVENT_SAMPLE_WITH_TID_AND_TIMESTAMP to tracingalph2015-03-171-0/+21
| | | | | | | | | | It is going to be used by V8 sampling profiler. BUG=406277 Review URL: https://codereview.chromium.org/1007253005 Cr-Commit-Position: refs/heads/master@{#320837}
* De-duplicate BASE_IMPLEMENTATION define in the GN build.brettw2015-03-161-1/+1
| | | | | | | | TBR=ncbray Review URL: https://codereview.chromium.org/1016443002 Cr-Commit-Position: refs/heads/master@{#320771}
* Fix GN NaCl Debug build of base.ncbray2015-03-101-0/+61
| | | | | | | | | | BUG=401761 TBR=brettw CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg Review URL: https://codereview.chromium.org/972203003 Cr-Commit-Position: refs/heads/master@{#319987}
* base: Stop passing by non-const references in some more places.danakj2015-03-101-9/+6
| | | | | | | | | | | | | These are mostly unit test changes. There are a fair number of occurances still, but they are not easy (or possible) to change due to STL, third_party, or template requirements. R=Nico BUG=464816 Review URL: https://codereview.chromium.org/992083002 Cr-Commit-Position: refs/heads/master@{#319812}
* base: Fix/add header #ifndef guards.danakj2015-03-102-2/+2
| | | | | | | | | | | | | | | | Header guards should be defined based on the path and file name of the header file. Some headers have it wrong, some are missing the guards, and some just have the matching comment wrong. R=Nico BUG=464816 Committed: https://crrev.com/301b392761fd8f66f3a701ab1dd011c6e7a55e19 Cr-Commit-Position: refs/heads/master@{#319722} Review URL: https://codereview.chromium.org/985003004 Cr-Commit-Position: refs/heads/master@{#319793}
* base: Use more specific CHECK macros for comparisons.danakj2015-03-092-3/+3
| | | | | | | | | | | | | | | Prefer DCHECK_EQ(a, b) over DCHECK(a == b) when possible as this provides more data on a failure. Similar for other operators such as >=, <, !=, etc. This also applies to CHECK, EXPECT, and ASSERT macros. R=Nico BUG=464816 Review URL: https://codereview.chromium.org/985723003 Cr-Commit-Position: refs/heads/master@{#319751}
* Revert of base: Fix/add header #ifndef guards. (patchset #2 id:20001 of ↵bnc2015-03-092-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/985003004/) Reason for revert: This seems to be causing tree closing compile failure https://build.chromium.org/p/chromium/builders/Android/builds/36135/steps/compile/logs/stdio. Original issue's description: > base: Fix/add header #ifndef guards. > > Header guards should be defined based on the path and file name of the > header file. Some headers have it wrong, some are missing the guards, > and some just have the matching comment wrong. > > R=Nico > BUG=464816 > > Committed: https://crrev.com/301b392761fd8f66f3a701ab1dd011c6e7a55e19 > Cr-Commit-Position: refs/heads/master@{#319722} TBR=thakis@chromium.org,danakj@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=464816 Review URL: https://codereview.chromium.org/989343002 Cr-Commit-Position: refs/heads/master@{#319728}
* base: Fix/add header #ifndef guards.danakj2015-03-092-2/+2
| | | | | | | | | | | | | Header guards should be defined based on the path and file name of the header file. Some headers have it wrong, some are missing the guards, and some just have the matching comment wrong. R=Nico BUG=464816 Review URL: https://codereview.chromium.org/985003004 Cr-Commit-Position: refs/heads/master@{#319722}
* base: Add/Fix namespace closing comments.danakj2015-03-073-3/+4
| | | | | | | | | | | A namespace foo should end with a comment "// namespace foo", this corrects errors in base/. BUG=464816 Review URL: https://codereview.chromium.org/981803003 Cr-Commit-Position: refs/heads/master@{#319543}
* Enable trace with multiple categories with any one category ONr.kasibhatla2015-03-062-11/+28
| | | | | | | | | | | | | | | | | | | | | As per documentation https://code.google.com/p/chromium/codesearch#chromium/src/base/trace_event/trace_event.h&l=27 for any trace event which specifies category group, the trace event needs to be recorded when either of category present in the group is enabled. Current implementation short circuits the check for enabled category group and returns false as soon as any category is found which is not enabled. Rather, short circuit for returning true when any enabled category is found. Otherwise, should check for each category present in the group until any one enabled category is found. Return false only if no enabled category is found. BUG=463385 TESTS=Updated TraceEventTestFixture tests in base_unittests Review URL: https://codereview.chromium.org/971673004 Cr-Commit-Position: refs/heads/master@{#319417}
* [tracing] Enable actual generation of memory dump points.primiano2015-03-023-22/+60
| | | | | | | | | | | | This CL introduces a new TRACE_EVENT_PHASE for memory dump and enables the MemoryDumpManager to generate actual trace events when CreateLocalDumpPoint is invoked. BUG=458295 Review URL: https://codereview.chromium.org/956413002 Cr-Commit-Position: refs/heads/master@{#318727}
* [tracing] Auto disable failing memory dumpers (sandboxing workaround)primiano2015-02-267-20/+90
| | | | | | | | | | | | | | | This CL introduces a workaround to deal with limitations that memory dumpers face in child processes when sandboxed. In the long term, this will be solved by doing the proper /proc/PID/* fd propagation via IPC. In the meanwhile this CL prevents invoking a dumper over and over once it fails for the duration of the trace. BUG=460884,461788 Review URL: https://codereview.chromium.org/954143006 Cr-Commit-Position: refs/heads/master@{#318299}
* [tracing] Add memory maps dumper impl for Linux/Androidprimiano2015-02-252-5/+246
| | | | | | | | | | | | This is a follow-up to crrev.com/928723004. It introduces the code which is able to read and parse the /proc/.../smaps file into an actual TraceValue and the corresponding unittest. BUG=460884 Review URL: https://codereview.chromium.org/951463002 Cr-Commit-Position: refs/heads/master@{#318023}
* [tracing] memory maps dump provider skeletonprimiano2015-02-247-1/+266
| | | | | | | | | | | | | This CL introduces the skeleton (data model and dump provider stub) for snapshotting memory maps into the traces (via MemoryDumpManager). In the next CLs, the actual code to retrieve the data for the various OSs (or at least some of them) will be introduced. BUG=460884 Review URL: https://codereview.chromium.org/928723004 Cr-Commit-Position: refs/heads/master@{#317821}
* Avoid twice clock readingwangxianzhu2015-02-232-6/+7
| | | | | | | | | | | | Add TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP which is set when an explicit timestamp is specified for the trace event. Only re-read clock if the flag is set. BUG=457441 Review URL: https://codereview.chromium.org/928563003 Cr-Commit-Position: refs/heads/master@{#317618}
* [tracing] Add a dump provider to dump process memory totals.primiano2015-02-208-27/+227
| | | | | | | | | | | This CL introduces a dump provider which is able to capture the process Resident Set Size and the corresponding unittest. BUG=442731,458295 Review URL: https://codereview.chromium.org/934323002 Cr-Commit-Position: refs/heads/master@{#317336}
* [tracing] Fix MemoryDumpManager testing instance teardown pattern.primiano2015-02-203-21/+18
| | | | | | | | | | | | | | | | crrev.com/933613002 introduced a ODR violtaion by adding the DeleteForTesting method (other definition in trace_event_impl.cc). This was causing an ASan assertion (see crbug.com/459556) and failures of base_unittests in debug builds (see crrev.com/933613002 #33). This CL fixes the DeleteForTesting pattern removing the awkward ODR violation. BUG=459556,458295 TBR=nduca@chromium.org Review URL: https://codereview.chromium.org/942803002 Cr-Commit-Position: refs/heads/master@{#317316}
* Remove the happens-before annotations from base/memory/singleton.hglider2015-02-201-0/+1
| | | | | | | | | | | | Since we've deprecated TSan v1, these aren't used anymore and may potentially hide errors in lock-free synchronization that TSan v2 could detect otherwise. BUG=349861 TBR=nduca@chromium.org,scottmg@chromium.org R=danakj@chromium.org,kbr@chromium.org Review URL: https://codereview.chromium.org/790473002 Cr-Commit-Position: refs/heads/master@{#317297}
* [tracing] Introduce memory tracing skeleton.primiano2015-02-176-0/+446
| | | | | | | | | | | | | | | | | | | This is the first step towards the introduction of memory as a metric in chromium tracing. This change introduces the core memory dump manager which will coordinate the memory dumps. Specifically, the following concepts are introduced by this CL: - memory_dump_manager: the front-end interface exposed to the rest of the codebase to create memory dump points. - memory_dump_provider: the contract interface that memory dumpers need to expose in order to coordinate with the manager. This CL does NOT expose any user-visible tracing functionality. BUG=458295 Review URL: https://codereview.chromium.org/933613002 Cr-Commit-Position: refs/heads/master@{#316700}
* Use real time instead of event time to compute trace event overheadwangxianzhu2015-02-131-4/+8
| | | | | | | | | | | | | | | | Use real time instead of event time to compute overhead, because event timestamp may be not the real time that we started to add the event (e.g. event with zero timestamp or that was generated some time ago). With this CL the overhead excludes the time between the beginning of the TRACE_EVENT macro and AddTraceEventWithThreadIdAndTimestamp() which should be trivial. BUG=457441 Review URL: https://codereview.chromium.org/929443002 Cr-Commit-Position: refs/heads/master@{#316251}
* [tracing] Add a DCHECK to ensure that trace events have a valid timestamp.rmcilroy2015-02-131-0/+1
| | | | | | | | | | | Non metadata trace events should not have zero timestamps, so add a DCHECK that this is the case. BUG=456940,456940 Review URL: https://codereview.chromium.org/920963002 Cr-Commit-Position: refs/heads/master@{#316226}
* Add DeadlineOverrun step to the RendererSchedulerIdlePeriod trace event.rmcilroy2015-02-121-0/+9
| | | | | | | | | | | | | | | | | Adds a deadline overrun step to the RendererSchedulerIdlePeriod trace event to make it obvious when an idle period lasts longer than its deadline. Also adds a TRACE_EVENT_ASYNC_STEP_INTO_WITH_TIMESTAMP0 which is required to add the step at the appropriate time. BUG=455713 Committed: https://crrev.com/a38b72b5f1ec147bb961e9045ca0c165f428d5e4 Cr-Commit-Position: refs/heads/master@{#315042} Review URL: https://codereview.chromium.org/908473002 Cr-Commit-Position: refs/heads/master@{#316080}
* Revert of DevTools: Parallelize trace messages serialization. (patchset #8 ↵loislo2015-02-122-29/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:160001 of https://codereview.chromium.org/750183008/) Reason for revert: looks like it breaks image_decoding_measurements http://build.chromium.org/p/chromium.perf/builders/Win%20XP%20Perf%20%283%29/builds/4285 Original issue's description: > DevTools: Parallelize trace messages serialization. > > Move serialization into a worker thread. As a result > IO thread will be able to send messages to the browser. > > The original implementation did serialization on IO thread > and was not able to send the messages because ipc had > is_blocked_on_write_ = true and had no chance to check > the actual state of the channel. So the messages were > collected in output_queue. Also the messages could be quite > big and could block the IO thread for a long time. > > BUG= > > Committed: https://crrev.com/d58e06aafd6572e681f9d30f313bf5393db9f2bc > Cr-Commit-Position: refs/heads/master@{#308773} > > Committed: https://crrev.com/e7d8d8b60e331469a7af4936e9fcc16630fb8fdf > Cr-Commit-Position: refs/heads/master@{#315957} TBR=nduca@chromium.org,pfeldman@chromium.org,caseq@chromium.org,yurys@chromium.org,wangxianzhu@chromium.org,skyostil@google.com,dsinclair@chromium.org,skyostil@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/923693002 Cr-Commit-Position: refs/heads/master@{#316038}
* Revert of Add DeadlineOverrun step to the RendererSchedulerIdlePeriod trace ↵gab2015-02-121-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | event. (patchset #1 id:1 of https://codereview.chromium.org/908473002/) Reason for revert: http://crbug.com/456940#c17 Original issue's description: > Add DeadlineOverrun step to the RendererSchedulerIdlePeriod trace event. > > Adds a deadline overrun step to the RendererSchedulerIdlePeriod trace event > to make it obvious when an idle period lasts longer than its deadline. > > Also adds a TRACE_EVENT_ASYNC_STEP_INTO_WITH_TIMESTAMP0 which is required > to add the step at the appropriate time. > > BUG=455713 > > Committed: https://crrev.com/a38b72b5f1ec147bb961e9045ca0c165f428d5e4 > Cr-Commit-Position: refs/heads/master@{#315042} TBR=nduca@chromium.org,skyostil@chromium.org,dsinclair@chromium.org,rmcilroy@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=455713, 456940 Review URL: https://codereview.chromium.org/916223004 Cr-Commit-Position: refs/heads/master@{#315989}
* DevTools: Parallelize trace messages serialization.loislo2015-02-122-12/+29
| | | | | | | | | | | | | | | | | | | | | Move serialization into a worker thread. As a result IO thread will be able to send messages to the browser. The original implementation did serialization on IO thread and was not able to send the messages because ipc had is_blocked_on_write_ = true and had no chance to check the actual state of the channel. So the messages were collected in output_queue. Also the messages could be quite big and could block the IO thread for a long time. BUG= Committed: https://crrev.com/d58e06aafd6572e681f9d30f313bf5393db9f2bc Cr-Commit-Position: refs/heads/master@{#308773} Review URL: https://codereview.chromium.org/750183008 Cr-Commit-Position: refs/heads/master@{#315957}
* Mechanical rename of base::debug -> base::trace_event [final pass]ssid2015-02-094-47/+0
| | | | | | | | | | | | | | This is the last stage of the trace_event directory restructuring. This is part of a set of 3 CLs which is moving tracing clients to use the new base::trace_debug namespace. See crrev.com/837303004 and the related bug for motivations. BUG=451032 TBR=jam@chromium.org Review URL: https://codereview.chromium.org/868603007 Cr-Commit-Position: refs/heads/master@{#315397}
* Add DeadlineOverrun step to the RendererSchedulerIdlePeriod trace event.rmcilroy2015-02-061-0/+9
| | | | | | | | | | | | | | Adds a deadline overrun step to the RendererSchedulerIdlePeriod trace event to make it obvious when an idle period lasts longer than its deadline. Also adds a TRACE_EVENT_ASYNC_STEP_INTO_WITH_TIMESTAMP0 which is required to add the step at the appropriate time. BUG=455713 Review URL: https://codereview.chromium.org/908473002 Cr-Commit-Position: refs/heads/master@{#315042}
* Reland of Move tracing namespace from base::debug to base::trace_event.primiano2015-02-0521-105/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original CL: crrev.com/882673002 Reason for revert: Broke memory.fyi bot (crbug.com/455530) Reason for reland: The CL was renaming the tracing namespace and missed the rename of the tsan suppression (addressed here) Original description: After having transitioned all the tracing headers from base/debug/ to base/trace_event, this CL addresses the namespace move. In principle, this CL should only change the namespace of the base/trace_event files but the namespace used by the tracing clients. In order to achieve this, namespace aliases are appended to the trace_event headers, to make it so that clients can still refer to base::debug::TraceFoo, with that being aliased to base::trace_event::TraceFoo. The upcoming CLs will gradually migrate the clients to use the base::trace_event namespace and will remove the ns aliases. Unfortunately, this CL has also to update few tracing clients, in particular the ones having forward declarations. Forward declarations, in fact, cannot be aliased as the compiler sees them before the alias itself. See crrev.com/837303004 and the related bug for motivations and design doc. BUG=451032,455530 TBR=skyostil@chromium.org,jam@chromium.org,dsinclair@chromium.org,ssid@chromium.org Review URL: https://codereview.chromium.org/869043008 Cr-Commit-Position: refs/heads/master@{#314806}
* Revert of Move tracing namespace from base::debug to base::trace_event. ↵zhaoqin2015-02-0521-161/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #7 id:120001 of https://codereview.chromium.org/882673002/) Reason for revert: broken Memory.FYI TSan bot. crbug.com/455530 Original issue's description: > Move tracing namespace from base::debug to base::trace_event. > > After having transitioned all the tracing headers from base/debug/ to > base/trace_event, this CL addresses the namespace move. > In principle, this CL should only change the namespace of the > base/trace_event files but the namespace used by the tracing clients. > In order to achieve this, namespace aliases are appended to the > trace_event headers, to make it so that clients can still refer to > base::debug::TraceFoo, with that being aliased to > base::trace_event::TraceFoo. > The upcoming CLs will gradually migrate the clients to use the > base::trace_event namespace and will remove the ns aliases. > Unfortunately, this CL has also to update few tracing clients, > in particular the ones having forward declarations. Forward > declarations, in fact, cannot be aliased as the compiler sees them > before the alias itself. > > See crrev.com/837303004 and the related bug for motivations and design doc. > > BUG=451032 > TBR=skyostil@chromium.org,jam@chromium.org > > Committed: https://crrev.com/97c5abba36f5ce473cd996fab74fbf5aa9bb5464 > Cr-Commit-Position: refs/heads/master@{#314657} TBR=dsinclair@chromium.org,picksi@chromium.org,primiano@chromium.org,skyostil@chromium.org,ssid@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=451032 Review URL: https://codereview.chromium.org/904573002 Cr-Commit-Position: refs/heads/master@{#314740}
* Move tracing namespace from base::debug to base::trace_event.ssid2015-02-0421-105/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | After having transitioned all the tracing headers from base/debug/ to base/trace_event, this CL addresses the namespace move. In principle, this CL should only change the namespace of the base/trace_event files but the namespace used by the tracing clients. In order to achieve this, namespace aliases are appended to the trace_event headers, to make it so that clients can still refer to base::debug::TraceFoo, with that being aliased to base::trace_event::TraceFoo. The upcoming CLs will gradually migrate the clients to use the base::trace_event namespace and will remove the ns aliases. Unfortunately, this CL has also to update few tracing clients, in particular the ones having forward declarations. Forward declarations, in fact, cannot be aliased as the compiler sees them before the alias itself. See crrev.com/837303004 and the related bug for motivations and design doc. BUG=451032 TBR=skyostil@chromium.org,jam@chromium.org Review URL: https://codereview.chromium.org/882673002 Cr-Commit-Position: refs/heads/master@{#314657}
* Move base/debug/trace_event* to base/trace_event/ [part 1]ssid2015-01-2722-0/+10786
Trace Event used to be a single file, base/debug/trace_event.h. Then we added more functionality, so it was base/debug/trace_event*.* For many years, we have had per-file OWNERS for Trace Event based off of trace_event*. This let us do trace_event improvements/iteration out of band with the much slower base/OWNERS process. But, this leads to a lot of poor filename choices for tracing related features, specifically to fall under trace event reviewers instead of base/ reviewers. That's clearly wrong. BUG=451032 Review URL: https://codereview.chromium.org/837303004 Cr-Commit-Position: refs/heads/master@{#313266}