github.com/v2fly/v2ray-core/v5@v5.16.2-0.20240507031116-8191faa6e095/app/observatory/config.proto (about) 1 syntax = "proto3"; 2 3 package v2ray.core.app.observatory; 4 option csharp_namespace = "V2Ray.Core.App.Observatory"; 5 option go_package = "github.com/v2fly/v2ray-core/v5/app/observatory"; 6 option java_package = "com.v2ray.core.app.observatory"; 7 option java_multiple_files = true; 8 9 import "common/protoext/extensions.proto"; 10 11 12 message ObservationResult { 13 repeated OutboundStatus status = 1; 14 } 15 16 message HealthPingMeasurementResult { 17 int64 all = 1; 18 int64 fail = 2; 19 int64 deviation = 3; 20 int64 average = 4; 21 int64 max = 5; 22 int64 min = 6; 23 } 24 25 message OutboundStatus{ 26 /* @Document Whether this outbound is usable 27 @Restriction ReadOnlyForUser 28 */ 29 bool alive = 1; 30 /* @Document The time for probe request to finish. 31 @Type time.ms 32 @Restriction ReadOnlyForUser 33 */ 34 int64 delay = 2; 35 /* @Document The last error caused this outbound failed to relay probe request 36 @Restriction NotMachineReadable 37 */ 38 string last_error_reason = 3; 39 /* @Document The outbound tag for this Server 40 @Type id.outboundTag 41 */ 42 string outbound_tag = 4; 43 /* @Document The time this outbound is known to be alive 44 @Type id.outboundTag 45 */ 46 int64 last_seen_time = 5; 47 /* @Document The time this outbound is tried 48 @Type id.outboundTag 49 */ 50 int64 last_try_time = 6; 51 52 HealthPingMeasurementResult health_ping = 7; 53 } 54 55 message ProbeResult{ 56 /* @Document Whether this outbound is usable 57 @Restriction ReadOnlyForUser 58 */ 59 bool alive = 1; 60 /* @Document The time for probe request to finish. 61 @Type time.ms 62 @Restriction ReadOnlyForUser 63 */ 64 int64 delay = 2; 65 /* @Document The error caused this outbound failed to relay probe request 66 @Restriction NotMachineReadable 67 */ 68 string last_error_reason = 3; 69 } 70 71 message Intensity{ 72 /* @Document The time interval for a probe request in ms. 73 @Type time.ms 74 */ 75 uint32 probe_interval = 1; 76 } 77 message Config { 78 option (v2ray.core.common.protoext.message_opt).type = "service"; 79 option (v2ray.core.common.protoext.message_opt).short_name = "backgroundObservatory"; 80 /* @Document The selectors for outbound under observation 81 */ 82 repeated string subject_selector = 2; 83 84 string probe_url = 3; 85 86 int64 probe_interval = 4; 87 }