LLVM  9.0.0svn
Classes | Public Types | Public Member Functions | List of all members
llvm::xray::BlockIndexer Class Reference

#include "llvm/XRay/BlockIndexer.h"

Inheritance diagram for llvm::xray::BlockIndexer:
Inheritance graph
[legend]
Collaboration diagram for llvm::xray::BlockIndexer:
Collaboration graph
[legend]

Classes

struct  Block
 

Public Types

using Index = DenseMap< std::pair< uint64_t, int32_t >, std::vector< Block > >
 

Public Member Functions

 BlockIndexer (Index &I)
 
Error visit (BufferExtents &) override
 
Error visit (WallclockRecord &) override
 
Error visit (NewCPUIDRecord &) override
 
Error visit (TSCWrapRecord &) override
 
Error visit (CustomEventRecord &) override
 
Error visit (CallArgRecord &) override
 
Error visit (PIDRecord &) override
 
Error visit (NewBufferRecord &) override
 
Error visit (EndBufferRecord &) override
 
Error visit (FunctionRecord &) override
 
Error visit (CustomEventRecordV5 &) override
 
Error visit (TypedEventRecord &) override
 
Error flush ()
 The flush() function will clear out the current state of the visitor, to allow for explicitly flushing a block's records to the currently recognized thread and process combination. More...
 
- Public Member Functions inherited from llvm::xray::RecordVisitor
virtual ~RecordVisitor ()=default
 

Detailed Description

Definition at line 26 of file BlockIndexer.h.

Member Typedef Documentation

◆ Index

using llvm::xray::BlockIndexer::Index = DenseMap<std::pair<uint64_t, int32_t>, std::vector<Block> >

Definition at line 36 of file BlockIndexer.h.

Constructor & Destructor Documentation

◆ BlockIndexer()

llvm::xray::BlockIndexer::BlockIndexer ( Index I)
inlineexplicit

Definition at line 44 of file BlockIndexer.h.

References flush(), and visit().

Member Function Documentation

◆ flush()

Error llvm::xray::BlockIndexer::flush ( )

The flush() function will clear out the current state of the visitor, to allow for explicitly flushing a block's records to the currently recognized thread and process combination.

Definition at line 82 of file BlockIndexer.cpp.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::xray::BlockIndexer::Block::ProcessID, llvm::xray::BlockIndexer::Block::Records, llvm::Error::success(), llvm::xray::BlockIndexer::Block::ThreadID, and llvm::xray::BlockIndexer::Block::WallclockTime.

Referenced by BlockIndexer(), and visit().

◆ visit() [1/12]

Error llvm::xray::BlockIndexer::visit ( BufferExtents )
overridevirtual

Implements llvm::xray::RecordVisitor.

Definition at line 18 of file BlockIndexer.cpp.

References llvm::Error::success().

Referenced by BlockIndexer().

◆ visit() [2/12]

Error llvm::xray::BlockIndexer::visit ( WallclockRecord R)
overridevirtual

◆ visit() [3/12]

Error llvm::xray::BlockIndexer::visit ( NewCPUIDRecord R)
overridevirtual

◆ visit() [4/12]

Error llvm::xray::BlockIndexer::visit ( TSCWrapRecord R)
overridevirtual

◆ visit() [5/12]

Error llvm::xray::BlockIndexer::visit ( CustomEventRecord R)
overridevirtual

◆ visit() [6/12]

Error llvm::xray::BlockIndexer::visit ( CallArgRecord R)
overridevirtual

◆ visit() [7/12]

Error llvm::xray::BlockIndexer::visit ( PIDRecord R)
overridevirtual

◆ visit() [8/12]

Error llvm::xray::BlockIndexer::visit ( NewBufferRecord R)
overridevirtual

◆ visit() [9/12]

Error llvm::xray::BlockIndexer::visit ( EndBufferRecord R)
overridevirtual

◆ visit() [10/12]

Error llvm::xray::BlockIndexer::visit ( FunctionRecord R)
overridevirtual

◆ visit() [11/12]

Error llvm::xray::BlockIndexer::visit ( CustomEventRecordV5 R)
overridevirtual

◆ visit() [12/12]

Error llvm::xray::BlockIndexer::visit ( TypedEventRecord R)
overridevirtual

The documentation for this class was generated from the following files: