Skip to content

[FEATURE REQ] Support log throttling #36814

Open
@lmolkova

Description

@lmolkova

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

Metadata

Assignees

No one assigned

    Labels

    Azure.Coreazure-coreAzure.Core.AMQPazure-core-amqpClientThis issue points to a problem in the data-plane of the library.Service BusamqpLabel for tracking issues related to AMQPneeds-team-attentionWorkflow: This issue needs attention from Azure service team or SDK teamneeds-team-triageWorkflow: This issue needs the team to triage.

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions