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
- AccessDataSource.cs
- CachedRequestParams.cs
- SchemaTableColumn.cs
- HwndProxyElementProvider.cs
- HitTestResult.cs
- RequiredAttributeAttribute.cs
- Identifier.cs
- ReadOnlyActivityGlyph.cs
- SymbolUsageManager.cs
- StylusPlugInCollection.cs
- EditBehavior.cs
- BufferedResponseStream.cs
- _SafeNetHandles.cs
- CqlGenerator.cs
- GridView.cs
- Transactions.cs
- Closure.cs
- GPRECT.cs
- SystemResourceHost.cs
- ZipFileInfo.cs
- ToolboxItemWrapper.cs
- PreservationFileReader.cs
- RegexGroupCollection.cs
- UnmanagedMemoryStream.cs
- EmbeddedMailObjectsCollection.cs
- SkewTransform.cs
- MimeTypeAttribute.cs
- VerticalAlignConverter.cs
- Vector3D.cs
- ToolStripContentPanelRenderEventArgs.cs
- MethodBuilderInstantiation.cs
- SessionEndingCancelEventArgs.cs
- RightsManagementEncryptionTransform.cs
- XmlDataCollection.cs
- XmlILConstructAnalyzer.cs
- AdjustableArrowCap.cs
- AvTraceDetails.cs
- httpapplicationstate.cs
- DetailsViewInsertedEventArgs.cs
- ClientSideProviderDescription.cs
- PreProcessor.cs
- QueryExtender.cs
- _SafeNetHandles.cs
- ProfilePropertyMetadata.cs
- UnmanagedMemoryStreamWrapper.cs
- DbParameterCollectionHelper.cs
- OuterProxyWrapper.cs
- AttributeParameterInfo.cs
- GridViewCommandEventArgs.cs
- ToolStripItemCollection.cs
- StaticSiteMapProvider.cs
- VisualBasicSettingsConverter.cs
- COM2Properties.cs
- UnicodeEncoding.cs
- _AutoWebProxyScriptHelper.cs
- ProxyWebPartConnectionCollection.cs
- GridPatternIdentifiers.cs
- QueryCacheManager.cs
- PixelFormats.cs
- HWStack.cs
- TabControlEvent.cs
- SecurityToken.cs
- XslVisitor.cs
- TextLineBreak.cs
- UserControlFileEditor.cs
- WebConfigurationHostFileChange.cs
- SelectedDatesCollection.cs
- CounterSample.cs
- CachedFontFace.cs
- CodeEventReferenceExpression.cs
- indexingfiltermarshaler.cs
- TemplatePagerField.cs
- SudsParser.cs
- WebPartEditVerb.cs
- HostedHttpContext.cs
- Crc32.cs
- DataSourceControl.cs
- RenderCapability.cs
- PreservationFileWriter.cs
- ProviderConnectionPoint.cs
- PartBasedPackageProperties.cs
- _HTTPDateParse.cs
- PaperSize.cs
- MethodSet.cs
- ThrowHelper.cs
- xsdvalidator.cs
- DataViewSettingCollection.cs
- UTF32Encoding.cs
- DirectoryObjectSecurity.cs
- RegisteredArrayDeclaration.cs
- InvokeGenerator.cs
- SqlFacetAttribute.cs
- XsltFunctions.cs
- KeyToListMap.cs
- ExternalDataExchangeClient.cs
- errorpatternmatcher.cs
- GetFileNameResult.cs
- TextUtf8RawTextWriter.cs
- ExpandedWrapper.cs
- CodeNamespaceImport.cs