History log of /fuchsia/zircon/system/ulib/trace-provider/rules.mk
Revision Date Author Comments
# 9a9fb53f 20-Sep-2018 Doug Evans <dje@google.com>

[tracing] Add more logging of errors

Plus add some clarifying comments to provider.h.

Tested: runtests
Plus observe some new error messages while debugging DX-448

Change-Id: Iba682eeab128326cf32e5e9c0f90ba774356b1b4


# 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


# dbbc0aef 05-Aug-2018 Adam Barth <abarth@chromium.org>

[zircon-internal] Move fnv1a out of zircon/public

We don't need to expose this hash function in the Zircon system
interface. We can put it in a library instead.

Test: Compiles.
Change-Id: I3a6f63997f845cf5ae78f969326d3e650950601d


# 056797df 25-Jul-2018 Adam Barth <abarth@chromium.org>

[trace] Build with -fvisibility=hidden

ZX-1895 #comment

Test: No behavior change
Change-Id: Iaf82522cb8c74241b55d542d77d1d900ce8d0da4


# 50ab2261 23-Jul-2018 Adam Barth <abarth@google.com>

Revert "[hash] Move fnv1a out of zircon/public"

This reverts commit 062af18fa8867ef61816072bc939ad8bff30d7d2.

Garnet build does not understand header-only deps.

Original change's description:
> [hash] Move fnv1a out of zircon/public
>
> We don't need to expose this hash function in the Zircon system
> interface. We can put it in a library instead.
>
> Test: Compiles.
> Change-Id: Ife133b7e4e4325dade11b5e3a7d1b82aa6899ece

TBR=kulakowski@google.com,swetland@google.com,jeffbrown@google.com,abarth@google.com

Change-Id: Iac2ce9a0245b4f5788e09118209657bfc6448c52
No-Presubmit: true
No-Tree-Checks: true
No-Try: true


# 062af18f 21-Jul-2018 Adam Barth <abarth@chromium.org>

[hash] Move fnv1a out of zircon/public

We don't need to expose this hash function in the Zircon system
interface. We can put it in a library instead.

Test: Compiles.
Change-Id: Ife133b7e4e4325dade11b5e3a7d1b82aa6899ece


# 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


# 296fb2ac 29-Jan-2018 Adam Barth <abarth@google.com>

[async] Separate fbl dependency from async_t

The C++ FIDL support library in Garnet wants to be able to use async_t
without linking against libfbl. Previously, the C declarations needed
create an async_wait_t were in the same header as code that depended on
fbl, which meant C++ clients of async_wait_t were forced to depend on
fbl.

After this change, the C++ wrappers for libasync interfaces are
separated from the core C declarations.

Change-Id: Ic172911a9dc775d5b5e540a33ce87d2dc218a3d9


# 32741ad1 27-Oct-2017 Brian Swetland <swetland@google.com>

[build] start exporting package descriptions for source packages

Change-Id: Idd4e916dcfee4d9f40cbb82827042b746c8ce987


# 7da5f65b 27-Oct-2017 Brian Swetland <swetland@google.com>

[build][ulib/hash] move hash/rand functions to public headers

Instead of maintaining a library for these,

hash.h -> zircon/misc/fnv1hash.h and zircon/misc/xorshiftrand.h

Change-Id: Ia4c1a547b10f6444acd89f72c3ed340a4210f30b


# 417048f0 11-Sep-2017 Doug Evans <dje@google.com>

[ulib][trace-provider] Hack in support for categories

... until we can use fidl-generated code.

MG-1121 #done

Change-Id: I26885fe5856522b6806dc9d33a6f6567eb70eb46


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 59e644b1 07-Sep-2017 George Kulakowski <kulakowski@google.com>

[zircon][mxtl->fbl] Rename mxtl to fbl

Change-Id: Ie21b6498e1bfb0a7fa0315e40b9e5c3ee78646be


# 76e6ccd5 29-Aug-2017 Jeff Brown <jeffbrown@google.com>

[trace] Port Fuchsia tracing system to Magenta.

The Fuchsia tracing system supports instrumentation of userspace
programs to collect trace records.

This implementation consists of...

- libtrace: a static library providing C and C++ instrumentation macros
and functions designed to be linked into client programs
- libtrace-engine: a shared library with a C ABI which manages
global tracing state in the process and provides
functions to write trace records
- libtrace-provider: a static library which implements the TraceProvider
FIDL interface and registers an instrumented
program with the trace manager
- libtrace-reader: a static library which provides a C++ API for reading
binary trace data
- unit tests
- benchmarks
- documentation

This is almost a complete rewrite of the code formerly in //apps/tracing
but it remains compatible with the trace format and preserves most of
the structure of the trace event API.

The main differences are...

- The <trace/event.h> API uses identical syntax for C and C++ with
a few extra goodies for C++ type inference.
- The trace engine is factored out as a shared library with a C ABI
instead of being written as a C++ static library, this makes it more
suitable for instrumentation of libraries and device drivers.
- The API is extensively documented.
- We actually have benchmarks to measure instrumentation overhead.

There are still a few pieces left in //apps/tracing, such as the trace
manager and command-line tools, which will be moved over later.

Change-Id: I2d2986be0e63e5aa21fe56dd03024490b0334214