envoyproxy/envoy

proposal: interval reporting for network access loggers

Open

#10.936 geöffnet am 24. Apr. 2020

Auf GitHub ansehen
 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/access_loghelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

Network access loggers can be attached to listeners and tcp_proxies. They report once the connection is closed. This is a problem for long-running, stalled, and slow connections, since there is no telemetry until it's over, which complicates debugging of connection handling issues.

This proposal is to add an option, e.g. interval_duration: 10s, to invoke the access loggers log() function repeatedly (and immediately on the connection establishment). This means some data might not be populated in StreamInfo, so the access log needs to distinguish between missing and not-yet-populated states.

The alternative is to push down the functionality into the access log extension itself. For that to be possible:

  1. We would need ability to set up timers from FactoryContext.
  2. The latter point stands: we should be able to distinguish between missing and not yet defined.

Contributor Guide