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
- MembershipSection.cs
- AsymmetricSignatureDeformatter.cs
- InteropAutomationProvider.cs
- PermissionRequestEvidence.cs
- sitestring.cs
- AmbientValueAttribute.cs
- PageThemeParser.cs
- FlowLayoutPanelDesigner.cs
- BooleanStorage.cs
- GenericNameHandler.cs
- Pair.cs
- InternalBufferOverflowException.cs
- NodeCounter.cs
- AssemblyHash.cs
- TouchesOverProperty.cs
- NotifyCollectionChangedEventArgs.cs
- DataGridViewToolTip.cs
- ContainerFilterService.cs
- SetStoryboardSpeedRatio.cs
- NameSpaceEvent.cs
- PropertyGridView.cs
- PropertyChangedEventManager.cs
- DaylightTime.cs
- ItemsPanelTemplate.cs
- ByteConverter.cs
- GeometryGroup.cs
- UnorderedHashRepartitionStream.cs
- IdnMapping.cs
- XmlEnumAttribute.cs
- RouteItem.cs
- CategoryNameCollection.cs
- ObjectDataProvider.cs
- ClientConvert.cs
- DurableRuntimeValidator.cs
- DataObject.cs
- SchemeSettingElement.cs
- ISFTagAndGuidCache.cs
- XmlNodeWriter.cs
- FlowPosition.cs
- StringArrayConverter.cs
- ContextMarshalException.cs
- SymmetricSecurityProtocol.cs
- TransactionManager.cs
- QueryTask.cs
- FramingEncoders.cs
- ProxyWebPartConnectionCollection.cs
- EditorZone.cs
- WindowsListViewGroupHelper.cs
- NetCodeGroup.cs
- SocketPermission.cs
- ConfigurationException.cs
- GlyphElement.cs
- Sorting.cs
- WebConfigurationManager.cs
- Splitter.cs
- PersonalizationState.cs
- EdmFunctionAttribute.cs
- TextTreeObjectNode.cs
- OuterGlowBitmapEffect.cs
- XmlDataProvider.cs
- ClientFormsIdentity.cs
- DataGridViewCellLinkedList.cs
- PreservationFileReader.cs
- FrameworkContextData.cs
- WebPartManagerInternals.cs
- FixedSOMLineCollection.cs
- FrameworkObject.cs
- Trace.cs
- XmlAttributeAttribute.cs
- ViewCellRelation.cs
- FileSystemWatcher.cs
- SupportsEventValidationAttribute.cs
- FacetDescription.cs
- MimeMultiPart.cs
- LayoutManager.cs
- AssociationTypeEmitter.cs
- SimpleWorkerRequest.cs
- sqlcontext.cs
- MatrixTransform.cs
- StrokeNodeData.cs
- AddInDeploymentState.cs
- FormViewDeleteEventArgs.cs
- AdCreatedEventArgs.cs
- Latin1Encoding.cs
- SafeRegistryHandle.cs
- LogicalExpressionTypeConverter.cs
- ErrorEventArgs.cs
- Decimal.cs
- CodeSnippetTypeMember.cs
- WindowsStatusBar.cs
- BamlRecordWriter.cs
- SpellCheck.cs
- WebPartVerb.cs
- ResourceExpression.cs
- ClientOptions.cs
- EventManager.cs
- TableDesigner.cs
- PanelDesigner.cs
- ProxyElement.cs
- DayRenderEvent.cs