Agent common functions

The monitors and recorders share some methods:

  • isConnected → Inform on the connection status with the Heex Agents
  • getUuid → return the UUID of the monitor or recorder
  • getTimestampStr → Get the current time of the system in the iso_extended std::string format.

Recorder utility functions

std::vector<std::string> getContextValueKeys(contextValues)

↳ Return all required context values keys from the query.

bool addContextValue(contextValues, key, value)

↳ Assign the value to the key. Values are defaulted to an empty string.

bool setRealRecordIntervalRange(query, realRecordIntervalStart, realRecordIntervalEnd)

↳ Update the recording ranges with the ones provided. Use this function if you want to return information regarding how your Recorder has cut time.

const RecorderEventRecordingPartArgs getEventRecordingPartAnswer(query)

↳ Return a copy of the current answer in preparation for the provided Query.

bool isPerformingCallback()

↳ Check whether the recorder is perfoming a request or not.

Recorder Query structure

📝 Note:

We’ve updated some names in our SDK to make it better. Don’t worry if you see different names in your code – we’ve made sure everything still works together smoothly with backward compatibility.

Query for Context Values

The query provided in the generateRequestedValues() method for Context Values is specified by the RecorderContextValueArgs structure.

You may extract the following fields from the query element to extract your Context Values:

  • query.uuid → Recorder UUID
  • query.eventUuid → Event UUID
  • query.timestamp → requested timestamp following the iso extended format

For more details, it is defined in the code as:

struct RecorderContextValueArgs
{
  bool valid;
  std::string uuid;
  std::string eventUuid;
  std::string timestamp;
  std::vector<std::string> contextValues;     //< Contains the Context Values store as [key:value;[key:value]*].
  std::string unparsedArgs;
};  // RecorderContextValueArgs

Query for Event Recording Parts

The query provided in the generateRequestedFilePaths() method for Context Values is specified by the RecorderEventRecordingPartArgs structure. You may extract the following fields from the query element to generate your Event Recording Parts:

  • query.uuid → Recorder UUID
  • query.eventUuid → Event UUID
  • query.timestamp → requested timestamp following the iso extended format
  • query.recordIntervalStart → the interval of time before the event timestamp (stored as a std::string)
  • query.recordIntervalEnd → the interval of time after the event timestamp (stored as a std::string)

For more details, it is defined in the code as:

struct RecorderEventRecordingPartArgs
{
  bool valid;
  std::string uuid;
  std::string eventUuid;
  std::string timestamp;
  std::string recordIntervalStart;
  std::string recordIntervalEnd;
  std::string value;
  std::string unparsedArgs;
};  // RecorderEventRecordingPartArgs