Descriptiontracing: get rid of files in TracingController interface
The only way to get the tracing data used to be by reading the file
provided in TracingController::DisableTracing() interface. This does
not fit well for most usages, so this introduces a TraceDataSink
interface that is backed either by a file, string, or, in case of
DevTools, by the protocol client.
This resolves the OOM in browser and imporves performance while
recording very large traces through DevTools, streamlines
TracingController core and reduces coplexity of code for most
TracingController clients.
BUG=409733, 361045
Committed: https://crrev.com/b85bb8fc41a192f207fa2361a8edcfa42b47076f
Cr-Commit-Position: refs/heads/master@{#294801}
Patch Set 1 #Patch Set 2 : fixed android #
Total comments: 1
Patch Set 3 : switched TraceDataSink to RefCountedThreadSafe #Patch Set 4 : fixed build following removal of cast opterator in scoped_refptr #
Total comments: 2
Patch Set 5 : more comments addressed #Patch Set 6 : rebased, fixed tests following last ps #
Total comments: 2
Patch Set 7 : git cl format #Patch Set 8 : rebased, fixed building notification message to work around limitations of StringPrintf #Patch Set 9 : fixed test/base/tracing.cc #Patch Set 10 : fixed system trace collection #Messages
Total messages: 34 (8 generated)
|