Remote Call Framework 3.1
PerformanceData.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2019, Delta V Software. All rights reserved.
6 // http://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
12 // under GPL terms.
13 //
14 // Version: 3.1
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
19 #ifndef INCLUDE_RCF_PERFORMANCEDATA_HPP
20 #define INCLUDE_RCF_PERFORMANCEDATA_HPP
21 
22 #include <RCF/Export.hpp>
23 #include <RCF/ThreadLibrary.hpp>
24 
25 #include <cstdint>
26 #include <vector>
27 
28 namespace RCF {
29 
30  class RCF_EXPORT PerformanceData
31  {
32  public:
33  PerformanceData() : mRcfSessions(0), mBufferCount(0), mTotalBufferSize(0)
34  {
35  }
36 
37  void collect();
38 
39  Mutex mMutex;
40  std::uint32_t mRcfSessions;
41  std::uint32_t mBufferCount;
42  std::uint32_t mTotalBufferSize;
43 
44  private:
45 
46  std::vector<std::size_t> mInBufferSizes;
47  std::vector<std::size_t> mOutBufferSizes;
48  };
49 
50  RCF_EXPORT PerformanceData & getPerformanceData();
51 
52 } // namespace RCF
53 
54 #endif // ! INCLUDE_RCF_PERFORMANCEDATA_HPP
Definition: AmiIoHandler.hpp:24