New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 608719 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on: View detail
issue 624311
issue 643674
issue 608721

Blocking:
issue 626326



Sign in to add a comment

Tracing V2: Tracker bug for core protobuf-based tracing core

Project Member Reported by primiano@chromium.org, May 3 2016

Issue description

Background context: bit.ly/TracingV2
See Execution plan: Preliminary investigations and prototype

The tasks of this milestone are tracked in blocker bugs.
 
Blockedon: 608721
Blockedon: 608722
Blockedon: 612407
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 1 2016

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

Summary: Tracing V2: Tracker bug for core protobuf-based tracing core (was: Tracing V2: Tracker bug for initial prototypes)
Blockedon: 624311
Blocking: 626326
Project Member

Comment 11 by bugdroid1@chromium.org, Jul 13 2016

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

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 13 2016

Labels: merge-merged-2795
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

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 14 2016

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

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 21 2016

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

Project Member

Comment 15 by bugdroid1@chromium.org, Aug 5 2016

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

Project Member

Comment 16 by bugdroid1@chromium.org, Aug 9 2016

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

Project Member

Comment 17 by bugdroid1@chromium.org, Aug 9 2016

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

Project Member

Comment 19 by bugdroid1@chromium.org, Aug 24 2016

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

Blockedon: 643674
Cc: benjhayden@chromium.org groby@chromium.org nedngu...@google.com primiano@chromium.org charliea@chromium.org
 Issue 665530  has been merged into this issue.
Blockedon: -608722
Components: Speed>Tracing
Components: -Internals>Tracing
Status: Assigned (was: Untriaged)

Sign in to add a comment