Skip to content

Split mux tracer into hot and cold parts #1870

Open
@coot

Description

@coot

Using non nullTracer has a quite big performance cost. We can split the mux
tracer into two parts, one that frequently logs (which would be turned off by
default) and one that is infrequent, and turned on by default.

Hot parts would be:

MuxTraceRecvHeaderStart -> Debug
MuxTraceRecvHeaderEnd {} -> Debug
MuxTraceRecvPayloadStart {} -> Debug
MuxTraceRecvPayloadEnd {} -> Debug
MuxTraceRecvStart {} -> Debug
MuxTraceRecvEnd {} -> Debug
MuxTraceSendStart {} -> Debug
MuxTraceSendEnd -> Debug
MuxTraceChannelRecvStart {} -> Debug
MuxTraceChannelRecvEnd {} -> Debug
MuxTraceChannelSendStart {} -> Debug
MuxTraceChannelSendEnd {} -> Debug
MuxTraceHandshakeStart -> Debug
MuxTraceHandshakeServerEnd -> Debug
MuxTraceRecvDeltaQObservation {} -> Debug
MuxTraceRecvDeltaQSample {} -> Debug

And the other one (cold):

MuxTraceState {} -> Info
MuxTraceCleanExit {} -> Notice
MuxTraceExceptionExit {} -> Notice
MuxTraceHandshakeClientEnd {} -> Info
MuxTraceHandshakeClientError {} -> Error
MuxTraceHandshakeServerError {} -> Error
MuxTraceSDUReadTimeoutException -> Notice

Metadata

Metadata

Assignees

No one assigned

    Labels

    loggingIssues/PRs related to loggingmuxissues related to network-mux

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions