envoyproxy/envoy

[http] Further improvements to Envoy crash logging.

Open

#11,432 建立於 2020年6月3日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)C++ (5,373 fork)batch import
area/envoy_loghelp wanted

倉庫指標

Star
 (27,997 star)
PR 合併指標
 (平均合併 8天) (30 天內合併 378 個 PR)

描述

Ref: #7300

We have some logging of the active request on crashes under callstacks that have a ScopeTrackerScopeState but those scoped objects are only associated with events under some HCM, UpstreamRequest and timer callstacks. Also, dumped information is fairly limited.

Possible improvements to ScopeTrackerScopeState to increase dump coverage:

  • Have the FileEventImpl or network::ConnectionImpl hold a pointer to the ScopeTrackedObject associated with the current H1 request or active H2 connection. Add a ScopeTrackerScopeState to ConnectionImpl::onFileEvent/FileEventImpl that calls the dump method on the active request's ScopeTrackedObject
  • Implement a ScopeTrackedObject for H2 connections that dumps basic info about active streams and recent stream/connection level events.

Possible improvements to request dumps:

  • LOG endpoints of the downstream and upstream connection
  • If in the middle of H1 header parsing, dump info about contents of read buffer (up to a limit, probably only the first buffer slice)

貢獻者指南