http: periodic HCM access logs (#25824)

Commit Message: http: periodic HCM access logs
Additional Description: Make it possible to log periodically from the HCM. This parallels the work already done in TcpProxy.
Risk Level: low
Testing: unit tests.
Docs Changes: none

Mirrored from https://github.com/envoyproxy/envoy @ e11d5de33e342400a8102dcdfabad48b7da987b7
pull/626/head
data-plane-api(Azure Pipelines) 2 years ago
parent ae589d9746
commit ba2799d30e
  1. 12
      envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto

@ -36,7 +36,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// HTTP connection manager :ref:`configuration overview <config_http_conn_man>`.
// [#extension: envoy.filters.network.http_connection_manager]
// [#next-free-field: 54]
// [#next-free-field: 55]
message HttpConnectionManager {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager";
@ -543,6 +543,16 @@ message HttpConnectionManager {
// emitted by the connection manager.
repeated config.accesslog.v3.AccessLog access_log = 13;
// The interval to flush the above access logs. By default, the HCM will flush exactly one access log
// on stream close, when the HTTP request is complete. If this field is set, the HCM will flush access
// logs periodically at the specified interval. This is especially useful in the case of long-lived
// requests, such as CONNECT and Websockets. Final access logs can be detected via the
// `requestComplete()` method of `StreamInfo` in access log filters, or thru the `%DURATION%` substitution
// string.
// The interval must be at least 1 millisecond.
google.protobuf.Duration access_log_flush_interval = 54
[(validate.rules).duration = {gte {nanos: 1000000}}];
// If set to true, the connection manager will use the real remote address
// of the client connection when determining internal versus external origin and manipulating
// various headers. If set to false or absent, the connection manager will use the

Loading…
Cancel
Save