Remote Call Framework 3.3
PerformanceData.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2022, Delta V Software. All rights reserved.
6 // https://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF under GPL terms.
12 //
13 // Version: 3.3
14 // Contact: support <at> deltavsoft.com
15 //
16 //******************************************************************************
17 
18 #ifndef INCLUDE_RCF_PERFORMANCEDATA_HPP
19 #define INCLUDE_RCF_PERFORMANCEDATA_HPP
20 
21 #include <RCF/Export.hpp>
22 #include <RCF/ThreadLibrary.hpp>
23 
24 #include <cstdint>
25 #include <vector>
26 
27 namespace RCF {
28 
29  class RCF_EXPORT PerformanceData
30  {
31  public:
32  PerformanceData() : mRcfSessions(0), mBufferCount(0), mTotalBufferSize(0)
33  {
34  }
35 
36  void collect();
37 
38  Mutex mMutex;
39  std::uint32_t mRcfSessions;
40  std::uint32_t mBufferCount;
41  std::uint32_t mTotalBufferSize;
42 
43  private:
44 
45  std::vector<std::size_t> mInBufferSizes;
46  std::vector<std::size_t> mOutBufferSizes;
47  };
48 
49  RCF_EXPORT PerformanceData & getPerformanceData();
50 
51 } // namespace RCF
52 
53 #endif // ! INCLUDE_RCF_PERFORMANCEDATA_HPP
Definition: AmiIoHandler.hpp:23