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  }