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
- SourceSwitch.cs
- RelationshipNavigation.cs
- WebPartsSection.cs
- MultiSelector.cs
- UserControlAutomationPeer.cs
- SoapHeaderAttribute.cs
- ICollection.cs
- CharacterShapingProperties.cs
- Base64Decoder.cs
- SingleAnimationBase.cs
- TypeDescriptor.cs
- ExpandSegmentCollection.cs
- ContextMenuStripGroupCollection.cs
- Camera.cs
- SelectionRange.cs
- InputEventArgs.cs
- XsdCachingReader.cs
- NumericUpDown.cs
- CaseKeyBox.xaml.cs
- FormViewUpdatedEventArgs.cs
- LinqDataSourceInsertEventArgs.cs
- DataFormat.cs
- ContainsRowNumberChecker.cs
- LinkDesigner.cs
- EncryptedKey.cs
- UdpRetransmissionSettings.cs
- WindowsTreeView.cs
- NullableConverter.cs
- ApplicationBuildProvider.cs
- FileVersionInfo.cs
- ConstraintEnumerator.cs
- ContourSegment.cs
- WorkflowHostingResponseContext.cs
- WebPartConnectionsCancelEventArgs.cs
- SubpageParagraph.cs
- GACMembershipCondition.cs
- LogWriteRestartAreaState.cs
- FileSystemEnumerable.cs
- XPathDocumentIterator.cs
- SQLUtility.cs
- IntPtr.cs
- SafeBitVector32.cs
- HttpStreamMessage.cs
- BackoffTimeoutHelper.cs
- StrokeCollectionConverter.cs
- SecurityElement.cs
- SimpleRecyclingCache.cs
- AttributeData.cs
- NegatedCellConstant.cs
- TraceRecord.cs
- FlagsAttribute.cs
- PrintController.cs
- GregorianCalendarHelper.cs
- XmlDataContract.cs
- GetWinFXPath.cs
- ParserContext.cs
- CatalogPartChrome.cs
- BooleanProjectedSlot.cs
- DataGridBoolColumn.cs
- PagerSettings.cs
- OpacityConverter.cs
- SendingRequestEventArgs.cs
- TaskFormBase.cs
- XmlSerializationReader.cs
- SystemIPv4InterfaceProperties.cs
- XmlNodeReader.cs
- IHttpResponseInternal.cs
- ShortcutKeysEditor.cs
- Panel.cs
- XmlElementList.cs
- DataGridViewMethods.cs
- DataGridHeaderBorder.cs
- EditingCoordinator.cs
- ValueExpressions.cs
- InputLanguage.cs
- ISAPIRuntime.cs
- TextMarkerSource.cs
- XmlText.cs
- NativeActivityContext.cs
- ParallelDesigner.xaml.cs
- TimerEventSubscription.cs
- ChildDocumentBlock.cs
- QueryableFilterUserControl.cs
- XPathAncestorIterator.cs
- PartitionResolver.cs
- HttpCookieCollection.cs
- SchemaMerger.cs
- ProfilePropertySettingsCollection.cs
- BaseServiceProvider.cs
- ConstantSlot.cs
- ToolStripCollectionEditor.cs
- _NtlmClient.cs
- Console.cs
- EnumerableRowCollectionExtensions.cs
- PostBackOptions.cs
- DbTransaction.cs
- WebBrowserContainer.cs
- HtmlForm.cs
- GenericAuthenticationEventArgs.cs
- StorageFunctionMapping.cs