Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Utility / PerfService.cs / 1305600 / PerfService.cs
//---------------------------------------------------------------------------- //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Implements the Service class for perf diagnostics //--------------------------------------------------------------------------- using System; using System.Text; using System.Windows; using System.Collections.Generic; using Microsoft.Win32; using MS.Internal.PresentationCore; using MS.Internal; using MS.Utility; using MS.Win32.PresentationCore; using System.Reflection; namespace MS.Utility { [FriendAccessAllowed] static internal class PerfService { // Box the long to avoid JIT private static DictionaryperfElementIds = new Dictionary (); /// /// Perfservice uses this property to uniquely identfy each element in the tree. /// this ID gets traced with ETW traces and gets mapped to the element in the tool /// value is valid only if the service is running /// internal static long GetPerfElementID2(object element, string extraData) { object eltId = null; int hash = element.GetHashCode(); lock (perfElementIds) { if (!perfElementIds.TryGetValue(hash, out eltId)) { eltId = SafeNativeMethods.GetNextPerfElementId(); perfElementIds.Add(hash, eltId); // If this is the first time we see this object emit some useful info about it. if (EventTrace.IsEnabled(EventTrace.Keyword.KeywordGeneral, EventTrace.Level.Verbose)) { Type type = element.GetType(); Assembly asm = type.Assembly; EventTrace.EventProvider.TraceEvent(EventTrace.Event.PerfElementIDAssignment, EventTrace.Keyword.KeywordGeneral, EventTrace.Level.Verbose, (long)eltId, type.FullName, extraData, GetPerfElementID2(asm, asm.FullName)); } } } return (long)eltId; } internal static long GetPerfElementID(object element) { return GetPerfElementID2(element, string.Empty); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeSystem.cs
- WithStatement.cs
- BitmapData.cs
- TrustManager.cs
- ListViewUpdatedEventArgs.cs
- RepeaterItemCollection.cs
- Table.cs
- MachineKey.cs
- ZipIOCentralDirectoryBlock.cs
- GlyphTypeface.cs
- ModifierKeysConverter.cs
- JsonServiceDocumentSerializer.cs
- ReferenceEqualityComparer.cs
- VariantWrapper.cs
- CodeStatement.cs
- XmlEventCache.cs
- Operand.cs
- MatrixValueSerializer.cs
- SqlUserDefinedTypeAttribute.cs
- BooleanToVisibilityConverter.cs
- FixedSOMGroup.cs
- Multiply.cs
- DesignerDataSourceView.cs
- SqlPersistenceProviderFactory.cs
- CurrentChangingEventManager.cs
- CompilerParameters.cs
- FormsAuthenticationTicket.cs
- ToolStripDropDownMenu.cs
- DisplayNameAttribute.cs
- RsaSecurityTokenAuthenticator.cs
- LightweightCodeGenerator.cs
- DataGridViewSelectedRowCollection.cs
- SectionVisual.cs
- RegionIterator.cs
- HttpRequestMessageProperty.cs
- DirectionalLight.cs
- DataGridView.cs
- PackagePart.cs
- WebBrowserUriTypeConverter.cs
- DecoratedNameAttribute.cs
- IisTraceListener.cs
- ImageDrawing.cs
- ExpressionVisitor.cs
- xmlsaver.cs
- SqlPersistenceProviderFactory.cs
- OutputBuffer.cs
- TreeViewImageKeyConverter.cs
- FunctionQuery.cs
- XmlSchemaParticle.cs
- ExceptionHandler.cs
- StrokeNodeOperations2.cs
- RootNamespaceAttribute.cs
- AdjustableArrowCap.cs
- ConditionBrowserDialog.cs
- HyperLinkStyle.cs
- SingleConverter.cs
- XamlTreeBuilderBamlRecordWriter.cs
- BamlReader.cs
- UnescapedXmlDiagnosticData.cs
- _LocalDataStoreMgr.cs
- ApplicationContext.cs
- StrokeFIndices.cs
- DbProviderServices.cs
- WebPartConnectionsCancelVerb.cs
- AnyAllSearchOperator.cs
- MostlySingletonList.cs
- ModelProperty.cs
- CLSCompliantAttribute.cs
- ParserContext.cs
- NextPreviousPagerField.cs
- AuthenticationException.cs
- ValuePattern.cs
- EntryWrittenEventArgs.cs
- TextEditorCharacters.cs
- DiscreteKeyFrames.cs
- SpecialNameAttribute.cs
- ToolboxItem.cs
- ContainerFilterService.cs
- StringDictionary.cs
- NativeWindow.cs
- OptimalTextSource.cs
- ControlBindingsCollection.cs
- KeySpline.cs
- PathFigureCollection.cs
- CustomError.cs
- SpotLight.cs
- SessionParameter.cs
- ToolStripSettings.cs
- AsyncResult.cs
- PenLineCapValidation.cs
- DesignerHelpers.cs
- XPathNavigator.cs
- DataGridGeneralPage.cs
- ListViewAutomationPeer.cs
- PagesChangedEventArgs.cs
- XmlEventCache.cs
- ObjectDataProvider.cs
- TypeUsageBuilder.cs
- ElementUtil.cs