public static EventProviderDescriptor GetDescriptor(this EventProvider provider) { if (!provider.IsEnabled) { throw new InvalidOperationException("Provider is disabled"); } var d = new EventProviderDescriptor(provider.Id); d.Id = provider.Id; d.Level = provider.Level; d.MatchAnyKeyword = provider.MatchAnyKeyword; d.MatchAllKeyword = provider.MatchAllKeyword; d.IncludeSecurityId = provider.IncludeSecurityId; d.IncludeTerminalSessionId = provider.IncludeTerminalSessionId; d.IncludeStackTrace = provider.IncludeStackTrace; if (provider.FilterExecutableNames) { d.ExecutableName = string.Join(";", provider.ExecutableNames); } if (provider.FilterProcessIds) { d.ProcessIds = new List <uint>(provider.ProcessIds); } if (provider.FilterEventIds) { d.EventIds = new List <ushort>(provider.EventIds); d.EventIdsFilterIn = provider.EventIdsFilterIn; } if (provider.FilterStackWalkEventIds) { d.StackWalkEventIds = new List <ushort>(provider.StackWalkEventIds); d.StackWalkEventIdsFilterIn = provider.StackWalkEventIdsFilterIn; } if (provider.FilterStackWalkLevelKeyword) { d.FilterStackWalkLevelKeyword = provider.FilterStackWalkLevelKeyword; d.StackWalkFilterIn = provider.StackWalkFilterIn; d.StackWalkLevel = provider.StackWalkLevel; d.StackWalkMatchAnyKeyword = provider.StackWalkMatchAnyKeyword; d.StackWalkMatchAllKeyword = provider.StackWalkMatchAllKeyword; } d.Manifest = provider.Manifest; d.StartupProjects = new List <string>(provider.StartupProjects); return(d); }
private void VerifyEqual(EventProvider expected, EventProviderDescriptor actual) { Assert.Equal(expected.Id, actual.Id); Assert.Equal(expected.Level, actual.Level); Assert.Equal(expected.MatchAnyKeyword, actual.MatchAnyKeyword); Assert.Equal(expected.MatchAllKeyword, actual.MatchAllKeyword); Assert.Equal(expected.IncludeSecurityId, actual.IncludeSecurityId); Assert.Equal(expected.IncludeTerminalSessionId, actual.IncludeTerminalSessionId); Assert.Equal(expected.IncludeStackTrace, actual.IncludeStackTrace); if (expected.FilterExecutableNames) { Assert.Equal(string.Join(";", expected.ExecutableNames), actual.ExecutableName); } else { Assert.Null(actual.ExecutableName); } if (expected.FilterProcessIds) { Assert.Equal(expected.ProcessIds, actual.ProcessIds); } else { Assert.Null(actual.ProcessIds); } if (expected.FilterEventIds) { Assert.Equal(expected.EventIds, actual.EventIds); Assert.Equal(expected.EventIdsFilterIn, actual.EventIdsFilterIn); } else { Assert.Null(actual.EventIds); } if (expected.FilterStackWalkEventIds) { Assert.Equal(expected.StackWalkEventIds, actual.StackWalkEventIds); Assert.Equal(expected.StackWalkEventIdsFilterIn, actual.StackWalkEventIdsFilterIn); } else { Assert.Null(actual.StackWalkEventIds); } Assert.Equal(expected.FilterStackWalkLevelKeyword, actual.FilterStackWalkLevelKeyword); if (expected.FilterStackWalkEventIds) { Assert.Equal(expected.StackWalkFilterIn, actual.StackWalkFilterIn); Assert.Equal(expected.StackWalkLevel, actual.StackWalkLevel); Assert.Equal(expected.StackWalkMatchAnyKeyword, actual.StackWalkMatchAnyKeyword); Assert.Equal(expected.StackWalkMatchAllKeyword, actual.StackWalkMatchAllKeyword); } else { Assert.Equal(expected.StackWalkFilterIn, actual.StackWalkFilterIn); Assert.Equal(0, actual.StackWalkLevel); Assert.Equal(0ul, actual.StackWalkMatchAnyKeyword); Assert.Equal(0ul, actual.StackWalkMatchAllKeyword); } Assert.Equal(expected.Manifest, actual.Manifest); Assert.Equal(expected.StartupProjects, actual.StartupProjects); }