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
- ConvertersCollection.cs
- X509Certificate2Collection.cs
- TraversalRequest.cs
- TextCompositionEventArgs.cs
- ResXFileRef.cs
- FloaterBaseParaClient.cs
- StatusBarPanelClickEvent.cs
- PocoPropertyAccessorStrategy.cs
- InvalidWMPVersionException.cs
- ConditionValidator.cs
- ToolStripItemClickedEventArgs.cs
- CollectionViewSource.cs
- _OSSOCK.cs
- AsyncResult.cs
- WorkflowInstanceTerminatedRecord.cs
- ImageCreator.cs
- TypeUtil.cs
- ValidationSummary.cs
- VisualStyleInformation.cs
- BinaryMethodMessage.cs
- XpsDocumentEvent.cs
- ForwardPositionQuery.cs
- JsonFormatGeneratorStatics.cs
- SchemaImporter.cs
- User.cs
- XamlToRtfParser.cs
- PreviousTrackingServiceAttribute.cs
- LexicalChunk.cs
- EventLog.cs
- SerializationSectionGroup.cs
- BuilderPropertyEntry.cs
- SamlEvidence.cs
- ProfileService.cs
- ReversePositionQuery.cs
- WebPart.cs
- GridViewCellAutomationPeer.cs
- GenericTypeParameterConverter.cs
- SystemWebSectionGroup.cs
- X509CertificateCollection.cs
- WebPartManager.cs
- InstallerTypeAttribute.cs
- TableCell.cs
- CharConverter.cs
- RegexCaptureCollection.cs
- DatatypeImplementation.cs
- StringOutput.cs
- InputBindingCollection.cs
- GenericQueueSurrogate.cs
- HwndHostAutomationPeer.cs
- FileAuthorizationModule.cs
- AccessedThroughPropertyAttribute.cs
- Stacktrace.cs
- XmlExceptionHelper.cs
- XPathSelfQuery.cs
- OLEDB_Enum.cs
- GetLedgerRequest.cs
- TypeExtensionConverter.cs
- ScrollChangedEventArgs.cs
- MachineKeySection.cs
- DependentList.cs
- SchemaDeclBase.cs
- DbConnectionPool.cs
- ParentQuery.cs
- HTMLTextWriter.cs
- XamlFilter.cs
- UdpDiscoveryMessageFilter.cs
- Panel.cs
- IsolatedStorageFileStream.cs
- BamlMapTable.cs
- IInstanceContextProvider.cs
- ListViewInsertedEventArgs.cs
- DecoderFallbackWithFailureFlag.cs
- NumericPagerField.cs
- CustomAttributeFormatException.cs
- EventlogProvider.cs
- DataGridViewCellLinkedList.cs
- HttpDebugHandler.cs
- ScalarConstant.cs
- CellRelation.cs
- PatternMatcher.cs
- SymbolResolver.cs
- Rss20FeedFormatter.cs
- TabControlCancelEvent.cs
- EventLogPermission.cs
- SortAction.cs
- CurrencyManager.cs
- PathStreamGeometryContext.cs
- RangeValueProviderWrapper.cs
- ClientRuntime.cs
- StateBag.cs
- RuntimeHandles.cs
- SqlUtils.cs
- WebScriptEnablingElement.cs
- HashRepartitionEnumerator.cs
- HttpApplicationFactory.cs
- IisTraceListener.cs
- SecurityDescriptor.cs
- CompareValidator.cs
- ComAdminInterfaces.cs
- Hash.cs