Background context: bit.ly/TracingV2 See Execution plan: Preliminary investigations and prototype The tasks of this milestone are tracked in blocker bugs.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ccb26c6eaa8e1f45e390d43eba0b613375608bf0 commit ccb26c6eaa8e1f45e390d43eba0b613375608bf0 Author: primiano <primiano@chromium.org> Date: Wed Jun 01 21:50:02 2016 tracing: restructure to the components/tracing folder This is a non functional refactoring. This is just reshuffling files inside //components/tracing in preparation for bitt.ly/TracingV2, which will introduce new files. BUG=608719 TBR=jochen@chromium.org,raymes@chromium.org,rockot@chromium.org,inferno@chromium.org Review-Url: https://codereview.chromium.org/2028043002 Cr-Commit-Position: refs/heads/master@{#397260} [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/chrome/browser/about_flags.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/chrome/browser/browser_shutdown.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/chrome/browser/chrome_browser_main.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/chrome/browser/chromeos/login/chrome_restart_request.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/chrome/browser/tracing/crash_service_uploader.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/chrome/browser/tracing/navigation_tracing.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/chrome/browser/ui/tab_helpers.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/BUILD.gn [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/components_tests.gyp [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing.gyp [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/BUILD.gn [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/OWNERS [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/browser/trace_config_file.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/browser/trace_config_file.h [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/browser/trace_config_file_unittest.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/child/child_memory_dump_manager_delegate_impl.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/child/child_memory_dump_manager_delegate_impl.h [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/child/child_trace_message_filter.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/child/child_trace_message_filter.h [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/child/child_trace_message_filter_browsertest.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/child/child_trace_message_filter_unittest.cc [add] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/OWNERS [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/graphics_memory_dump_provider_android.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/graphics_memory_dump_provider_android.h [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/graphics_memory_dump_provider_android_unittest.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/process_metrics_memory_dump_provider.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/process_metrics_memory_dump_provider.h [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/process_metrics_memory_dump_provider_unittest.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/trace_to_console.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/trace_to_console.h [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/tracing_messages.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/tracing_messages.h [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/tracing_switches.cc [rename] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing/common/tracing_switches.h [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/components/tracing_nacl.gyp [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/app/android/library_loader_hooks.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/app/content_main_runner.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/browser_child_process_host_impl.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/browser_main_loop.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/browser_main_runner.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/browser_shutdown_profile_dumper.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/devtools/protocol/tracing_handler.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/tracing/background_tracing_rule.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/tracing/trace_message_filter.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/browser/tracing/tracing_controller_impl.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/child/child_thread_impl.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/content/gpu/gpu_main.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/ppapi/nacl_irt/ppapi_dispatcher.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/services/shell/standalone/context.cc [modify] https://crrev.com/ccb26c6eaa8e1f45e390d43eba0b613375608bf0/tools/ipc_fuzzer/message_lib/all_messages.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9294ab8ff1484d31d48803e51a160ba0d0c8e368 commit 9294ab8ff1484d31d48803e51a160ba0d0c8e368 Author: primiano <primiano@chromium.org> Date: Thu Jun 30 10:14:04 2016 tracing v2: Add TraceRingBuffer class. TraceRingBuffer handles the chunking of the large continuous tracing buffer. Some features, such as the support for shared metadata (interned string index, process name, etc.), are still missing. BUG=608719 Review-Url: https://codereview.chromium.org/2049653002 Cr-Commit-Position: refs/heads/master@{#403135} [modify] https://crrev.com/9294ab8ff1484d31d48803e51a160ba0d0c8e368/components/components_tests.gyp [modify] https://crrev.com/9294ab8ff1484d31d48803e51a160ba0d0c8e368/components/tracing.gyp [modify] https://crrev.com/9294ab8ff1484d31d48803e51a160ba0d0c8e368/components/tracing/BUILD.gn [add] https://crrev.com/9294ab8ff1484d31d48803e51a160ba0d0c8e368/components/tracing/core/trace_ring_buffer.cc [add] https://crrev.com/9294ab8ff1484d31d48803e51a160ba0d0c8e368/components/tracing/core/trace_ring_buffer.h [add] https://crrev.com/9294ab8ff1484d31d48803e51a160ba0d0c8e368/components/tracing/core/trace_ring_buffer_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef9be0368adbf4cff57b908f2bb5ed67db4a18c3 commit ef9be0368adbf4cff57b908f2bb5ed67db4a18c3 Author: primiano <primiano@chromium.org> Date: Thu Jun 30 15:09:38 2016 tracing v2: Add ScatteredStreamWriter ScatteredStreamWriter is the core class that will be used to serialize proto messages in flight into the trace buffer chunks. This class handles writes and spreads them over non-contiguous memory chunks without causing extra copies. BUG=608719 Review-Url: https://codereview.chromium.org/2047273002 Cr-Commit-Position: refs/heads/master@{#403177} [modify] https://crrev.com/ef9be0368adbf4cff57b908f2bb5ed67db4a18c3/components/components_tests.gyp [modify] https://crrev.com/ef9be0368adbf4cff57b908f2bb5ed67db4a18c3/components/tracing.gyp [modify] https://crrev.com/ef9be0368adbf4cff57b908f2bb5ed67db4a18c3/components/tracing/BUILD.gn [add] https://crrev.com/ef9be0368adbf4cff57b908f2bb5ed67db4a18c3/components/tracing/core/scattered_stream_writer.cc [add] https://crrev.com/ef9be0368adbf4cff57b908f2bb5ed67db4a18c3/components/tracing/core/scattered_stream_writer.h [add] https://crrev.com/ef9be0368adbf4cff57b908f2bb5ed67db4a18c3/components/tracing/core/scattered_stream_writer_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/557ed0bee30e466fd37e1c1a40a8ed26654dbf96 commit 557ed0bee30e466fd37e1c1a40a8ed26654dbf96 Author: primiano <primiano@chromium.org> Date: Mon Jul 11 16:29:56 2016 tracing v2: Add proto_utils.h Adds basic support for proto encoding. This will be used by the TracingV2 core classes which, for performance reasons, need to serialize protos independently of libprotobuf. More discussion in the design doc: bit.ly/TracingV2 BUG=608719 Review-Url: https://codereview.chromium.org/2043913006 Cr-Commit-Position: refs/heads/master@{#404671} [modify] https://crrev.com/557ed0bee30e466fd37e1c1a40a8ed26654dbf96/components/components_tests.gyp [modify] https://crrev.com/557ed0bee30e466fd37e1c1a40a8ed26654dbf96/components/tracing.gyp [modify] https://crrev.com/557ed0bee30e466fd37e1c1a40a8ed26654dbf96/components/tracing/BUILD.gn [add] https://crrev.com/557ed0bee30e466fd37e1c1a40a8ed26654dbf96/components/tracing/core/proto_utils.h [add] https://crrev.com/557ed0bee30e466fd37e1c1a40a8ed26654dbf96/components/tracing/core/proto_utils_unittest.cc [modify] https://crrev.com/557ed0bee30e466fd37e1c1a40a8ed26654dbf96/components/tracing/core/scattered_stream_writer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2de26b9da11e36dc1be40af96f5fb3e1c5fbd8f1 commit 2de26b9da11e36dc1be40af96f5fb3e1c5fbd8f1 Author: primiano <primiano@chromium.org> Date: Wed Jul 13 11:00:38 2016 tracing v2: refactor fake_scattered_buffer class for tests Just a refactoring of test classes. This extracts a FakeScatteredBuffer class out of the existing unittest. This class will be reused by other unittests added in upcoming CLs. BUG=608719 TEST=components_unittests --gtest_filter=ScatteredStreamWriterTest.* Review-Url: https://codereview.chromium.org/2138903002 Cr-Commit-Position: refs/heads/master@{#405119} [modify] https://crrev.com/2de26b9da11e36dc1be40af96f5fb3e1c5fbd8f1/components/components_tests.gyp [modify] https://crrev.com/2de26b9da11e36dc1be40af96f5fb3e1c5fbd8f1/components/tracing/BUILD.gn [modify] https://crrev.com/2de26b9da11e36dc1be40af96f5fb3e1c5fbd8f1/components/tracing/core/scattered_stream_writer_unittest.cc [add] https://crrev.com/2de26b9da11e36dc1be40af96f5fb3e1c5fbd8f1/components/tracing/test/fake_scattered_buffer.cc [add] https://crrev.com/2de26b9da11e36dc1be40af96f5fb3e1c5fbd8f1/components/tracing/test/fake_scattered_buffer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6 commit cf033562024e494ac7a8edd01ef64a4cdfcaf9c6 Author: primiano <primiano@chromium.org> Date: Thu Jul 14 13:37:38 2016 tracing v2: Add base class for zero-copy protobuf (ProtoZero) This CL introduces one of the major building blocks for Tracing V2. ProtoZeroMessage is the base class that the generated C++ stubs (from the .proto files) will extend and use. This is, in essence, the equivalent of the libprotobuf runtime used by conventional protos, reduced to the bare minimum required for the append-only API surface we care about in Tracing V2. This class allows in-flight serialization of proto fields directly into the underlying ScatteredStreamBuffer, without performing any copy nor requiring any dynamic memory allocation. This class is not meant to be instantiated directly by the tracing clients. The next CLs will introduce a TracingBufferWriter which will glue together the ring buffer implementation and return event proto objects from that. BUG=608719 Review-Url: https://codereview.chromium.org/2134683002 Cr-Commit-Position: refs/heads/master@{#405482} [modify] https://crrev.com/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6/components/components_tests.gyp [modify] https://crrev.com/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6/components/tracing.gyp [modify] https://crrev.com/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6/components/tracing/BUILD.gn [modify] https://crrev.com/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6/components/tracing/core/proto_utils.h [add] https://crrev.com/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6/components/tracing/core/proto_zero_message.cc [add] https://crrev.com/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6/components/tracing/core/proto_zero_message.h [add] https://crrev.com/cf033562024e494ac7a8edd01ef64a4cdfcaf9c6/components/tracing/core/proto_zero_message_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4f022543fb102a9c074308cb70e85d0a4d830cd1 commit 4f022543fb102a9c074308cb70e85d0a4d830cd1 Author: primiano <primiano@chromium.org> Date: Thu Jul 21 12:49:52 2016 tracing v2: Introduce handles for safe usage of ProtoZeroMessage This is to decouple the lifetime of a proto message from the underlying chunk storage. It gives the following two guarantees: - The underlying message is finalized (if still alive) if the handle goes out of scope. Concretely this guarantees that all events are committed to the buffer, without having to wait for the next event in the thread. - In Debug / DCHECK_IS_ON builds, the handle becomes null once the underlying message is finalized. This is to enforce the append-only API and catch mis-uses bugs early (e.g., when adding two repeated fields, the addition of the second one will force the finalization of the first and invalidation of its handle) BUG=608719 TEST=ProtoZeroMessageTest.MessageHandle Review-Url: https://codereview.chromium.org/2158323005 Cr-Commit-Position: refs/heads/master@{#406827} [modify] https://crrev.com/4f022543fb102a9c074308cb70e85d0a4d830cd1/components/tracing.gyp [modify] https://crrev.com/4f022543fb102a9c074308cb70e85d0a4d830cd1/components/tracing/BUILD.gn [modify] https://crrev.com/4f022543fb102a9c074308cb70e85d0a4d830cd1/components/tracing/core/proto_zero_message.cc [modify] https://crrev.com/4f022543fb102a9c074308cb70e85d0a4d830cd1/components/tracing/core/proto_zero_message.h [add] https://crrev.com/4f022543fb102a9c074308cb70e85d0a4d830cd1/components/tracing/core/proto_zero_message_handle.cc [add] https://crrev.com/4f022543fb102a9c074308cb70e85d0a4d830cd1/components/tracing/core/proto_zero_message_handle.h [modify] https://crrev.com/4f022543fb102a9c074308cb70e85d0a4d830cd1/components/tracing/core/proto_zero_message_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9911b654f723c480228e9bbfc376222eebe34297 commit 9911b654f723c480228e9bbfc376222eebe34297 Author: primiano <primiano@chromium.org> Date: Fri Aug 05 12:02:44 2016 tracing v2: minor refactoring to TraceRingBuffer test helpers Minor refactoring in preparation of the chunk writer logic, mostly about testing helper methods that will be shared by upcoming unittests. This CL also introduces a ReserveBytesUnsafe() method to ScatteredStreamWriter which will be used by the writer fast-paths. BUG=608719 TEST=TraceRingBufferTest.*,ScatteredStreamWriterTest.* Review-Url: https://codereview.chromium.org/2197563002 Cr-Commit-Position: refs/heads/master@{#410035} [modify] https://crrev.com/9911b654f723c480228e9bbfc376222eebe34297/components/tracing/core/scattered_stream_writer.h [modify] https://crrev.com/9911b654f723c480228e9bbfc376222eebe34297/components/tracing/core/scattered_stream_writer_unittest.cc [modify] https://crrev.com/9911b654f723c480228e9bbfc376222eebe34297/components/tracing/core/trace_ring_buffer.cc [modify] https://crrev.com/9911b654f723c480228e9bbfc376222eebe34297/components/tracing/core/trace_ring_buffer.h [modify] https://crrev.com/9911b654f723c480228e9bbfc376222eebe34297/components/tracing/core/trace_ring_buffer_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9cc78e4aea540c6eba8655d8557b068bde423152 commit 9cc78e4aea540c6eba8655d8557b068bde423152 Author: primiano <primiano@chromium.org> Date: Tue Aug 09 14:45:21 2016 tracing v2: Introduce TraceBufferWriter TraceBufferWriter is the main building block that allows writing events into the trace ring buffer. TBW is responsible of exchanging chunks with the ring buffer and carving out events out of them. The expected design is 1 TraceBufferWriter per thread (% very special cases like worker pools which don't have a message loop). The major challenge is represented by the fact that events can spread over several chunks. TBW is responsible of owning chunks for the all lifetime of the event, and returning them as soon as the event is finalized. In the next CLs: - This code will be properly integrated with the stubs generated by the protozero protoc compiler plugin. - The actual event.proto will be introduced, and TBW::AddEvent will return a more structured object other than just a ProtoZeroMessage. BUG=608719 TEST=TraceBufferWriterTest.* Review-Url: https://codereview.chromium.org/2196663002 Cr-Commit-Position: refs/heads/master@{#410669} [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/components_tests.gyp [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing.gyp [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/BUILD.gn [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/proto_utils.h [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/proto_zero_message.h [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/scattered_stream_writer.cc [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/scattered_stream_writer.h [add] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/trace_buffer_writer.cc [add] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/trace_buffer_writer.h [add] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/trace_buffer_writer_unittest.cc [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/trace_ring_buffer.cc [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/trace_ring_buffer.h [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/core/trace_ring_buffer_unittest.cc [add] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/proto/events_chunk.proto [modify] https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152/components/tracing/test/fake_scattered_buffer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a commit 7bced3efa7ad4e73ccf3446fb708f6c4c306a82a Author: huangs <huangs@chromium.org> Date: Tue Aug 09 18:13:59 2016 Revert of tracing v2: Introduce TraceBufferWriter (patchset #6 id:100001 of https://codereview.chromium.org/2196663002/ ) Reason for revert: Looks like the following tests are failing in "Win7 Tests (dbg)(1)": TraceBufferWriterTest.ManyWriters TraceBufferWriterTest.ManySmallEvents TraceBufferWriterTest.OneWriterWithFragmentingEvents TraceBufferWriterTest.SingleEven Original issue's description: > tracing v2: Introduce TraceBufferWriter > > TraceBufferWriter is the main building block that allows writing > events into the trace ring buffer. TBW is responsible of exchanging > chunks with the ring buffer and carving out events out of them. > The expected design is 1 TraceBufferWriter per thread (% very special > cases like worker pools which don't have a message loop). > The major challenge is represented by the fact that events can spread > over several chunks. TBW is responsible of owning chunks for the > all lifetime of the event, and returning them as soon as the event > is finalized. > In the next CLs: > - This code will be properly integrated with the stubs generated by > the protozero protoc compiler plugin. > - The actual event.proto will be introduced, and TBW::AddEvent will > return a more structured object other than just a ProtoZeroMessage. > > BUG=608719 > TEST=TraceBufferWriterTest.* > > Committed: https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152 > Cr-Commit-Position: refs/heads/master@{#410669} TBR=alph@chromium.org,oysteine@chromium.org,primiano@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=608719 Review-Url: https://codereview.chromium.org/2228593004 Cr-Commit-Position: refs/heads/master@{#410743} [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/components_tests.gyp [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing.gyp [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/BUILD.gn [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/core/proto_utils.h [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/core/proto_zero_message.h [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/core/scattered_stream_writer.cc [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/core/scattered_stream_writer.h [delete] https://crrev.com/b0bc5dc5abc8ac3ac07fad7ab1eb583701b92600/components/tracing/core/trace_buffer_writer.cc [delete] https://crrev.com/b0bc5dc5abc8ac3ac07fad7ab1eb583701b92600/components/tracing/core/trace_buffer_writer.h [delete] https://crrev.com/b0bc5dc5abc8ac3ac07fad7ab1eb583701b92600/components/tracing/core/trace_buffer_writer_unittest.cc [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/core/trace_ring_buffer.cc [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/core/trace_ring_buffer.h [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/core/trace_ring_buffer_unittest.cc [delete] https://crrev.com/b0bc5dc5abc8ac3ac07fad7ab1eb583701b92600/components/tracing/proto/events_chunk.proto [modify] https://crrev.com/7bced3efa7ad4e73ccf3446fb708f6c4c306a82a/components/tracing/test/fake_scattered_buffer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/034f4638ca40cd3b77d55e72f773af24961f8591 commit 034f4638ca40cd3b77d55e72f773af24961f8591 Author: kraynov <kraynov@chromium.org> Date: Tue Aug 09 22:18:51 2016 Tracing V2: Proto message and utils improvements. Appenders has been moved to header and polished for uniform style. Proto utils are extended to support ZigZag encoding. BUG=608719 Review-Url: https://codereview.chromium.org/2228563002 Cr-Commit-Position: refs/heads/master@{#410852} [modify] https://crrev.com/034f4638ca40cd3b77d55e72f773af24961f8591/components/tracing/core/proto_utils.h [modify] https://crrev.com/034f4638ca40cd3b77d55e72f773af24961f8591/components/tracing/core/proto_utils_unittest.cc [modify] https://crrev.com/034f4638ca40cd3b77d55e72f773af24961f8591/components/tracing/core/proto_zero_message.cc [modify] https://crrev.com/034f4638ca40cd3b77d55e72f773af24961f8591/components/tracing/core/proto_zero_message.h [modify] https://crrev.com/034f4638ca40cd3b77d55e72f773af24961f8591/components/tracing/core/proto_zero_message_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/494ffeb22edae2db58c5ff88093442246a64e087 commit 494ffeb22edae2db58c5ff88093442246a64e087 Author: primiano <primiano@chromium.org> Date: Wed Aug 24 13:44:34 2016 Reland of tracing v2: Introduce TraceBufferWriter (https://codereview.chromium.org/2196663002) Reason for reland: fixing undefined behavior of move constructor which failed on windows. Original issue's description: > tracing v2: Introduce TraceBufferWriter > > TraceBufferWriter is the main building block that allows writing > events into the trace ring buffer. TBW is responsible of exchanging > chunks with the ring buffer and carving out events out of them. > The expected design is 1 TraceBufferWriter per thread (% very special > cases like worker pools which don't have a message loop). > The major challenge is represented by the fact that events can spread > over several chunks. TBW is responsible of owning chunks for the > all lifetime of the event, and returning them as soon as the event > is finalized. > In the next CLs: > - This code will be properly integrated with the stubs generated by > the protozero protoc compiler plugin. > - The actual event.proto will be introduced, and TBW::AddEvent will > return a more structured object other than just a ProtoZeroMessage. > > BUG=608719 > TEST=TraceBufferWriterTest.* > > Committed: https://crrev.com/9cc78e4aea540c6eba8655d8557b068bde423152 > Cr-Commit-Position: refs/heads/master@{#410669} TBR=alph@chromium.org,oysteine@chromium.org,kraynov@chromium.org BUG=608719 Review-Url: https://codereview.chromium.org/2271653004 Cr-Commit-Position: refs/heads/master@{#414063} [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/components_tests.gyp [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing.gyp [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/BUILD.gn [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/proto_utils.h [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/proto_utils_unittest.cc [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/proto_zero_message.cc [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/proto_zero_message.h [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/proto_zero_message_handle.cc [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/scattered_stream_writer.cc [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/scattered_stream_writer.h [add] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/trace_buffer_writer.cc [add] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/trace_buffer_writer.h [add] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/trace_buffer_writer_unittest.cc [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/trace_ring_buffer.cc [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/trace_ring_buffer.h [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/core/trace_ring_buffer_unittest.cc [add] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/proto/events_chunk.proto [modify] https://crrev.com/494ffeb22edae2db58c5ff88093442246a64e087/components/tracing/test/fake_scattered_buffer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f2a06ae75dc4d204daeb03f7fd6d6d771b4ac774 commit f2a06ae75dc4d204daeb03f7fd6d6d771b4ac774 Author: kraynov <kraynov@chromium.org> Date: Fri Aug 26 17:17:34 2016 Tracing V2: Trace buffer writer uses proto. Integration between newly indroduced trace buffer writer and proto generated stubs. BUG=608719 Review-Url: https://codereview.chromium.org/2281903002 Cr-Commit-Position: refs/heads/master@{#414739} [modify] https://crrev.com/f2a06ae75dc4d204daeb03f7fd6d6d771b4ac774/components/tracing/BUILD.gn [modify] https://crrev.com/f2a06ae75dc4d204daeb03f7fd6d6d771b4ac774/components/tracing/core/trace_buffer_writer.cc [add] https://crrev.com/f2a06ae75dc4d204daeb03f7fd6d6d771b4ac774/components/tracing/proto/BUILD.gn [add] https://crrev.com/f2a06ae75dc4d204daeb03f7fd6d6d771b4ac774/components/tracing/proto/event.proto [modify] https://crrev.com/f2a06ae75dc4d204daeb03f7fd6d6d771b4ac774/components/tracing/proto/events_chunk.proto
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/79f65ab752df8c192752b1d1f46094518353c6d1 commit 79f65ab752df8c192752b1d1f46094518353c6d1 Author: primiano <primiano@chromium.org> Date: Mon Sep 05 11:39:55 2016 Tracing v2: wire up stubs generated by the protozero protoc plugin The previous CLs faked the auto-generated Event class. This is because the protoc protozero plugin was not ready. Fixing the glitch now that the protobuf compiler support is ready. BUG=608719 Review-Url: https://codereview.chromium.org/2303353002 Cr-Commit-Position: refs/heads/master@{#416530} [modify] https://crrev.com/79f65ab752df8c192752b1d1f46094518353c6d1/components/tracing/BUILD.gn [modify] https://crrev.com/79f65ab752df8c192752b1d1f46094518353c6d1/components/tracing/core/trace_buffer_writer.cc [modify] https://crrev.com/79f65ab752df8c192752b1d1f46094518353c6d1/components/tracing/core/trace_buffer_writer.h [modify] https://crrev.com/79f65ab752df8c192752b1d1f46094518353c6d1/components/tracing/core/trace_buffer_writer_unittest.cc [modify] https://crrev.com/79f65ab752df8c192752b1d1f46094518353c6d1/components/tracing/proto/BUILD.gn [modify] https://crrev.com/79f65ab752df8c192752b1d1f46094518353c6d1/components/tracing/proto/event.proto
Issue 665530 has been merged into this issue.
Comment 1 by primiano@chromium.org
, May 3 2016