#
2afe1e5f |
|
20-Sep-2018 |
Doug Evans <dje@google.com> |
[trace-provider] Remove additional tracking of engine state There was a code path during error shutdown where the state wasn't being updated. The engine keeps track of the state, there's no need to track it here too. Tested: runtests Testcase to exercise bug lives in garnet/bin/trace: two-providers test. DX-448 #done Change-Id: I979a89db0bd14fa91f745f8ede67f262ff804a60
|
#
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
|
#
989ee4e8 |
|
13-Jun-2018 |
David Moore <davemoore@google.com> |
[syscalls] Change vmar_... calls - Create zx_vm_option_t type - Change ZX_VM_FLAG_... to ZX_VM_... and make them new type. - Change int32_t flags parameters to zx_vm_option_t options - Make the options parameter be second. - Modify vmar_..._old functions to keep other repos working. Once they've all been updated these functions will go away. ZX-2264 Test:CQ Change-Id: I1faf4cc4e1e4dabf3d8ef680e398d83a545b0f09
|
#
b974608b |
|
08-Jul-2018 |
Doug Evans <dje@google.com> |
[tracing] Add support for circular and streaming modes Tested: /boot/test/sys/trace-test trace-benchmark Further testing done on the garnet side. Change-Id: I8ec21ba0adc57d090bbfe4be6d56fc695aa645d4
|
#
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
|
#
9545a1ee |
|
06-Jul-2018 |
Doug Evans <dje@google.com> |
[trace] Rename buffer_overflow handler method to notify_buffer_full This is a better name once buffer streaming support is added. Tested: /boot/test/sys/trace-test Change-Id: I93a587001776aa2268cab031d5a7e6e697e8e97d
|
#
c1297687 |
|
13-Jul-2018 |
Wez <wez@chromium.org> |
[zx] Migrate libzx off legacy_unowned<T> and update call-sites. - Migrate APIs like zx::process::self() from returning a |const zx::legacy_unowned<T>| to returning |zx::unowned<T>|. - Update callers of those APIs to use the appropriate dereference operator to access members of T, or to get a |const T&| to pass to libzx-wrapped syscalls. - Remove the zx::legacy_unowned<T> template. Bug: ZX-2310 TEST=CQ Change-Id: Idd4267cd0246ec9ab0e6f1392efe7fda45ff169d
|
#
fabb8fe6 |
|
04-Jul-2018 |
David Moore <davemoore@google.com> |
[async] Change async_t -> async_dispatcher_t Change name of dispatcher type from async_t to async_dispatcher_t Keep typedef of async_t for compatibility Change async_{get,set}_default() to async_{get,set}_default_dispatcher() Again, keep compatible apis until other layers have been modified to use new api. Bug:ZX-2337 Test:CQ Change-Id: If0b5d061fd114d60e23078dbb5f2a6ed9ed6f6cc
|
#
e0d70dec |
|
16-Mar-2018 |
James Robinson <jamesr@google.com> |
[zx] Move public zx headers to match naming convention The zx library provides headers intended for general use, so the include path should be spelled <lib/zx/foo.h> as per https://fuchsia.googlesource.com/docs/+/master/development/languages/c-cpp/naming.md. This moves the headers into the proper location and updates includes to match. Change-Id: I6fc9b2a491b5f8b0d270c4dfc77fa4be5739071b
|
#
5be48b11 |
|
01-Nov-2017 |
Doug Evans <dje@google.com> |
[system][trace] Add ProviderEvent metadata and propagate "buffer overflow" detection from the engine to the tracing user. Change-Id: Ia9f8b6f9199e672746237cf014f7e30adc1c9e30
|
#
f21bd727 |
|
10-Oct-2017 |
Doug Evans <dje@google.com> |
[ulib][trace-engine] Use signals to indicate "provider ready" This changes the provider startup protocol to the following. 1) Send Start() fidl request to each provider, 2) Wait for TRACE_PROVIDER_SIGNAL_STARTED or ZX_ERR_PEER_CLOSED on the fence event pair. TO-538 #comment patch Change-Id: Ice3d7d34c62204bc4d1745247d4b43ccaf0ab97f
|
#
48a346a8 |
|
26-Sep-2017 |
Erik Gilling <konkers@google.com> |
[tracing] Enable all categories if none are specified. Change-Id: I7c79c0d8c3719414cfe0aa6737f61ba778fb0532 Bug: TO-461
|
#
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
|