Files
jmon/Protos/metrics.proto
James Getrost 127b3ad5bf Initial commit: JMon cross-platform monitoring system
- gRPC client-server metrics collection
- PeriodicTimer-based 5-second sampling
- Delta encoding with configurable thresholds
- Queue/retry mechanism for resilience
- ProcessId tracking for duplicate detection
- Server-side state reconstruction
- Native AOT compilation support
- Docker/Podman containerization
- PostgreSQL + TimescaleDB persistence layer
2026-01-05 23:23:55 -06:00

40 lines
880 B
Protocol Buffer

syntax = "proto3";
package jmon;
option csharp_namespace = "JMon.Protos";
service MetricsService {
rpc ReportMetrics (DeltaMetrics) returns (MetricsResponse);
}
message DeltaMetrics {
string machine_name = 1;
string hwid = 2;
optional string os_description = 3;
optional double cpu_usage_percentage = 4;
optional int64 memory_used_bytes = 5;
optional int64 memory_total_bytes = 6;
optional int64 swap_used_bytes = 7;
optional int64 swap_total_bytes = 8;
optional int64 disk_used_bytes = 9;
optional int64 disk_total_bytes = 10;
optional string disk_mount_point = 11;
int64 timestamp_unix_ms = 12;
bool retried = 13;
optional string ip_address = 14;
int32 process_id = 15;
}
message MetricsResponse {
enum CommandType {
ACK = 0;
SYNC = 1;
SIGTERM = 2;
}
bool success = 1;
CommandType command = 2;
string message = 3;
}