syntax = "proto3";

package v2ray.core.app.observatory.burst;
option csharp_namespace = "V2Ray.Core.App.Observatory.Burst";
option go_package = "github.com/v2fly/v2ray-core/v5/app/observatory/burst";
option java_package = "com.v2ray.core.app.observatory.burst";
option java_multiple_files = true;

import "common/protoext/extensions.proto";

message Config {
  option (v2ray.core.common.protoext.message_opt).type = "service";
  option (v2ray.core.common.protoext.message_opt).short_name = "burstObservatory";

  /* @Document The selectors for outbound under observation
  */
  repeated string subject_selector = 2;

  HealthPingConfig ping_config = 3;
}

message HealthPingConfig {
  // destination url, need 204 for success return
  // default https://connectivitycheck.gstatic.com/generate_204
  string destination = 1;
  // connectivity check url
  string connectivity = 2;
  // health check interval, int64 values of time.Duration
  int64 interval = 3;
  // sampling count is the amount of recent ping results which are kept for calculation
  int32 samplingCount = 4;
  // ping timeout, int64 values of time.Duration
  int64 timeout = 5;
}
