Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Diagnostics / DefaultPerformanceCounters.cs / 1 / DefaultPerformanceCounters.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Diagnostics { using System.Collections.Generic; using System.ServiceModel.Channels; using System.ServiceModel; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.ServiceModel.Administration; using System.ServiceModel.Diagnostics; using System.Globalization; using System.Runtime.InteropServices; internal class DefaultPerformanceCounters : PerformanceCountersBase { string instanceName; PerformanceCounter[] counters; enum PerfCounters : int { Instances = 0, TotalCounters = Instances + 1 } string[] perfCounterNames = { PerformanceCounterStrings.SERVICEMODELSERVICE.SInstances, }; const int maxCounterLength = 64; const int hashLength = 2; [Flags] enum truncOptions : uint { NoBits = 0, service32 = 0x01, uri31 = 0x04 } internal override PerformanceCounter[] Counters { get { return this.counters; } set { this.counters = value; } } internal override string InstanceName { get { return this.instanceName; } } internal override string[] CounterNames { get { return this.perfCounterNames; } } internal override int PerfCounterStart { get { return (int)PerfCounters.Instances; } } internal override int PerfCounterEnd { get { return (int)PerfCounters.TotalCounters; } } static internal string CreateFriendlyInstanceName(ServiceHostBase serviceHost) { // It is a shared instance across all services which have the default counter enabled return "_WCF_Admin"; } internal DefaultPerformanceCounters(ServiceHostBase serviceHost) { this.instanceName = DefaultPerformanceCounters.CreateFriendlyInstanceName(serviceHost); this.counters = new PerformanceCounter[(int)PerfCounters.TotalCounters]; for (int i = 0; i < (int)PerfCounters.TotalCounters; i++) { PerformanceCounter counter = PerformanceCounters.GetDefaultPerformanceCounter(this.perfCounterNames[i], this.instanceName); if (counter != null) { try { counter.RawValue = 0; this.counters[i] = counter; } #pragma warning suppress 56500 // covered by FxCOP catch (Exception e) { if (ExceptionUtility.IsFatal(e)) throw; if (DiagnosticUtility.ShouldTraceError) TraceUtility.TraceEvent(TraceEventType.Error, TraceCode.PerformanceCountersFailedForService, null, e); break; } } else { break; } } } internal bool Initialized { get { return this.counters != null; } } } } // 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
- TableStyle.cs
- diagnosticsswitches.cs
- InfoCardSchemas.cs
- ISAPIWorkerRequest.cs
- TerminateDesigner.cs
- ManagedIStream.cs
- EmptyQuery.cs
- FrameAutomationPeer.cs
- PersianCalendar.cs
- Int16KeyFrameCollection.cs
- ContentElement.cs
- MsmqIntegrationMessageProperty.cs
- ProjectedSlot.cs
- PageCatalogPartDesigner.cs
- TabControl.cs
- DefaultTextStore.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- WebPartManagerInternals.cs
- Message.cs
- HttpCachePolicyElement.cs
- NativeCppClassAttribute.cs
- EntityDataSourceMemberPath.cs
- ImageListDesigner.cs
- ParseNumbers.cs
- InvalidWorkflowException.cs
- OrderPreservingMergeHelper.cs
- WizardPanel.cs
- ContentOperations.cs
- util.cs
- SiteMapDataSourceDesigner.cs
- DataGridViewRowHeaderCell.cs
- DetailsViewDeletedEventArgs.cs
- IgnoreSectionHandler.cs
- SupportingTokenDuplexChannel.cs
- ManualResetEvent.cs
- OpenFileDialog.cs
- SkewTransform.cs
- AppModelKnownContentFactory.cs
- SafeRightsManagementEnvironmentHandle.cs
- AppearanceEditorPart.cs
- ArgumentNullException.cs
- TextFormatterHost.cs
- ProfilePropertySettingsCollection.cs
- TraceFilter.cs
- ArgumentOutOfRangeException.cs
- FormatSettings.cs
- COM2ComponentEditor.cs
- LicenseContext.cs
- ObjectListComponentEditor.cs
- ProxyWebPartConnectionCollection.cs
- TableLayoutStyleCollection.cs
- DataBoundControlHelper.cs
- SolidColorBrush.cs
- StyleCollection.cs
- CommonProperties.cs
- StylusPointPropertyId.cs
- DeferredRunTextReference.cs
- TcpStreams.cs
- x509utils.cs
- CompModSwitches.cs
- DataGridAddNewRow.cs
- TextLineBreak.cs
- DrawListViewColumnHeaderEventArgs.cs
- DataListItem.cs
- RectAnimationUsingKeyFrames.cs
- DashStyle.cs
- AccessedThroughPropertyAttribute.cs
- ContainerVisual.cs
- SafePointer.cs
- UsernameTokenFactoryCredential.cs
- ColorIndependentAnimationStorage.cs
- UnionCodeGroup.cs
- MSAAWinEventWrap.cs
- XmlSchemaComplexContentExtension.cs
- DifferencingCollection.cs
- LinearGradientBrush.cs
- HttpListenerException.cs
- MultipartIdentifier.cs
- CachingHintValidation.cs
- SecurityKeyType.cs
- WriteStateInfoBase.cs
- BrowserTree.cs
- TheQuery.cs
- MgmtResManager.cs
- QilInvokeEarlyBound.cs
- SourceFileBuildProvider.cs
- Pair.cs
- DataGridViewRowConverter.cs
- HashAlgorithm.cs
- ProgressBarHighlightConverter.cs
- IntranetCredentialPolicy.cs
- ObjectListCommandEventArgs.cs
- SafeBuffer.cs
- DataBindingList.cs
- ExceptionValidationRule.cs
- MissingFieldException.cs
- CompositeCollectionView.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- ActivityCollectionMarkupSerializer.cs
- OperationInfo.cs