All Downloads are FREE. Search and download functionalities are using the official Maven repository.

envoy.config.accesslog.v3alpha.als.proto Maven / Gradle / Ivy

There is a newer version: 1.0.46
Show newest version
syntax = "proto3";

package envoy.config.accesslog.v3alpha;

option java_outer_classname = "AlsProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.accesslog.v3alpha";

import "envoy/api/v3alpha/core/grpc_service.proto";

import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";

import "validate/validate.proto";

// [#protodoc-title: gRPC Access Log Service (ALS)]

// Configuration for the built-in *envoy.http_grpc_access_log*
// :ref:`AccessLog `. This configuration
// will populate :ref:`StreamAccessLogsMessage.http_logs
// `.
message HttpGrpcAccessLogConfig {
  CommonGrpcAccessLogConfig common_config = 1 [(validate.rules).message.required = true];

  // Additional request headers to log in :ref:`HTTPRequestProperties.request_headers
  // `.
  repeated string additional_request_headers_to_log = 2;

  // Additional response headers to log in :ref:`HTTPResponseProperties.response_headers
  // `.
  repeated string additional_response_headers_to_log = 3;

  // Additional response trailers to log in :ref:`HTTPResponseProperties.response_trailers
  // `.
  repeated string additional_response_trailers_to_log = 4;
}

// Configuration for the built-in *envoy.tcp_grpc_access_log* type. This configuration will
// populate *StreamAccessLogsMessage.tcp_logs*.
message TcpGrpcAccessLogConfig {
  CommonGrpcAccessLogConfig common_config = 1 [(validate.rules).message.required = true];
}

// Common configuration for gRPC access logs.
message CommonGrpcAccessLogConfig {
  // The friendly name of the access log to be returned in :ref:`StreamAccessLogsMessage.Identifier
  // `. This allows the
  // access log server to differentiate between different access logs coming from the same Envoy.
  string log_name = 1 [(validate.rules).string.min_bytes = 1];

  // The gRPC service for the access log service.
  envoy.api.v3alpha.core.GrpcService grpc_service = 2 [(validate.rules).message.required = true];

  // Interval for flushing access logs to the gRPC stream. Logger will flush requests every time
  // this interval is elapsed, or when batch size limit is hit, whichever comes first. Defaults to
  // 1 second.
  google.protobuf.Duration buffer_flush_interval = 3 [(validate.rules).duration.gt = {}];

  // Soft size limit in bytes for access log entries buffer. Logger will buffer requests until
  // this limit it hit, or every time flush interval is elapsed, whichever comes first. Setting it
  // to zero effectively disables the batching. Defaults to 16384.
  google.protobuf.UInt32Value buffer_size_bytes = 4;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy