github.com/google/cloudprober@v0.11.3/probes/external/proto/server.proto (about) 1 // This package defines protocol for use with cloudprober's external 2 // probe (in server mode). 3 syntax = "proto2"; 4 5 package cloudprober; 6 7 option go_package = "github.com/google/cloudprober/probes/external/proto"; 8 9 // ProbeRequest is the message that cloudprober sends to the external probe 10 // server. 11 message ProbeRequest { 12 // The unique identifier for this request. This is unique across 13 // an execution of the probe server. It starts at 1. 14 required int32 request_id = 1; 15 16 // How long to allow for the execution of this request, in 17 // milliseconds. If the time limit is exceeded, the server 18 // should abort the request, but *not* send back a reply. The 19 // client will have to do timeouts anyway. 20 required int32 time_limit = 2; 21 22 message Option { 23 required string name = 1; 24 required string value = 2; 25 } 26 repeated Option options = 3; 27 } 28 29 // ProbeReply is the message that external probe server sends back to the 30 // cloudprober. 31 message ProbeReply { 32 // The sequence number for this request. 33 required int32 request_id = 1; 34 35 // For a normal result, this is not present. 36 // If it is present, it indicates that the probe failed. 37 optional string error_message = 2; 38 39 // The result of the probe. Cloudprober parses the payload to retrieve 40 // variables from it. It expects variables in the following format: 41 // var1 value1 (for example: total_errors 589) 42 // TODO(manugarg): Add an option to export mapped variables, for example: 43 // client-errors map:lang java:200 python:20 golang:3 44 optional string payload = 3; 45 }