ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins::FpeMonitor::Result Struct Reference

Result of FPE monitoring containing counts and stack traces. More...

#include </home/runner/work/acts/acts/Plugins/FpeMonitoring/include/ActsPlugins/FpeMonitoring/FpeMonitor.hpp>

Classes

struct  FpeInfo
 Information about a floating-point exception occurrence. More...

Public Member Functions

void add (FpeType type, void *stackPtr, std::size_t bufferSize, std::uintptr_t location=0)
 Add an exception occurrence from raw stack data.
bool contains (const FpeInfo &info) const
 Check if result contains an exception info entry under merge semantics.
unsigned int count (FpeType type) const
 Get count of exceptions of a specific type.
void deduplicate ()
 Remove duplicate stack traces.
bool encountered (FpeType type) const
 Check if an exception type was encountered.
bool hasStackTraces () const
 Check if there are any stack traces.
void merge (const Result &with)
 Merge another result into this one.
Result merged (const Result &with) const
 Merge with another result and return new result.
unsigned int numStackTraces () const
 Get number of stack traces.
const std::vector< FpeInfo > & stackTraces () const
 Get all stack traces.
void summary (std::ostream &os, std::size_t depth=std::numeric_limits< std::size_t >::max()) const
 Print summary of exceptions.

Detailed Description

Result of FPE monitoring containing counts and stack traces.

Member Function Documentation

◆ add()

void ActsPlugins::FpeMonitor::Result::add ( FpeType type,
void * stackPtr,
std::size_t bufferSize,
std::uintptr_t location = 0 )

Add an exception occurrence from raw stack data.

Parameters
typeException type
stackPtrPointer to stack data
bufferSizeSize of stack buffer
locationFaulting instruction address if available

◆ contains()

bool ActsPlugins::FpeMonitor::Result::contains ( const FpeInfo & info) const

Check if result contains an exception info entry under merge semantics.

Parameters
infoException info to check
Returns
True if contained

◆ count()

unsigned int ActsPlugins::FpeMonitor::Result::count ( FpeType type) const

Get count of exceptions of a specific type.

Parameters
typeException type
Returns
Number of occurrences

◆ encountered()

bool ActsPlugins::FpeMonitor::Result::encountered ( FpeType type) const

Check if an exception type was encountered.

Parameters
typeException type to check
Returns
True if encountered

◆ hasStackTraces()

bool ActsPlugins::FpeMonitor::Result::hasStackTraces ( ) const

Check if there are any stack traces.

Returns
True if stack traces are present

◆ merge()

void ActsPlugins::FpeMonitor::Result::merge ( const Result & with)

Merge another result into this one.

Parameters
withResult to merge

◆ merged()

Result ActsPlugins::FpeMonitor::Result::merged ( const Result & with) const

Merge with another result and return new result.

Parameters
withResult to merge with
Returns
Merged result

◆ numStackTraces()

unsigned int ActsPlugins::FpeMonitor::Result::numStackTraces ( ) const

Get number of stack traces.

Returns
Number of stack traces

◆ stackTraces()

const std::vector< FpeInfo > & ActsPlugins::FpeMonitor::Result::stackTraces ( ) const

Get all stack traces.

Returns
Vector of FPE information

◆ summary()

void ActsPlugins::FpeMonitor::Result::summary ( std::ostream & os,
std::size_t depth = std::numeric_limits< std::size_t >::max() ) const

Print summary of exceptions.

Parameters
osOutput stream
depthMaximum stack trace depth