20#ifndef ORES_TELEMETRY_MESSAGING_TELEMETRY_PROTOCOL_HPP
21#define ORES_TELEMETRY_MESSAGING_TELEMETRY_PROTOCOL_HPP
28#include "ores.comms/messaging/message_types.hpp"
29#include "ores.comms/messaging/message_traits.hpp"
30#include "ores.telemetry/domain/telemetry_log_entry.hpp"
31#include "ores.telemetry/domain/telemetry_batch.hpp"
32#include "ores.telemetry/domain/telemetry_query.hpp"
33#include "ores.telemetry/domain/telemetry_stats.hpp"
59 std::vector<std::byte> serialize()
const;
60 static std::expected<submit_telemetry_response, ores::utility::serialization::error_code>
61 deserialize(std::span<const std::byte> data);
78 std::vector<std::byte> serialize()
const;
79 static std::expected<get_telemetry_logs_request, ores::utility::serialization::error_code>
80 deserialize(std::span<const std::byte> data);
97 std::vector<domain::telemetry_log_entry>
entries;
109 std::vector<std::byte> serialize()
const;
110 static std::expected<get_telemetry_logs_response, ores::utility::serialization::error_code>
111 deserialize(std::span<const std::byte> data);
128 std::vector<std::byte> serialize()
const;
129 static std::expected<get_telemetry_stats_request, ores::utility::serialization::error_code>
130 deserialize(std::span<const std::byte> data);
147 std::vector<domain::telemetry_stats>
stats;
154 std::vector<std::byte> serialize()
const;
155 static std::expected<get_telemetry_stats_response, ores::utility::serialization::error_code>
156 deserialize(std::span<const std::byte> data);
172 static constexpr message_type request_message_type =
173 message_type::get_telemetry_logs_request;
183 static constexpr message_type request_message_type =
184 message_type::get_telemetry_stats_request;
Contains messaging related infrastructure in the comms library.
Definition assets_protocol.hpp:122
Network messaging protocol for log records.
Definition telemetry_message_handler.cpp:27
std::basic_ostream< CharT, TraitsT > & operator<<(std::basic_ostream< CharT, TraitsT > &stream, boost_severity level)
Inserter for boost_severity enum.
Definition boost_severity.hpp:80
Traits template for mapping request types to their response types and message type enum values.
Definition message_traits.hpp:66
Query parameters for retrieving telemetry logs.
Definition telemetry_query.hpp:38
Query parameters for retrieving telemetry statistics.
Definition telemetry_query.hpp:140
Response to submit_log_records_request.
Definition telemetry_protocol.hpp:43
std::string message
Optional error message if some entries failed.
Definition telemetry_protocol.hpp:57
bool success
Whether the submission was successful.
Definition telemetry_protocol.hpp:47
std::uint32_t entries_accepted
Number of entries that were accepted and persisted.
Definition telemetry_protocol.hpp:52
Request to retrieve telemetry log entries.
Definition telemetry_protocol.hpp:72
domain::telemetry_query query
Query parameters.
Definition telemetry_protocol.hpp:76
Response containing telemetry log entries.
Definition telemetry_protocol.hpp:88
std::uint64_t total_count
Total count of matching entries (for pagination).
Definition telemetry_protocol.hpp:102
std::vector< domain::telemetry_log_entry > entries
The log entries matching the query.
Definition telemetry_protocol.hpp:97
std::string message
Error message if query failed.
Definition telemetry_protocol.hpp:107
bool success
Whether the query was successful.
Definition telemetry_protocol.hpp:92
Request to retrieve telemetry statistics.
Definition telemetry_protocol.hpp:122
domain::telemetry_stats_query query
Query parameters.
Definition telemetry_protocol.hpp:126
Response containing telemetry statistics.
Definition telemetry_protocol.hpp:138
std::vector< domain::telemetry_stats > stats
The aggregated statistics.
Definition telemetry_protocol.hpp:147
std::string message
Error message if query failed.
Definition telemetry_protocol.hpp:152
bool success
Whether the query was successful.
Definition telemetry_protocol.hpp:142