Skip to content

Split mux tracer into hot and cold parts #1870

Closed
@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

Labels

loggingIssues/PRs related to loggingmuxissues related to network-mux

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions