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
- CombinedGeometry.cs
- MatrixCamera.cs
- EntityDataSourceStatementEditor.cs
- AffineTransform3D.cs
- Dynamic.cs
- FileRecordSequenceHelper.cs
- KeyValueInternalCollection.cs
- EncoderParameters.cs
- DataRow.cs
- ErrorFormatter.cs
- LinkConverter.cs
- XmlBoundElement.cs
- SqlProfileProvider.cs
- ImageAttributes.cs
- BinaryReader.cs
- ThrowHelper.cs
- SecurityManager.cs
- FamilyTypefaceCollection.cs
- PropertyValueChangedEvent.cs
- TypeConverter.cs
- XmlEntityReference.cs
- MergablePropertyAttribute.cs
- XmlSerializationGeneratedCode.cs
- UIElementCollection.cs
- webproxy.cs
- Int64Converter.cs
- EntityDataSourceSelectedEventArgs.cs
- AdapterDictionary.cs
- WindowPattern.cs
- DCSafeHandle.cs
- Application.cs
- WebPartConnectionsConfigureVerb.cs
- RenderOptions.cs
- TreeViewImageKeyConverter.cs
- SequenceQuery.cs
- Visitors.cs
- StylusPlugInCollection.cs
- DateTimeConverter.cs
- DocumentGridContextMenu.cs
- TdsRecordBufferSetter.cs
- XmlSchemaGroup.cs
- DataGridDesigner.cs
- PagedDataSource.cs
- InsufficientMemoryException.cs
- HtmlControl.cs
- HostProtectionException.cs
- RegistryKey.cs
- MailAddressParser.cs
- UnmanagedMemoryStream.cs
- SpellCheck.cs
- DbCommandDefinition.cs
- MouseButton.cs
- DataBinding.cs
- DataGridCell.cs
- ReferentialConstraint.cs
- UniqueIdentifierService.cs
- FrameworkContextData.cs
- ThreadInterruptedException.cs
- LocatorPart.cs
- PolicyLevel.cs
- Int64.cs
- DBDataPermissionAttribute.cs
- FlowNode.cs
- ReadOnlyCollectionBase.cs
- PropertyGrid.cs
- CounterSampleCalculator.cs
- FtpWebResponse.cs
- ResolveDuplexCD1AsyncResult.cs
- SynchronizingStream.cs
- OneOfTypeConst.cs
- RegexMatchCollection.cs
- ConfigXmlCDataSection.cs
- _NetRes.cs
- CodeObjectCreateExpression.cs
- KnownBoxes.cs
- Reference.cs
- MdiWindowListStrip.cs
- Tuple.cs
- XNameTypeConverter.cs
- BaseParaClient.cs
- comcontractssection.cs
- PowerEase.cs
- ConfigXmlCDataSection.cs
- ToolboxComponentsCreatedEventArgs.cs
- ColorConvertedBitmap.cs
- UnsafeNetInfoNativeMethods.cs
- cryptoapiTransform.cs
- GacUtil.cs
- SystemSounds.cs
- PropertyFilterAttribute.cs
- SqlDependencyUtils.cs
- StylusDownEventArgs.cs
- DomainConstraint.cs
- SubpageParagraph.cs
- MessageDescriptionCollection.cs
- PersonalizableTypeEntry.cs
- ConfigurationElementProperty.cs
- SchemaImporter.cs
- IDispatchConstantAttribute.cs
- WindowsToolbarAsMenu.cs