Extended Events not collecting data.

chrisrdba 471 Reputation points
2021-05-17T14:43:59.32+00:00

Greetings. I have EE's running in an Azure SQL DB, collecting data to a ring buffer w success on a low usage environment. It collects data fine for a couple days then simply stops collecting. The only way I've found is to get it collecting data again is to stop/ start the whole thing.

A couple fun facts:

  1. It doesn't actually stop until I stop it -- it's still running but just not collecting data.
  2. I have the option checked to start on startup.
  3. According to various articles I've read entries to the ring buffer are FIFO, so if it gets full it should simply wipe out old entries to make room for new entries.

Any ideas?

Azure SQL Database
{count} votes

1 answer

Sort by: Most helpful
  1. KalyanChanumolu-MSFT 8,351 Reputation points
    2021-05-18T09:09:37.23+00:00

    @chrisrdba Thank you for reaching out.

    You have to specify the EVENT_RETENTION_MODE while creating the event session so that SQL Server can understand which events can be dropped when the ring buffer(s) are full.

    These are the allowed retentions modes.

    ALLOW_SINGLE_EVENT_LOSS An event can be lost from the session. A single event is only dropped when all the event buffers are full. Losing a single event when event buffers are full allows for acceptable SQL Server performance characteristics, while minimizing the loss of data in the processed event stream.

    ALLOW_MULTIPLE_EVENT_LOSS Full event buffers containing multiple events can be lost from the session. The number of events lost is dependent upon the memory size allocated to the session, the partitioning of the memory, and the size of the events in the buffer. This option minimizes performance impact on the server when event buffers are quickly filled, but large numbers of events can be lost from the session.

    NO_EVENT_LOSS No event loss is allowed. This option ensures that all events raised will be retained. Using this option forces all tasks that fire events to wait until space is available in an event buffer. This may cause detectable performance issues while the event session is active. User connections may stall while waiting for events to be flushed from the buffer.

    More details are here

    Please let us know if you have any further questions.

    ----------

    If an answer is helpful, please "Accept answer" or "Up-Vote" which might help other community members reading this thread.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.