WSF
ProfilingSystem.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright (C) 2021 Stellar Science; U.S. Government has Unlimited Rights.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef PROFILINGSYSTEM_HPP
13#define PROFILINGSYSTEM_HPP
14
22
23#include "profiling_export.h"
24
25#include <string>
26
27#include "UtOptional.hpp"
28
29namespace profiling
30{
31
34struct PROFILING_EXPORT ProfilingSystemArguments
35{
42 ut::optional<std::string> mProfilingLibraryPath;
43
53 ut::optional<std::string> mProfilingOutputDest;
54};
55
58
77class PROFILING_EXPORT ProfilingSystem
78{
79public:
110
123
124 ProfilingSystem() = delete;
129
130private:
131 void initializeWithDefaultLibrary(const std::string& aOutputDestination);
132 void initializeWithAlternateLibrary(const std::string& aLibraryPath, const std::string& aOutputDestination);
133};
134
135} // namespace profiling
136
137#endif // PROFILINGSYSTEM_HPP
ProfilingSystem(const ProfilingSystem &)=delete
ProfilingSystem & operator=(const ProfilingSystem &)=delete
ProfilingSystem(ProfilingSystem &&)=delete
ProfilingSystem & operator=(ProfilingSystem &&)=delete
ProfilingSystem(const ProfilingSystemArguments &aArgs)
Use command-line arguments, as they would be parsed by code that uses profiling, to start the profili...
Definition ProfilingSystem.cpp:447
Definition of utility struct and function used by the profiling targets.
Definition ProfilingCommon.hpp:23
ProfilingSystemArguments & GlobalProfilingSystemArguments()
Reference to the command-line arguments for profiling.
Definition ProfilingSystem.cpp:30
Command-line arguments for profiling, as they may be parsed by code that uses profiling.
Definition ProfilingSystem.hpp:35
ut::optional< std::string > mProfilingOutputDest
If the value exists, the destination (as a URI) to which the profiling system may write output.
Definition ProfilingSystem.hpp:53
ut::optional< std::string > mProfilingLibraryPath
If the value exists, the path of a shared library containing profiling hooks.
Definition ProfilingSystem.hpp:42
Copyrights Multiple, All Rights Reserved