Update to XElite (#1287)

* added Xevent.xelite to packages

* WIP on XELite conversion

* added wip changes

* added streaminfo class for preserving streams

* added list for profilerService

* added cancelXelStreamRequest.cs

* added test configuration for profilerservice

* added request handler using startprofilingrequest

* fix start profiling result

* added small connection string

* WIP branch for XElite (not functional)

* added hardcoded string with working stream

* added check for buildconnectionstring

* added back HandleXEvent

* added profilerservice eventsavailable test

* WIP change for profilersessionmonitor

* added more changes to profilersessionmonitor

* changed HandleXEvent

* added more additions to profielrSessionMonitor

* added startmonitoringstream

* added startmonitoringsession

* added startmonitoringstream to IProfilerSessionMonitor

* switch to monitoringStream

* added assignment of connectioninfo

* added conninfo

* added conninfo to iProfilerSessionMonitor.cs

* added isStreaming flag

* added token list

* added XEventSession name.

* removed polling lock

* test adding filters

* removed old profile filter as its incompatible

* added wip cancel feature in removesession

* moved cancellationtoken outside

* added backIsStreaming

* moved isstreaming around

* added  multiple events in list

* added timeout to handleXEvent

* removed timeout

* remove eventList count check

* remove old events filter

* returned eventlist

* remove old events filter

* renamed xelite handle function

* restored sqlclient version

* removed original handlestartprofilingrequest

* added monitoring stream to handlecreatexeventsessionrequest

* removed unnecessary sections from monitor

* Revert "removed unnecessary sections from monitor"

This reverts commit 91cadeebeeedfe99cec2e9c42944ba6716d95a61.

* added xevent actions to profileEvent

* removed polling lock for processStreams

* added filter for oldevents

* removed unused methods

* removed comment

* removed unnecessary class

* removed unnecessary requests

* removed outdated methods

* added work in progress cancellation task

* added profilersessionmonitor changes

* added small changes

* renamed startMonitoringStream

* more changes related to feedback

* made changes to code

* removed more polling code

* fixed tests

* added connectioninfo to testxeventsessions

* changed functions

* added back else

* small formatting fix

* more changes made

* added changes to XEventSession

* update to strings

* added changes to accomodate tests

* more changes

* added profilerservicetest for stopprofiling

* added TestStoppedSessionNotification test

* added session missing details handler

* simplified error message

* restored strings and added changes

* added auto-getter setter for IsStreaming

* added more changes

* removed unnecessary lines from test

* added more debugging messages

* made last changes

* added error message for handlestopprofilingrequest

* added more debug messages

* added back an s

* added verbose
This commit is contained in:
Alex Ma
2021-12-07 14:11:42 -08:00
committed by GitHub
parent faaf062f0f
commit 822a6459ce
15 changed files with 245 additions and 328 deletions

View File

@@ -123,41 +123,5 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.Profiler
profilerSession.FilterOldEvents(profilerEvents);
Assert.False(profilerSession.EventsLost);
}
/// <summary>
/// Test the TryEnterPolling method
/// </summary>
[Test]
public void TestTryEnterPolling()
{
DateTime startTime = DateTime.Now;
// create new profiler session
var profilerSession = new ProfilerSession();
// enter the polling block
Assert.True(profilerSession.TryEnterPolling());
Assert.True(profilerSession.IsPolling);
// verify we can't enter again
Assert.False(profilerSession.TryEnterPolling());
// set polling to false to exit polling block
profilerSession.IsPolling = false;
bool outsideDelay = DateTime.Now.Subtract(startTime) >= profilerSession.PollingDelay;
// verify we can only enter again if we're outside polling delay interval
Assert.AreEqual(profilerSession.TryEnterPolling(), outsideDelay);
// reset IsPolling in case the delay has elasped on slow machine or while debugging
profilerSession.IsPolling = false;
// wait for the polling delay to elapse
Thread.Sleep(profilerSession.PollingDelay);
// verify we can enter the polling block again
Assert.True(profilerSession.TryEnterPolling());
}
}
}