Lines Matching refs:XRay

2 XRay Instrumentation
14 XRay is a function call tracing system which combines compiler-inserted
18 More high level information about XRay can be found in the `XRay whitepaper`_.
20 This document describes how to use XRay as implemented in LLVM.
22 XRay in LLVM
25 XRay consists of three main parts:
31 **NOTE:** As of July 25, 2018 , XRay is only available for the following
42 Using XRay
45 You can use XRay in a couple of ways:
51 what XRay does in an XRay-instrumented binary.
56 The easiest way of getting XRay instrumentation for your application is by
66 get XRay instrumentation points. You can tweak that number through the
88 When linking a binary, you can either manually link in the `XRay Runtime
90 ``-fxray-instrument`` flag. Alternatively, you can statically link-in the XRay
143 XRay Runtime Library
146 The XRay Runtime Library is part of the compiler-rt project, which implements
149 ``-fxray-instrument`` flag, it will automatically link in the XRay runtime.
151 The default implementation of the XRay runtime will enable XRay instrumentation
156 Also by default the filename of the XRay trace is ``xray-log.XXXXXX`` where the
174 | | | | XRay logfile. |
182 XRay runtime and/or control when/how the XRay instrumentation runs, you may use
183 the XRay APIs directly for doing so. To do this, you'll need to include the
195 ``xray/xray_log_interface.h`` for details, part of the XRay compiler-rt
213 XRay supports a basic logging mode which will trace the application's
227 XRay supports a logging mode which allows the application to only capture a
240 described by `XRay FDR format <XRayFDRFormat.html>`_
290 - ``convert``: Converts an XRay log file from one format to another. We can
291 convert from binary XRay traces (both basic and FDR mode) to YAML,
296 functions found in an XRay trace.
298 calls in an XRay trace.
300 These subcommands use various library components found as part of the XRay
303 - ``llvm/XRay/Trace.h`` : A trace reading library for conveniently loading
304 an XRay trace of supported forms, into a convenient in-memory representation.
306 - ``llvm/XRay/Graph.h`` : A semi-generic graph type used by the graph
309 - ``llvm/XRay/InstrumentationMap.h``: A convenient tool for analyzing the
310 instrumentation map in XRay-instrumented object files and binaries. The
317 XRay supports several different instrumentation points including ``function-entry``,
339 to selectively patch and unpatch the individual functions you need using the XRay
346 the XRay instrumentation system.
352 from an XRay trace. Particularly, the ``stack`` tool is being expanded to
355 - With a large instrumented binary, the size of generated XRay traces can
363 We're looking forward to contributions to port XRay to more architectures and
368 .. _`XRay whitepaper`: http://research.google.com/pubs/pub45287.html