8 #include "Arp/System/Commons/Logging.h"
9 #include "Arp/System/Core/Singleton.hxx"
10 #include "Arp/System/Commons/Logging.h"
11 #include "Arp/System/Commons/Runtime/SharedLibrary.hpp"
12 #include "Arp/System/Commons/Chrono/Timer.hpp"
16 namespace Arp {
namespace System {
namespace Ve
18 class ITraceControllerService;
21 namespace Arp {
namespace System {
namespace Commons {
namespace Diagnostics
37 typedef std::list<Arp::String> SessionList;
166 void RunTraceSavingTimer(
void);
168 bool RecordSessionSnapshot(
const Arp::String& session);
172 using ITraceControllerService = Arp::System::Ve::ITraceControllerService;
176 ITraceControllerService *pInstance;
187 Timer savingDelayTimer;
190 std::atomic_flag triggerSavingWorking = ATOMIC_FLAG_INIT;
192 bool tracepointLibLoaded;
This class implements the singleton pattern.
Definition: Singleton.hxx:25
High resolution timer for interval based executions.
Definition: Timer.hpp:54
Definition: Loggable.hxx:19
The TraceController provides an Interface to manage and control the LTTng Tracing on the Control
Definition: TraceController.hpp:31
bool IsSessionInSnapshotMode(const Arp::String &session)
Checks if a trace session is in Snapshot Mode
bool StopSession(const Arp::String &session)
Stops an LTTnG Trace Session
bool IsSessionDaemonAlive(void) const
Checks if the session daemon for tracing is alive.
bool IsSessionLoaded(const Arp::String &session)
Checks if a trace session is already loaded
void SetTracesSavingConfigs(const Arp::String &triggerSession, const Arp::String &outPath, const Arp::uint32 &maxDirectorySize, const Arp::uint32 &savingDelayTimeout)
Sets the configuration of the trigger saving function
bool IsSessionEnabled(const Arp::String &session)
Checks if a trace session is already enabled/started
void UnloadTracepointLibrary(void)
Unoads the userspace Trace-Point-Library
SessionList ListSessions(void)
Queries a list of loaded LTTng Sessions
bool TriggerSavingTraceOutputs(const bool &stopTriggerSession)
Records/Saves all outputs of a configured session after an internal timeout delay Session in Snapshot...
bool DestroySession(const Arp::String &session)
Destroys/Unloads an LTTnG Trace Session
bool LoadSessionConfiguration(const Arp::String &session, const Arp::String &config)
Tries to loads a configuration file.
void LoadTracepointLibrary(void)
Loads the userspace Trace-Point-Library
bool StartSession(const Arp::String &session)
Starts an LTTnG Trace Session
High level API to enable work with dynamically loadable shared libraries.
Definition: SharedLibrary.hpp:20
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
@ System
System components used by the System, Device, Plc or Io domains.
Namespace for time related classes
Definition: Duration.hpp:13
Root namespace for the PLCnext API