omni::telemetry::launchTransmitter

Defined in omni/structuredlog/Telemetry.h

inline bool omni::telemetry::launchTransmitter(const char *transmitterPath, const std::vector<std::string> extraArgs = {})

Launch the telemetry transmitter process.

Remark

This function will launch an instance of the telemetry transmitter. Any app using telemetry should launch the transmitter. The transmitter process will upload telemetry events from the logs to the Kratos endpoint. The transmitter is currently dependent on the Omniverse Launcher to obtain an authentication token to send telemetry. Only one transmitter process will exist on a system at a time; if one is launched while another exists, the new instance will exit. The transmitter process will run until all telemetry client processes have exited.

Note

The /telemetry/log tree of settings exists to specify log options for the transmitter without affecting the parent process.

  • /telemetry/log/file is passed to the transmitter as /log/file.

  • /telemetry/log/level is passed to the transmitter as /log/level.

Note

This transmitter process won’t log to the standard streams by default. Logs will go to a standard log file path instead, but --/log/file can be used to override this. The transmitter process will exit after the host app, so logging to the standard streams will result in messages being written into terminal over the user’s prompt.

Parameters
  • transmitterPath[in] The path to the transmitter binary and .py file.

  • extraArgs[in] Extra arguments to pass to the transmitter process.

Returns

true if the transmitter child process is successfully launched. Returns false otherwise.