private static bool WriteEtwEvent(DiagnosticTrace trace, int eventIndex, string eventParam0, string eventParam1) { TraceCore.EnsureEventDescriptors(); EtwProvider etwProvider = trace.EtwProvider; object[] objArray = new object[] { eventParam0, eventParam1 }; return(etwProvider.WriteEvent(ref TraceCore.eventDescriptors[eventIndex], objArray)); }
private static ListViewItem GetItem(EtwProvider provider) { ListViewItem item = new ListViewItem(provider.Active.ToString()); item.SubItems.Add(provider.ProviderGuid.ToString()); item.SubItems.Add(provider.Description ?? string.Empty); item.SubItems.Add(provider.TraceLevel.ToString()); item.Tag = provider; return item; }
private void AreEqual(EtwProvider exp, EtwProvider act) { if (exp != null) { Assert.Equal(exp.DefaultDestination, act.DefaultDestination); AreEqual(exp.Events, act.Events); Assert.Equal(exp.Provider, act.Provider); Assert.Equal(exp.ScheduledTransferKeywordFilter, act.ScheduledTransferKeywordFilter); Assert.Equal(exp.ScheduledTransferLogLevelFilter, act.ScheduledTransferLogLevelFilter); Assert.Equal(exp.ScheduledTransferPeriod, act.ScheduledTransferPeriod); } }
public DiagnosticTrace(string traceSourceName, Guid etwProviderId) { try { this.thisLock = new object(); this.TraceSourceName = traceSourceName; this.eventSourceName = string.Concat(this.TraceSourceName, " ", EventSourceVersion); this.LastFailure = DateTime.MinValue; CreateTraceSource(); } catch (Exception exception) { if (Fx.IsFatal(exception)) { throw; } #pragma warning disable 618 EventLogger logger = new EventLogger(this.eventSourceName, null); logger.LogEvent(TraceEventType.Error, TracingEventLogCategory, (uint)EventLogEventId.FailedToSetupTracing, false, exception.ToString()); #pragma warning restore 618 } try { CreateEtwProvider(etwProviderId); } catch (Exception exception) { if (Fx.IsFatal(exception)) { throw; } this.etwProvider = null; #pragma warning disable 618 EventLogger logger = new EventLogger(this.eventSourceName, null); logger.LogEvent(TraceEventType.Error, TracingEventLogCategory, (uint)EventLogEventId.FailedToSetupTracing, false, exception.ToString()); #pragma warning restore 618 } if (this.TracingEnabled || this.EtwTracingEnabled) { #pragma warning disable 618 this.AddDomainEventHandlersForCleanup(); #pragma warning restore 618 } }
void CreateEtwProvider(Guid etwProviderId) { if (etwProviderId != Guid.Empty && DiagnosticTrace.isVistaOrGreater) { //Pick EtwProvider from cache, add to cache if not found this.etwProvider = (EtwProvider)etwProviderCache[etwProviderId]; if (this.etwProvider == null) { lock (etwProviderCache) { this.etwProvider = (EtwProvider)etwProviderCache[etwProviderId]; if (this.etwProvider == null) { this.etwProvider = new EtwProvider(etwProviderId); etwProviderCache.Add(etwProviderId, this.etwProvider); } } } } }
public EtwProviderEdit(EtwProvider provider) { if (provider == null) { provider = new EtwProvider(); } EtwProvider = provider; InitializeComponent(); comboBoxLevels.DrawMode = DrawMode.OwnerDrawVariable; comboBoxLevels.MeasureItem += OnComboBoxLevelsMeasureItem; comboBoxLevels.DrawItem += OnComboBoxLevelsDrawItem; textBoxGuid.Text = provider.ProviderGuid.ToString(); textBoxDescription.Text = provider.Description; checkBoxActive.Checked = provider.Active; LoadLevels(); UpdateControls(); }
private EtwProvider GetExisting(EtwProvider provider) { return AllEtwProviders.FirstOrDefault(f => f.Equals(provider)); }