edition = "2023";

package milotic_tlbmc;

import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
import "software_metrics_config.proto";

message SocketStatState {
  int32 listen = 1;
  int32 syn_sent = 2;
  int32 syn_received = 3;
  int32 established = 4;
  int32 fin_wait_one = 5;
  int32 fin_wait_two = 6;
  int32 close_wait = 7;
  int32 closing = 8;
  int32 last_ack = 9;
  int32 time_wait = 10;
  int32 closed = 11;
}

message NetFilterState {
  int32 port = 1;
  uint64 num_connections = 2;
}

message NetFilterStates {
  repeated NetFilterState states = 1;
  google.protobuf.Timestamp timestamp = 2;
}

message SocketStatStates {
  map<int32, SocketStatState> states = 1;
  google.protobuf.Timestamp timestamp = 2;
}

message SoftwareMetricsValue {
  SocketStatStates socket_stat_state = 1;
  NetFilterStates netfilter_state = 2;
}

message SoftwareMetricsAttributesStatic {
  SoftwareMetricsConfig software_metrics_config = 1;
}

message SoftwareMetricsAttributesDynamic {
  google.protobuf.Duration refresh_interval = 2;
}
