ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Attributes | List of all members
telemetry_options Struct Referencefinal

Options related to telemetry export. More...

#include <telemetry_options.hpp>

Collaboration diagram for telemetry_options:
Collaboration graph

Public Attributes

std::string service_name
 Name of the service producing telemetry.
 
std::string service_version
 Version of the service producing telemetry.
 
std::filesystem::path output_file
 Path to the output file for telemetry export.
 
std::filesystem::path output_directory
 Directory in which to place the telemetry output file.
 
bool streaming_enabled = false
 Enable streaming of log records to the server.
 
std::uint32_t batch_size = 50
 Number of records to batch before sending to the server.
 
std::chrono::seconds flush_interval {5}
 Maximum time to wait before flushing a partial batch.
 

Detailed Description

Options related to telemetry export.

These options control the export of log records to external systems for centralized log aggregation and analysis. When enabled, all log records are captured by a telemetry sink and exported to the configured destination.

Member Data Documentation

◆ service_name

std::string service_name

Name of the service producing telemetry.

This is used to identify the service in exported log records and follows OpenTelemetry semantic conventions for service.name.

◆ service_version

std::string service_version

Version of the service producing telemetry.

This is used for service.version in the resource attributes.

◆ output_file

std::filesystem::path output_file

Path to the output file for telemetry export.

Log records are written in JSON Lines format (.jsonl). Each record is a single JSON object on its own line.

◆ output_directory

std::filesystem::path output_directory

Directory in which to place the telemetry output file.

If output_file is a relative path, it is resolved relative to this directory. If empty, the current working directory is used.

◆ streaming_enabled

bool streaming_enabled = false

Enable streaming of log records to the server.

When enabled, log records are batched and sent to the server in addition to being written to the local file. If the connection is not available, records are buffered locally and sent when the connection is restored.

Default: false (file-only export).

◆ batch_size

std::uint32_t batch_size = 50

Number of records to batch before sending to the server.

Records are accumulated until this threshold is reached, at which point they are sent as a single batch. Larger batch sizes improve network efficiency at the cost of higher memory usage and potential data loss on crash.

Default: 50 records.

◆ flush_interval

std::chrono::seconds flush_interval {5}

Maximum time to wait before flushing a partial batch.

Even if batch_size hasn't been reached, records will be sent after this interval to ensure timely delivery. This balances network efficiency with latency requirements.

Default: 5 seconds.