20#ifndef ORES_TELEMETRY_MESSAGING_SERVICE_SAMPLES_PROTOCOL_HPP
21#define ORES_TELEMETRY_MESSAGING_SERVICE_SAMPLES_PROTOCOL_HPP
26#include "ores.telemetry/domain/service_sample.hpp"
28namespace ores::telemetry::messaging {
41 static constexpr std::string_view nats_subject =
42 "telemetry.v1.services.heartbeat";
65 using response_type =
struct get_service_samples_response;
66 static constexpr std::string_view nats_subject =
67 "telemetry.v1.services.list";
70struct get_service_samples_response {
73 std::vector<domain::service_sample> samples;
Fire-and-forget heartbeat published by every domain service.
Definition service_samples_protocol.hpp:40
std::string service_name
Canonical service name (e.g. "ores.compute.service").
Definition service_samples_protocol.hpp:45
std::string version
Service version string (e.g. "1.0").
Definition service_samples_protocol.hpp:55
std::string instance_id
Per-process UUID, generated once at service startup.
Definition service_samples_protocol.hpp:52
Request the latest heartbeat per (service_name, instance_id).
Definition service_samples_protocol.hpp:64