[PATCH] D45758: [XRay][profiler] Part 3: Profile Collector Service

Dean Michael Berris via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 18 01:05:11 PDT 2018


dberris created this revision.
dberris added reviewers: echristo, pelikan, kpw.
Herald added a subscriber: mgorny.

This is part of the larger XRay Profiling Mode effort.

This patch implements a centralised collector for `FunctionCallTrie`
instances, associated per thread. It maintains a global set of trie
instances which can be retrieved through the XRay API for processing
in-memory buffers (when registered). Future changes will include the
wiring to implement the actual profiling mode implementation.

This central service provides the following functionality:

- Posting a `FunctionCallTrie` associated with a thread, to the central list of tries.

- Serializing all the posted `FunctionCallTrie` instances into in-memory buffers.

- Resetting the global state of the serialized buffers and tries.

Depends on https://reviews.llvm.org/D45757.


https://reviews.llvm.org/D45758

Files:
  compiler-rt/lib/xray/CMakeLists.txt
  compiler-rt/lib/xray/tests/unit/CMakeLists.txt
  compiler-rt/lib/xray/tests/unit/profile_collector_test.cc
  compiler-rt/lib/xray/xray_profile_collector.cc
  compiler-rt/lib/xray/xray_profile_collector.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45758.142891.patch
Type: text/x-patch
Size: 18352 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180418/a6b4ac85/attachment.bin>


More information about the llvm-commits mailing list