HomePhabricator

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

Description

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

Summary:
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 D45757.

Reviewers: echristo, pelikan, kpw

Reviewed By: kpw

Subscribers: llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D45758

Details

Committed
dberrisMay 30 2018, 9:33 PM
Reviewer
kpw
Differential Revision
D45758: [XRay][profiler] Part 3: Profile Collector Service
Parents
rL333623: Merging r322030:
Branches
Unknown
Tags
Unknown