Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / Concurrent / CDSCollectionETWBCLProvider.cs / 1305376 / CDSCollectionETWBCLProvider.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // CDSETWProvider.cs // //[....] // // A helper class for firing ETW events related to the Coordination Data Structure Collections. // // This provider is used by CDS collection primitives in both mscorlib.dll and system.dll. The purpose of sharing // the provider class is to be able to enable ETW tracing on all CDS collection types with a single ETW provider GUID. // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System; using System.Collections.Generic; using System.Text; namespace System.Collections.Concurrent { #if !FEATURE_PAL // PAL doesn't support eventing using System.Diagnostics.Eventing; [System.Runtime.CompilerServices.FriendAccessAllowed] sealed internal class CDSCollectionETWBCLProvider : EventProviderBase { // // Defines the singleton instance for the CDS ETW provider // // The CDS collection Event provider GUID is {35167F8E-49B2-4b96-AB86-435B59336B5E} // public static CDSCollectionETWBCLProvider Log = new CDSCollectionETWBCLProvider(); private CDSCollectionETWBCLProvider() : base(new Guid(0x35167f8e, 0x49b2, 0x4b96, 0xab, 0x86, 0x43, 0x5b, 0x59, 0x33, 0x6b, 0x5e)) { } ///////////////////////////////////////////////////////////////////////////////////// // // ConcurrentStack Events // [Event(1, Level = EventLevel.LogAlways)] public void ConcurrentStack_FastPushFailed(int spinCount) { if (IsEnabled()) WriteEvent(1,spinCount); } [Event(2, Level = EventLevel.LogAlways)] public void ConcurrentStack_FastPopFailed(int spinCount) { if (IsEnabled()) WriteEvent(2,spinCount); } ///////////////////////////////////////////////////////////////////////////////////// // // ConcurrentDictionary Events // [Event(3, Level = EventLevel.LogAlways)] public void ConcurrentDictionary_AcquiringAllLocks(int numOfBuckets) { if (IsEnabled()) WriteEvent(3, numOfBuckets); } // // Events below this point are used by the CDS types in System.DLL // ///////////////////////////////////////////////////////////////////////////////////// // // ConcurrentBag Events // [Event(4, Level = EventLevel.Verbose)] public void ConcurrentBag_TryTakeSteals() { if (IsEnabled(EventLevel.Verbose, ((EventKeywords)(-1)) )) WriteEvent(4); } [Event(5, Level = EventLevel.Verbose)] public void ConcurrentBag_TryPeekSteals() { if (IsEnabled(EventLevel.Verbose, ((EventKeywords)(-1)) )) WriteEvent(5); } } #endif // !FEATURE_PAL } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // CDSETWProvider.cs // //[....] // // A helper class for firing ETW events related to the Coordination Data Structure Collections. // // This provider is used by CDS collection primitives in both mscorlib.dll and system.dll. The purpose of sharing // the provider class is to be able to enable ETW tracing on all CDS collection types with a single ETW provider GUID. // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System; using System.Collections.Generic; using System.Text; namespace System.Collections.Concurrent { #if !FEATURE_PAL // PAL doesn't support eventing using System.Diagnostics.Eventing; [System.Runtime.CompilerServices.FriendAccessAllowed] sealed internal class CDSCollectionETWBCLProvider : EventProviderBase { // // Defines the singleton instance for the CDS ETW provider // // The CDS collection Event provider GUID is {35167F8E-49B2-4b96-AB86-435B59336B5E} // public static CDSCollectionETWBCLProvider Log = new CDSCollectionETWBCLProvider(); private CDSCollectionETWBCLProvider() : base(new Guid(0x35167f8e, 0x49b2, 0x4b96, 0xab, 0x86, 0x43, 0x5b, 0x59, 0x33, 0x6b, 0x5e)) { } ///////////////////////////////////////////////////////////////////////////////////// // // ConcurrentStack Events // [Event(1, Level = EventLevel.LogAlways)] public void ConcurrentStack_FastPushFailed(int spinCount) { if (IsEnabled()) WriteEvent(1,spinCount); } [Event(2, Level = EventLevel.LogAlways)] public void ConcurrentStack_FastPopFailed(int spinCount) { if (IsEnabled()) WriteEvent(2,spinCount); } ///////////////////////////////////////////////////////////////////////////////////// // // ConcurrentDictionary Events // [Event(3, Level = EventLevel.LogAlways)] public void ConcurrentDictionary_AcquiringAllLocks(int numOfBuckets) { if (IsEnabled()) WriteEvent(3, numOfBuckets); } // // Events below this point are used by the CDS types in System.DLL // ///////////////////////////////////////////////////////////////////////////////////// // // ConcurrentBag Events // [Event(4, Level = EventLevel.Verbose)] public void ConcurrentBag_TryTakeSteals() { if (IsEnabled(EventLevel.Verbose, ((EventKeywords)(-1)) )) WriteEvent(4); } [Event(5, Level = EventLevel.Verbose)] public void ConcurrentBag_TryPeekSteals() { if (IsEnabled(EventLevel.Verbose, ((EventKeywords)(-1)) )) WriteEvent(5); } } #endif // !FEATURE_PAL } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TraceSwitch.cs
- ProcessModelSection.cs
- SelectedDatesCollection.cs
- HtmlInputPassword.cs
- MetaChildrenColumn.cs
- Privilege.cs
- ConnectionManagementElement.cs
- DynamicControl.cs
- Encoder.cs
- HwndKeyboardInputProvider.cs
- Simplifier.cs
- DependencyPropertyAttribute.cs
- ButtonBaseAutomationPeer.cs
- CleanUpVirtualizedItemEventArgs.cs
- ServiceDefaults.cs
- ComponentResourceManager.cs
- ConnectorSelectionGlyph.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- XamlReader.cs
- Emitter.cs
- DataGridViewComboBoxEditingControl.cs
- GeometryConverter.cs
- WriteableOnDemandStream.cs
- WebMessageBodyStyleHelper.cs
- DBConnection.cs
- SiteMapNodeCollection.cs
- XComponentModel.cs
- TreeNodeSelectionProcessor.cs
- ProviderManager.cs
- UIElementCollection.cs
- MouseActionValueSerializer.cs
- OrderedDictionary.cs
- RenderingEventArgs.cs
- StylusEditingBehavior.cs
- HttpGetProtocolImporter.cs
- HtmlInputHidden.cs
- base64Transforms.cs
- ProxyManager.cs
- ModelItemDictionaryImpl.cs
- DefaultEventAttribute.cs
- ApplicationBuildProvider.cs
- tibetanshape.cs
- ValidationEventArgs.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- Button.cs
- TextEditorSelection.cs
- PingOptions.cs
- _ListenerAsyncResult.cs
- Mappings.cs
- SchemaName.cs
- GeometryCombineModeValidation.cs
- PLINQETWProvider.cs
- IUnknownConstantAttribute.cs
- EmbeddedObject.cs
- TimeZone.cs
- StateManagedCollection.cs
- DecoderExceptionFallback.cs
- FilteredDataSetHelper.cs
- FixedTextView.cs
- CorrelationManager.cs
- Literal.cs
- ActivityExecutionContext.cs
- SingleSelectRootGridEntry.cs
- Thread.cs
- OletxDependentTransaction.cs
- WriteableBitmap.cs
- BitmapEffectState.cs
- TextContainerChangeEventArgs.cs
- CodeNamespace.cs
- ComponentDispatcherThread.cs
- LogArchiveSnapshot.cs
- uribuilder.cs
- ChannelProtectionRequirements.cs
- BasicAsyncResult.cs
- PropertyMappingExceptionEventArgs.cs
- EntityContainerAssociationSet.cs
- Type.cs
- ThumbButtonInfo.cs
- ServiceOperationUIEditor.cs
- Util.cs
- EntityCommandCompilationException.cs
- NameHandler.cs
- brushes.cs
- CqlBlock.cs
- ClientTargetCollection.cs
- DrawingGroupDrawingContext.cs
- PasswordBox.cs
- Button.cs
- PropertyGrid.cs
- ValidationErrorEventArgs.cs
- SpellerError.cs
- TailCallAnalyzer.cs
- ExpressionEditor.cs
- WebPageTraceListener.cs
- XPathException.cs
- SqlErrorCollection.cs
- HtmlWindowCollection.cs
- filewebrequest.cs
- ImageButton.cs
- SchemaSetCompiler.cs