Description
openedon Sep 18, 2023
Sometimes, when connectivity issues happen, SDKs produce an enormous amount of logs describing transient issues.
E.g. this happened over 48 days when the service experienced connectivity issues, resulting in ~500 INFO log records from AmqpChannelProcessor alone.
severity | category | occurences |
---|---|---|
Info | com.azure.core.amqp.implementation.AmqpChannelProcessor | 1896369417 |
Info | com.azure.core.amqp.implementation.ReactorConnection | 512631634 |
Info | com.azure.core.amqp.implementation.handler.ReceiveLinkHandler | 471851558 |
Info | com.azure.core.amqp.implementation.handler.SendLinkHandler | 471851508 |
Info | com.azure.core.amqp.implementation.handler.ConnectionHandler | 56639800 |
Info | com.azure.messaging.servicebus.ServiceBusProcessorClient | 56264096 |
Info | com.azure.messaging.servicebus.implementation.ServiceBusConnectionProcessor | 42014609 |
Info | com.azure.core.amqp.implementation.handler.SessionHandler | 41983458 |
Info | com.azure.core.amqp.implementation.RequestResponseChannel | 22887761 |
Info | com.azure.messaging.servicebus.ServiceBusClientBuilder | 21009875 |
While we can (and should) adjust logging levels in #20836, it should also be useful to throttle logs at specific threshold configurable by users (can be off by default or on at some enormous numbers). It would provide a safe belt in case of unexpected issues and won't make them worse because of extra logging.
We can also write a warn log when throttling starts every once in a while.
The concern here is that throttling can be a logging implementation feature and we need to investigate if sinks provide existing solutions.
Metadata
Assignees
Labels
Type
Projects
Status
No status