ArmNN
 20.02
MockBackendProfilingContext Class Reference

#include <MockBackend.hpp>

Inheritance diagram for MockBackendProfilingContext:
IBackendProfilingContext

Public Member Functions

 MockBackendProfilingContext (IBackendInternal::IBackendProfilingPtr &backendProfiling)
 
 ~MockBackendProfilingContext ()=default
 
IBackendInternal::IBackendProfilingPtrGetBackendProfiling ()
 
uint16_t RegisterCounters (uint16_t currentMaxGlobalCounterId)
 
Optional< std::string > ActivateCounters (uint32_t capturePeriod, const std::vector< uint16_t > &counterIds)
 
std::vector< profiling::TimestampReportCounterValues ()
 
bool EnableProfiling (bool)
 
- Public Member Functions inherited from IBackendProfilingContext
virtual ~IBackendProfilingContext ()
 

Detailed Description

Definition at line 29 of file MockBackend.hpp.

Constructor & Destructor Documentation

◆ MockBackendProfilingContext()

Definition at line 32 of file MockBackend.hpp.

33  : m_BackendProfiling(std::move(backendProfiling))
34  , m_CapturePeriod(0)
35  {}

◆ ~MockBackendProfilingContext()

Member Function Documentation

◆ ActivateCounters()

Optional<std::string> ActivateCounters ( uint32_t  capturePeriod,
const std::vector< uint16_t > &  counterIds 
)
inlinevirtual

Implements IBackendProfilingContext.

Definition at line 63 of file MockBackend.hpp.

References m_CapturePeriod.

64  {
65  if (capturePeriod == 0 || counterIds.size() == 0)
66  {
67  m_ActiveCounters.clear();
68  }
69  else if (capturePeriod == 15939u)
70  {
71  return armnn::Optional<std::string>("ActivateCounters example test error");
72  }
73  m_CapturePeriod = capturePeriod;
74  m_ActiveCounters = counterIds;
76  }

◆ EnableProfiling()

bool EnableProfiling ( bool  )
inlinevirtual

Implements IBackendProfilingContext.

Definition at line 91 of file MockBackend.hpp.

References m_CapturePeriod.

92  {
93  return true;
94  }

◆ GetBackendProfiling()

IBackendInternal::IBackendProfilingPtr& GetBackendProfiling ( )
inline

Definition at line 39 of file MockBackend.hpp.

Referenced by BOOST_AUTO_TEST_CASE().

40  {
41  return m_BackendProfiling;
42  }

◆ RegisterCounters()

uint16_t RegisterCounters ( uint16_t  currentMaxGlobalCounterId)
inlinevirtual

Implements IBackendProfilingContext.

Definition at line 44 of file MockBackend.hpp.

45  {
46  std::unique_ptr<profiling::IRegisterBackendCounters> counterRegistrar =
47  m_BackendProfiling->GetCounterRegistrationInterface(currentMaxGlobalCounterId);
48 
49  std::string categoryName("MockCounters");
50  counterRegistrar->RegisterCategory(categoryName);
51  uint16_t nextMaxGlobalCounterId =
52  counterRegistrar->RegisterCounter(0, categoryName, 0, 0, 1.f, "Mock Counter One", "Some notional counter");
53 
54  nextMaxGlobalCounterId = counterRegistrar->RegisterCounter(1, categoryName, 0, 0, 1.f, "Mock Counter Two",
55  "Another notional counter");
56 
57  std::string units("microseconds");
58  nextMaxGlobalCounterId = counterRegistrar->RegisterCounter(2, categoryName, 0, 0, 1.f, "Mock MultiCore Counter",
59  "A dummy four core counter", units, 4);
60  return nextMaxGlobalCounterId;
61  }

◆ ReportCounterValues()

std::vector<profiling::Timestamp> ReportCounterValues ( )
inlinevirtual

Implements IBackendProfilingContext.

Definition at line 78 of file MockBackend.hpp.

References m_CapturePeriod.

79  {
80  std::vector<profiling::CounterValue> counterValues;
81 
82  for (auto counterId : m_ActiveCounters)
83  {
84  counterValues.emplace_back(profiling::CounterValue{ counterId, counterId + 1u });
85  }
86 
87  uint64_t timestamp = m_CapturePeriod;
88  return { profiling::Timestamp{ timestamp, counterValues } };
89  }

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