History log of /fuchsia/zircon/system/ulib/trace-provider/trace_provider.fidl.h
Revision Date Author Comments
# 4759e1e5 04-Sep-2018 Doug Evans <dje@google.com>

[trace-provider] Add trace_provider_create_with_name

And deprecate the old RegisterTraceProvider fidl method.

Tested: trace record trace --help
And observe ktrace_provider's name mentioned in trace manager output.

DX-422 #comment patch

Change-Id: I7366a800d0323a62f9e820a895ab95b5d0eb159e


# 7db7df90 20-Aug-2018 Doug Evans <dje@google.com>

[trace-provider] Add RegisterTraceProviderSynchronously

... and the ability to wait for tracing to start.
This allows programs like benchmarks to avoid having early trace
records dropped due to the benchmark starting to run before TraceManager
has sent the Start request.

DX-164 #comment patch

Tested:
trace record /pkgfs/packages/trace_stress/0/bin/trace_stress

Change-Id: I4c8e9e4cd37587e2624879fcc23720f525349238


# bf3a04dd 07-Jul-2018 Doug Evans <dje@google.com>

[tracing] Add beginnings of trace buffering mode support

This patch just adds the basic infrastructure.
Support for circular and streaming modes comes later.

Tested:
/system/test/sys/trace-test
trace record --buffering-mode=oneshot \
--categories=stress:example,stress:something \
/system/bin/trace-stress --count=5000
trace record --buffering-mode=circular \
--categories=stress:example,stress:something \
/system/bin/trace-stress --count=5000
[trace will be empty, but should run]
trace record --buffering-mode=streaming \
--categories=stress:example,stress:something \
/system/bin/trace-stress --count=5000
[trace will be empty, but should run]

Change-Id: I1fc28668dee652c88df9d5e669c8b4ac978604bc


# 865ee156 07-Jul-2018 Doug Evans <dje@google.com>

[tracing] Use a fifo instead of an eventpair for TraceManager signalling

This is in preparation for bidirectional comms between TraceManager
and TraceProvider to implement double buffering.

Tested: [requires corresponding garnet patches]
trace record --duration=10 --buffer-size=1 \
--categories=stress:example,stress:something \
/system/bin/trace-stress --count=5000 --duration=10
And verify the buffer-overflow warning is seen:
WARNING ... Record got dropped ...
trace record --duration=10 --buffer-size=1 \
--categories=stress:example,stress:something \
/system/bin/trace-stress --count=5000 --duration=2
And verify TraceManager responds to prematurely closed fifo.

Change-Id: I05ae748569f233f1da77f9013453058b4904ef91


# 0b47499e 06-Jul-2018 Doug Evans <dje@google.com>

[trace-provider] Improve management of checked-in machine generated files

These files are machine generated and are checked in:
trace_provider.fidl.cpp, trace_provider.fidl.h
They are checked in to work around these problems:
- zircon's build system doesn't support transitive dependencies
- duplicate copy of tracelink is generated and compiled in garnet
- generated code for Interfaces is different than what we're using:
struct vs zx_handle_t

Previously the machine generated contents were manually modified
post-generation. Now machine generated contents are not touched,
and we use them as-is, with the exception of the addition of comments
at the top of the files to explain things.

The next obvious step is to not check them in at all. Baby-steps.

Change-Id: I1ee748da26f5d2359c57e7b61b731907e86e169f
Tested: trace record --duration=2 /system/bin/trace --help


# 129af6a8 02-Apr-2018 George Kulakowski <kulakowski@google.com>

[fidl] Rename fidl2 things to just fidl

Change-Id: I17780c327272c554b4c80a7c5fc64df78d0a5601


# 23481d17 28-Mar-2018 Jeff Brown <jeffbrown@google.com>

[fidl] Fix alignment of generated structures.

This fixes an interop issue with trace providers.

Added a FIDL_ALIGNDECL macro to take some of the grunt out of
spelling alignas(FIDL_ALIGNMENT) everywhere.

Moved FIDL_ALIGN macro out of remoteio.h into fidl.h since it
is generally useful.

Change-Id: I87bb678dd56274d70dcdaddc144c0b7b3d982017


# 098c4ee9 21-Mar-2018 Jeff Brown <jeffbrown@google.com>

[tracing] Port trace provider to fidl2.

A bit hacky for now pending improvements to the fidl2 compiler.

Change-Id: I944a22ad002f957cb2ac13fb605ba01f3fb609f7