DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
oks
include
oks
profiler.hpp
Go to the documentation of this file.
1
// DUNE DAQ modification notice:
2
// This file has been modified from the original ATLAS oks source for the DUNE DAQ project.
3
// Fork baseline commit: oks-08-03-04 (2022-04-14).
4
// Renamed since fork: yes (from oks/profiler.h to include/oks/profiler.hpp).
5
6
#ifndef __OKS_PROFILER
7
#define __OKS_PROFILER
8
9
#include <chrono>
10
11
#include "
oks/defs.hpp
"
12
13
namespace
dunedaq
{
14
namespace
oks
{
15
16
class
OksKernel
;
17
18
19
class
OksProfiler
20
{
21
public
:
22
enum
FunctionID
23
{
24
KernelDestructor
= 0,
25
KernelOperatorOut
,
26
KernelLoadSchema
,
27
KernelSaveSchema
,
28
KernelCloseSchema
,
29
KernelCreateSchemaClassList
,
30
KernelLoadData
,
31
KernelSaveData
,
32
KernelCloseData
,
33
KernelCreateDataObjectList
,
34
KernelIsDanglingObject
,
35
KernelIsDanglingClass
,
36
ObjectStreamConstructor
,
37
ObjectNormalConstructor
,
38
ObjectCopyConstructor
,
39
ObjectDestructor
,
40
ObjectOperatorEqual
,
41
ObjectOperatorOut
,
42
ObjectSatisfiesQueryExpression
,
43
ObjectGetFreeObjectId
,
44
ObjectPutObject
,
45
ClassConstructor
,
46
ClassDestructor
,
47
ClassOperatorOut
,
48
ClassGetObject
,
49
Classexecute_query
,
50
ClassRegistrateClass
,
51
ClassRegistrateClassChange
,
52
ClassRegistrateAttributeChange
,
53
ClassRegistrateRelationshipChange
,
54
ClassRegistrateInstances
,
55
ClassCreateSubClassesList
,
56
fStringToQuery
,
57
fStringToQueryExpression
,
58
QueryOperatorFrom
59
};
60
61
friend
std::ostream&
62
operator<<
(std::ostream&,
const
OksProfiler
&);
63
64
const
std::chrono::time_point<std::chrono::steady_clock>
65
start_time_point
()
const
66
{
67
return
p_start_time_point
;
68
}
69
70
private
:
71
OksProfiler
();
72
73
void
74
Start
(
OksProfiler::FunctionID
, std::chrono::time_point<std::chrono::steady_clock>&);
75
76
void
77
Stop
(
OksProfiler::FunctionID
,
const
std::chrono::time_point<std::chrono::steady_clock>&);
78
79
std::chrono::time_point<std::chrono::steady_clock>
p_start_time_point
;
80
81
double
t_total
[(unsigned)
OksProfiler::QueryOperatorFrom
+ 1];
82
unsigned
long
c_total
[(unsigned)
OksProfiler::QueryOperatorFrom
+ 1];
83
84
friend
class
OksKernel
;
85
friend
class
OksFunctionProfiler
;
86
};
87
88
89
class
OksFunctionProfiler
90
{
91
public
:
92
OksFunctionProfiler
(
OksProfiler::FunctionID
,
const
OksKernel
*);
93
~OksFunctionProfiler
();
94
95
private
:
96
const
OksKernel
*
kernel
;
97
OksProfiler::FunctionID
func_id
;
98
std::chrono::time_point<std::chrono::steady_clock>
p_start_time_point
;
99
};
100
101
}
// namespace oks
102
}
// namespace dunedaq
103
#endif
dunedaq::oks::OksFunctionProfiler::~OksFunctionProfiler
~OksFunctionProfiler()
Definition
profiler.cpp:187
dunedaq::oks::OksFunctionProfiler::func_id
OksProfiler::FunctionID func_id
Definition
profiler.hpp:97
dunedaq::oks::OksFunctionProfiler::p_start_time_point
std::chrono::time_point< std::chrono::steady_clock > p_start_time_point
Definition
profiler.hpp:98
dunedaq::oks::OksFunctionProfiler::kernel
const OksKernel * kernel
Definition
profiler.hpp:96
dunedaq::oks::OksFunctionProfiler::OksFunctionProfiler
OksFunctionProfiler(OksProfiler::FunctionID, const OksKernel *)
Definition
profiler.cpp:179
dunedaq::oks::OksKernel
Provides interface to the OKS kernel.
Definition
kernel.hpp:582
dunedaq::oks::OksProfiler
Definition
profiler.hpp:20
dunedaq::oks::OksProfiler::OksFunctionProfiler
friend class OksFunctionProfiler
Definition
profiler.hpp:85
dunedaq::oks::OksProfiler::operator<<
friend std::ostream & operator<<(std::ostream &, const OksProfiler &)
Definition
profiler.cpp:90
dunedaq::oks::OksProfiler::c_total
unsigned long c_total[(unsigned) OksProfiler::QueryOperatorFrom+1]
Definition
profiler.hpp:82
dunedaq::oks::OksProfiler::p_start_time_point
std::chrono::time_point< std::chrono::steady_clock > p_start_time_point
Definition
profiler.hpp:79
dunedaq::oks::OksProfiler::FunctionID
FunctionID
Definition
profiler.hpp:23
dunedaq::oks::OksProfiler::KernelLoadData
@ KernelLoadData
Definition
profiler.hpp:30
dunedaq::oks::OksProfiler::ClassDestructor
@ ClassDestructor
Definition
profiler.hpp:46
dunedaq::oks::OksProfiler::KernelLoadSchema
@ KernelLoadSchema
Definition
profiler.hpp:26
dunedaq::oks::OksProfiler::ObjectCopyConstructor
@ ObjectCopyConstructor
Definition
profiler.hpp:38
dunedaq::oks::OksProfiler::ObjectOperatorEqual
@ ObjectOperatorEqual
Definition
profiler.hpp:40
dunedaq::oks::OksProfiler::KernelCloseData
@ KernelCloseData
Definition
profiler.hpp:32
dunedaq::oks::OksProfiler::fStringToQueryExpression
@ fStringToQueryExpression
Definition
profiler.hpp:57
dunedaq::oks::OksProfiler::KernelCloseSchema
@ KernelCloseSchema
Definition
profiler.hpp:28
dunedaq::oks::OksProfiler::ClassRegistrateClass
@ ClassRegistrateClass
Definition
profiler.hpp:50
dunedaq::oks::OksProfiler::ClassRegistrateInstances
@ ClassRegistrateInstances
Definition
profiler.hpp:54
dunedaq::oks::OksProfiler::KernelCreateSchemaClassList
@ KernelCreateSchemaClassList
Definition
profiler.hpp:29
dunedaq::oks::OksProfiler::ClassOperatorOut
@ ClassOperatorOut
Definition
profiler.hpp:47
dunedaq::oks::OksProfiler::ObjectOperatorOut
@ ObjectOperatorOut
Definition
profiler.hpp:41
dunedaq::oks::OksProfiler::ObjectNormalConstructor
@ ObjectNormalConstructor
Definition
profiler.hpp:37
dunedaq::oks::OksProfiler::KernelOperatorOut
@ KernelOperatorOut
Definition
profiler.hpp:25
dunedaq::oks::OksProfiler::KernelIsDanglingClass
@ KernelIsDanglingClass
Definition
profiler.hpp:35
dunedaq::oks::OksProfiler::ClassRegistrateRelationshipChange
@ ClassRegistrateRelationshipChange
Definition
profiler.hpp:53
dunedaq::oks::OksProfiler::KernelIsDanglingObject
@ KernelIsDanglingObject
Definition
profiler.hpp:34
dunedaq::oks::OksProfiler::ObjectStreamConstructor
@ ObjectStreamConstructor
Definition
profiler.hpp:36
dunedaq::oks::OksProfiler::ObjectDestructor
@ ObjectDestructor
Definition
profiler.hpp:39
dunedaq::oks::OksProfiler::KernelCreateDataObjectList
@ KernelCreateDataObjectList
Definition
profiler.hpp:33
dunedaq::oks::OksProfiler::ObjectPutObject
@ ObjectPutObject
Definition
profiler.hpp:44
dunedaq::oks::OksProfiler::ClassConstructor
@ ClassConstructor
Definition
profiler.hpp:45
dunedaq::oks::OksProfiler::ObjectGetFreeObjectId
@ ObjectGetFreeObjectId
Definition
profiler.hpp:43
dunedaq::oks::OksProfiler::ObjectSatisfiesQueryExpression
@ ObjectSatisfiesQueryExpression
Definition
profiler.hpp:42
dunedaq::oks::OksProfiler::ClassCreateSubClassesList
@ ClassCreateSubClassesList
Definition
profiler.hpp:55
dunedaq::oks::OksProfiler::ClassRegistrateAttributeChange
@ ClassRegistrateAttributeChange
Definition
profiler.hpp:52
dunedaq::oks::OksProfiler::KernelSaveData
@ KernelSaveData
Definition
profiler.hpp:31
dunedaq::oks::OksProfiler::Classexecute_query
@ Classexecute_query
Definition
profiler.hpp:49
dunedaq::oks::OksProfiler::ClassRegistrateClassChange
@ ClassRegistrateClassChange
Definition
profiler.hpp:51
dunedaq::oks::OksProfiler::QueryOperatorFrom
@ QueryOperatorFrom
Definition
profiler.hpp:58
dunedaq::oks::OksProfiler::ClassGetObject
@ ClassGetObject
Definition
profiler.hpp:48
dunedaq::oks::OksProfiler::fStringToQuery
@ fStringToQuery
Definition
profiler.hpp:56
dunedaq::oks::OksProfiler::KernelSaveSchema
@ KernelSaveSchema
Definition
profiler.hpp:27
dunedaq::oks::OksProfiler::KernelDestructor
@ KernelDestructor
Definition
profiler.hpp:24
dunedaq::oks::OksProfiler::OksKernel
friend class OksKernel
Definition
profiler.hpp:84
dunedaq::oks::OksProfiler::t_total
double t_total[(unsigned) OksProfiler::QueryOperatorFrom+1]
Definition
profiler.hpp:81
dunedaq::oks::OksProfiler::OksProfiler
OksProfiler()
Definition
profiler.cpp:61
dunedaq::oks::OksProfiler::start_time_point
const std::chrono::time_point< std::chrono::steady_clock > start_time_point() const
Definition
profiler.hpp:65
dunedaq::oks::OksProfiler::Start
void Start(OksProfiler::FunctionID, std::chrono::time_point< std::chrono::steady_clock > &)
Definition
profiler.cpp:166
dunedaq::oks::OksProfiler::Stop
void Stop(OksProfiler::FunctionID, const std::chrono::time_point< std::chrono::steady_clock > &)
Definition
profiler.cpp:173
defs.hpp
dunedaq::oks
Definition
OksConfiguration.hpp:24
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0