ORE Studio 0.0.4
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
ores::telemetry::domain Namespace Reference

Domain types for telemetry and observability. More...

Classes

struct  log_record
 A log record with trace correlation. More...
 
struct  resource
 Represents the entity producing telemetry data. More...
 
struct  span
 Represents a single operation within a trace. More...
 
struct  span_context
 Immutable context for trace propagation across boundaries. More...
 
struct  span_id
 A 64-bit span identifier, compatible with OpenTelemetry. More...
 
struct  span_link
 A link from one span to another, forming hypergraph edges. More...
 
struct  telemetry_batch
 A batch of telemetry log entries from a single source. More...
 
class  telemetry_context
 Immutable context passed through the call chain for telemetry. More...
 
struct  telemetry_log_entry
 A persisted telemetry log entry. More...
 
struct  telemetry_query
 Query parameters for retrieving telemetry logs. More...
 
struct  telemetry_stats
 Aggregated telemetry statistics for a time period. More...
 
struct  telemetry_stats_query
 Query parameters for retrieving telemetry statistics. More...
 
struct  telemetry_summary
 Summary statistics for a telemetry overview. More...
 
struct  trace_id
 A 128-bit trace identifier, compatible with OpenTelemetry. More...
 

Typedefs

using attribute_value = std::variant< std::string, bool, std::int64_t, double, std::vector< std::string >, std::vector< bool >, std::vector< std::int64_t >, std::vector< double > >
 OpenTelemetry-compatible attribute value type.
 
using attributes = std::map< std::string, attribute_value >
 A collection of attributes as key-value pairs.
 

Enumerations

enum class  span_kind : std::uint8_t {
  internal = 0 , server = 1 , client = 2 , producer = 3 ,
  consumer = 4
}
 The type of span, following OpenTelemetry conventions. More...
 
enum class  span_status_code : std::uint8_t { unset = 0 , ok = 1 , error = 2 }
 The status code of a span, following OpenTelemetry conventions. More...
 
enum class  stats_granularity { hourly = 0 , daily = 1 }
 Granularity for statistics queries. More...
 
enum class  telemetry_source { client = 0 , server = 1 }
 Source type for telemetry log entries. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const span_id &id)
 Stream output operator for span_id.
 
constexpr std::string_view to_string (telemetry_source s)
 Converts a telemetry_source to its string representation.
 
constexpr telemetry_source telemetry_source_from_string (std::string_view s)
 Converts a string to telemetry_source.
 
std::ostream & operator<< (std::ostream &os, const trace_id &id)
 Stream output operator for trace_id.
 

Detailed Description

Domain types for telemetry and observability.

Contains core telemetry types following OpenTelemetry conventions including span, trace_id, span_id, log_record, resource, and semantic conventions.

Typedef Documentation

◆ attribute_value

using attribute_value = std::variant< std::string, bool, std::int64_t, double, std::vector<std::string>, std::vector<bool>, std::vector<std::int64_t>, std::vector<double> >

OpenTelemetry-compatible attribute value type.

Attributes are key-value pairs that provide additional context to spans, logs, and resources. The value can be one of several primitive types or arrays of those types, following the OpenTelemetry specification.

Enumeration Type Documentation

◆ span_kind

enum class span_kind : std::uint8_t
strong

The type of span, following OpenTelemetry conventions.

SpanKind describes the relationship between the span, its parents, and its children in a trace. It helps visualization tools and analysis systems understand the structure of the distributed trace.

Enumerator
internal 

Default value. Indicates an internal operation within an application, not representing a remote call.

server 

Indicates that the span covers the server-side handling of a synchronous RPC or other remote request.

client 

Indicates that the span describes a request to some remote service. This is often the client-side of an RPC call.

producer 

Indicates that the span describes a producer sending a message to a message broker. Unlike client and server, there is often no direct relationship between producer and consumer spans.

consumer 

Indicates that the span describes a consumer receiving a message from a message broker.

◆ span_status_code

enum class span_status_code : std::uint8_t
strong

The status code of a span, following OpenTelemetry conventions.

The status represents the outcome of the operation that the span describes.

Enumerator
unset 

The default status. The operation completed without any known errors.

ok 

The operation completed successfully. This is typically set explicitly when the operation is known to have succeeded.

error 

The operation encountered an error. When this is set, the span should also include an error message in its status.

◆ stats_granularity

enum class stats_granularity
strong

Granularity for statistics queries.

Enumerator
hourly 

Hourly aggregation.

daily 

Daily aggregation.

◆ telemetry_source

enum class telemetry_source
strong

Source type for telemetry log entries.

Distinguishes between logs submitted by clients (via the binary protocol) and logs generated by the server itself.

Enumerator
client 

Log entry from a client application.

Examples: ores.qt, ores.comms.shell

server 

Log entry from the server itself.

Example: ores.comms.service