Skip to content

Expand the area of ScopeTrackedObject usage #14249

@KBaichoo

Description

@KBaichoo

Expand the area of ScopeTrackedObject usage.

Currently the ScopeTrackedObject is used at the L7 stream level. The mechanism essentially registers that the dispatcher is doing some particular work.

When a Fatal Error occurs on a thread, we invoke several debug actions on the dispatcher that encountered the error, trying to also leverage the ScopeTrackedObject (what it was working on at the time) to give additional insight into the crash.

With this mechanism as is, there are many parts of the pipeline (see image below) that if we "burst" (crashed) there we'd get no additional information. Furthermore, even when we do crash at the L7 level we have room to improve what we dump -- we don't dump some useful L4 information such as IP address IIRC.

Stream Pipeline

Ideally, we should be able to crash along any point of the pipeline and get information from the earlier phase from the pipeline as well. This will likely mean extending what objects implement the ScopedTrackedObject interface, and probably changing how the dispatcher tracks ScopeTrackedObjects, perhaps as a stack vs as a single object.

Let me know if that makes sense, thanks.

Metadata

Metadata

Assignees

Labels

area/serverstalestalebot believes this issue/PR has not been touched recently

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions