| include "aos/configuration.fbs"; |
| |
| namespace aos.message_bridge; |
| |
| // State of the connection. |
| enum State: ubyte { |
| CONNECTED, |
| DISCONNECTED, |
| } |
| |
| // Statistics from a single connection to a client from this server. |
| table ServerConnection { |
| // The node that we are connected to. |
| node:Node (id: 0); |
| |
| // Health of this connection. Connected or not? |
| state:State (id: 1); |
| |
| // Number of packets that have been dropped (if known). |
| dropped_packets:uint (id: 2); |
| |
| // Number of packets sent on all channels. |
| sent_packets:uint (id: 3); |
| |
| // This is the measured monotonic offset for the connected node in |
| // nanoseconds. Add this to our monotonic time to get their |
| // monotonic time. |
| monotonic_offset:int64 (id: 4); |
| |
| // Boot UUID of the client. |
| boot_uuid:string (id: 5); |
| |
| // Number of extra calls needed to receive a single message |
| // (indicates congestion) |
| partial_deliveries:uint (id: 6); |
| |
| // Time at which we connected to the client as nanoseconds on the local |
| // monotonic clock. This is not populated when not connected, and defaults |
| // to monotonic_clock::min_time. |
| connected_since_time:int64 = -9223372036854775808 (id: 7); |
| |
| // Number of times we've established a connection to the server. |
| connection_count:uint (id: 8); |
| } |
| |
| // Statistics for all connections to all the clients. |
| table ServerStatistics { |
| connections:[ServerConnection] (id: 0); |
| |
| // Count of timestamp send failures |
| timestamp_send_failures:uint64 (id: 1); |
| } |
| |
| root_type ServerStatistics; |