spaghettidba / WorkloadTools

A collection of tools to collect, analyze and replay SQL Server workloads, on premises and in the cloud
MIT License
234 stars 53 forks source link

Extended events session is not removed from Azure SQL when TimeoutMinutes is set #91

Closed antfitz closed 4 years ago

antfitz commented 4 years ago

Ive found when the capture of the extended events listener is stopped by timeout that the session object in Extended Events on SQL is not deleted. If I stop a capture session by pressing CTRL-C in the cmd window, it does get removed. Im running this on an Azure SQL database with WorkloadTools v1.5.7.

Here is the .json that im running to trigger the capture:

{
    "Controller": {

        "Listener":
        {
            "__type": "ExtendedEventsWorkloadListener",
            "FileTargetPath": "https://omitted.blob.core.windows.net/extendedevents/Capture",
            "ConnectionInfo":
            {
                "ServerName": "omitted.database.windows.net",
                "DatabaseName": "CD_DS",
                "UserName": "username",
                "Password": "password"
            },
            "DatabaseFilter": "CD_DS",
            "LoginFilter": "CL_DS",
            "TimeoutMinutes": 10
        }
    }
}

Here are the 2 outputs from the console (allowing it to timeout in the first result):

C:\WINDOWS\system32>"C:\Program Files\WorkloadTools\SqlWorkload.exe" -F "C:\Temp\WorkloadTools\DSExtendedEventsOnly.json"
Info - SqlWorkload.Program : SqlWorkload, Version=1.5.7.0, Culture=neutral, PublicKeyToken=null 1.5.7
Info - SqlWorkload.Program : Reading configuration from 'C:\Temp\WorkloadTools\DSExtendedEventsOnly.json'
Info - WorkloadTools.Listener.ExtendedEvents.ExtendedEventsWorkloadListener : Reading Extended Events session definition from C:\Program Files\WorkloadTools\Listener\ExtendedEvents\sqlworkload.sql
Info - WorkloadTools.WorkloadController : Listener of type ExtendedEventsWorkloadListener initialized correctly. Waiting for events.
Info - SqlWorkload.Program : Controller stopped.
C:\WINDOWS\system32>"C:\Program Files\WorkloadTools\SqlWorkload.exe" -F "C:\Temp\WorkloadTools\DSExtendedEventsOnly.json"
Info - SqlWorkload.Program : SqlWorkload, Version=1.5.7.0, Culture=neutral, PublicKeyToken=null 1.5.7
Info - SqlWorkload.Program : Reading configuration from 'C:\Temp\WorkloadTools\DSExtendedEventsOnly.json'
Info - WorkloadTools.Listener.ExtendedEvents.ExtendedEventsWorkloadListener : Reading Extended Events session definition from C:\Program Files\WorkloadTools\Listener\ExtendedEvents\sqlworkload.sql
Info - WorkloadTools.WorkloadController : Listener of type ExtendedEventsWorkloadListener initialized correctly. Waiting for events.
Info - SqlWorkload.Program : Received shutdown signal...
Info - SqlWorkload.Program : Controller stopped.
Info - WorkloadTools.Listener.ExtendedEvents.ExtendedEventsWorkloadListener : Disposing ExtendedEventsWorkloadListener.
antfitz commented 4 years ago

Pulled master and gave it a test. All working - thanks.