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
class
OksProfiler
19
{
20
public
:
21
enum
FunctionID
22
{
23
KernelDestructor
= 0,
24
KernelOperatorOut
,
25
KernelLoadSchema
,
26
KernelSaveSchema
,
27
KernelCloseSchema
,
28
KernelCreateSchemaClassList
,
29
KernelLoadData
,
30
KernelSaveData
,
31
KernelCloseData
,
32
KernelCreateDataObjectList
,
33
KernelIsDanglingObject
,
34
KernelIsDanglingClass
,
35
ObjectStreamConstructor
,
36
ObjectNormalConstructor
,
37
ObjectCopyConstructor
,
38
ObjectDestructor
,
39
ObjectOperatorEqual
,
40
ObjectOperatorOut
,
41
ObjectSatisfiesQueryExpression
,
42
ObjectGetFreeObjectId
,
43
ObjectPutObject
,
44
ClassConstructor
,
45
ClassDestructor
,
46
ClassOperatorOut
,
47
ClassGetObject
,
48
Classexecute_query
,
49
ClassRegistrateClass
,
50
ClassRegistrateClassChange
,
51
ClassRegistrateAttributeChange
,
52
ClassRegistrateRelationshipChange
,
53
ClassRegistrateInstances
,
54
ClassCreateSubClassesList
,
55
fStringToQuery
,
56
fStringToQueryExpression
,
57
QueryOperatorFrom
58
};
59
60
friend
std::ostream&
operator<<
(std::ostream&,
const
OksProfiler
&);
61
62
const
std::chrono::time_point<std::chrono::steady_clock>
start_time_point
()
const
{
return
p_start_time_point
; }
63
64
private
:
65
OksProfiler
();
66
67
void
Start
(
OksProfiler::FunctionID
, std::chrono::time_point<std::chrono::steady_clock>&);
68
69
void
Stop
(
OksProfiler::FunctionID
,
const
std::chrono::time_point<std::chrono::steady_clock>&);
70
71
std::chrono::time_point<std::chrono::steady_clock>
p_start_time_point
;
72
73
double
t_total
[(unsigned)
OksProfiler::QueryOperatorFrom
+ 1];
74
unsigned
long
c_total
[(unsigned)
OksProfiler::QueryOperatorFrom
+ 1];
75
76
friend
class
OksKernel
;
77
friend
class
OksFunctionProfiler
;
78
};
79
80
class
OksFunctionProfiler
81
{
82
public
:
83
OksFunctionProfiler
(
OksProfiler::FunctionID
,
const
OksKernel
*);
84
~OksFunctionProfiler
();
85
86
private
:
87
const
OksKernel
*
kernel
;
88
OksProfiler::FunctionID
func_id
;
89
std::chrono::time_point<std::chrono::steady_clock>
p_start_time_point
;
90
};
91
92
}
// namespace oks
93
}
// namespace dunedaq
94
#endif
dunedaq::oks::OksFunctionProfiler::func_id
OksProfiler::FunctionID func_id
Definition
profiler.hpp:88
dunedaq::oks::OksFunctionProfiler::p_start_time_point
std::chrono::time_point< std::chrono::steady_clock > p_start_time_point
Definition
profiler.hpp:89
dunedaq::oks::OksFunctionProfiler::kernel
const OksKernel * kernel
Definition
profiler.hpp:87
dunedaq::oks::OksFunctionProfiler::OksFunctionProfiler
OksFunctionProfiler(OksProfiler::FunctionID, const OksKernel *)
Definition
profiler.cpp:192
dunedaq::oks::OksKernel
Provides interface to the OKS kernel.
Definition
kernel.hpp:615
dunedaq::oks::OksProfiler
Definition
profiler.hpp:19
dunedaq::oks::OksProfiler::OksFunctionProfiler
friend class OksFunctionProfiler
Definition
profiler.hpp:77
dunedaq::oks::OksProfiler::c_total
unsigned long c_total[(unsigned) OksProfiler::QueryOperatorFrom+1]
Definition
profiler.hpp:74
dunedaq::oks::OksProfiler::p_start_time_point
std::chrono::time_point< std::chrono::steady_clock > p_start_time_point
Definition
profiler.hpp:71
dunedaq::oks::OksProfiler::FunctionID
FunctionID
Definition
profiler.hpp:22
dunedaq::oks::OksProfiler::KernelLoadData
@ KernelLoadData
Definition
profiler.hpp:29
dunedaq::oks::OksProfiler::ClassDestructor
@ ClassDestructor
Definition
profiler.hpp:45
dunedaq::oks::OksProfiler::KernelLoadSchema
@ KernelLoadSchema
Definition
profiler.hpp:25
dunedaq::oks::OksProfiler::ObjectCopyConstructor
@ ObjectCopyConstructor
Definition
profiler.hpp:37
dunedaq::oks::OksProfiler::ObjectOperatorEqual
@ ObjectOperatorEqual
Definition
profiler.hpp:39
dunedaq::oks::OksProfiler::KernelCloseData
@ KernelCloseData
Definition
profiler.hpp:31
dunedaq::oks::OksProfiler::fStringToQueryExpression
@ fStringToQueryExpression
Definition
profiler.hpp:56
dunedaq::oks::OksProfiler::KernelCloseSchema
@ KernelCloseSchema
Definition
profiler.hpp:27
dunedaq::oks::OksProfiler::ClassRegistrateClass
@ ClassRegistrateClass
Definition
profiler.hpp:49
dunedaq::oks::OksProfiler::ClassRegistrateInstances
@ ClassRegistrateInstances
Definition
profiler.hpp:53
dunedaq::oks::OksProfiler::KernelCreateSchemaClassList
@ KernelCreateSchemaClassList
Definition
profiler.hpp:28
dunedaq::oks::OksProfiler::ClassOperatorOut
@ ClassOperatorOut
Definition
profiler.hpp:46
dunedaq::oks::OksProfiler::ObjectOperatorOut
@ ObjectOperatorOut
Definition
profiler.hpp:40
dunedaq::oks::OksProfiler::ObjectNormalConstructor
@ ObjectNormalConstructor
Definition
profiler.hpp:36
dunedaq::oks::OksProfiler::KernelOperatorOut
@ KernelOperatorOut
Definition
profiler.hpp:24
dunedaq::oks::OksProfiler::KernelIsDanglingClass
@ KernelIsDanglingClass
Definition
profiler.hpp:34
dunedaq::oks::OksProfiler::ClassRegistrateRelationshipChange
@ ClassRegistrateRelationshipChange
Definition
profiler.hpp:52
dunedaq::oks::OksProfiler::KernelIsDanglingObject
@ KernelIsDanglingObject
Definition
profiler.hpp:33
dunedaq::oks::OksProfiler::ObjectStreamConstructor
@ ObjectStreamConstructor
Definition
profiler.hpp:35
dunedaq::oks::OksProfiler::ObjectDestructor
@ ObjectDestructor
Definition
profiler.hpp:38
dunedaq::oks::OksProfiler::KernelCreateDataObjectList
@ KernelCreateDataObjectList
Definition
profiler.hpp:32
dunedaq::oks::OksProfiler::ObjectPutObject
@ ObjectPutObject
Definition
profiler.hpp:43
dunedaq::oks::OksProfiler::ClassConstructor
@ ClassConstructor
Definition
profiler.hpp:44
dunedaq::oks::OksProfiler::ObjectGetFreeObjectId
@ ObjectGetFreeObjectId
Definition
profiler.hpp:42
dunedaq::oks::OksProfiler::ObjectSatisfiesQueryExpression
@ ObjectSatisfiesQueryExpression
Definition
profiler.hpp:41
dunedaq::oks::OksProfiler::ClassCreateSubClassesList
@ ClassCreateSubClassesList
Definition
profiler.hpp:54
dunedaq::oks::OksProfiler::ClassRegistrateAttributeChange
@ ClassRegistrateAttributeChange
Definition
profiler.hpp:51
dunedaq::oks::OksProfiler::KernelSaveData
@ KernelSaveData
Definition
profiler.hpp:30
dunedaq::oks::OksProfiler::Classexecute_query
@ Classexecute_query
Definition
profiler.hpp:48
dunedaq::oks::OksProfiler::ClassRegistrateClassChange
@ ClassRegistrateClassChange
Definition
profiler.hpp:50
dunedaq::oks::OksProfiler::QueryOperatorFrom
@ QueryOperatorFrom
Definition
profiler.hpp:57
dunedaq::oks::OksProfiler::ClassGetObject
@ ClassGetObject
Definition
profiler.hpp:47
dunedaq::oks::OksProfiler::fStringToQuery
@ fStringToQuery
Definition
profiler.hpp:55
dunedaq::oks::OksProfiler::KernelSaveSchema
@ KernelSaveSchema
Definition
profiler.hpp:26
dunedaq::oks::OksProfiler::KernelDestructor
@ KernelDestructor
Definition
profiler.hpp:23
dunedaq::oks::OksProfiler::OksKernel
friend class OksKernel
Definition
profiler.hpp:76
dunedaq::oks::OksProfiler::t_total
double t_total[(unsigned) OksProfiler::QueryOperatorFrom+1]
Definition
profiler.hpp:73
dunedaq::oks::OksProfiler::OksProfiler
OksProfiler()
Definition
profiler.cpp:58
dunedaq::oks::OksProfiler::start_time_point
const std::chrono::time_point< std::chrono::steady_clock > start_time_point() const
Definition
profiler.hpp:62
dunedaq::oks::OksProfiler::Start
void Start(OksProfiler::FunctionID, std::chrono::time_point< std::chrono::steady_clock > &)
Definition
profiler.cpp:179
dunedaq::oks::OksProfiler::Stop
void Stop(OksProfiler::FunctionID, const std::chrono::time_point< std::chrono::steady_clock > &)
Definition
profiler.cpp:186
defs.hpp
dunedaq::oks
Definition
SchemaCommand.hpp:17
dunedaq::oks::operator<<
std::ostream & operator<<(std::ostream &s, const oks::exception &ex)
Definition
exceptions.hpp:40
dunedaq
The DUNE-DAQ namespace.
Definition
cib_utilities.cpp:5
Generated on
for DUNE-DAQ by
1.18.0