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
- SafeSecurityHelper.cs
- TreeViewCancelEvent.cs
- RuntimeConfig.cs
- GridViewSelectEventArgs.cs
- FontNamesConverter.cs
- BinaryNode.cs
- CompilerGeneratedAttribute.cs
- DataGridViewTextBoxColumn.cs
- TextPenaltyModule.cs
- GatewayIPAddressInformationCollection.cs
- MatrixCamera.cs
- MaskedTextBoxDesigner.cs
- XmlNamespaceDeclarationsAttribute.cs
- WindowsRichEdit.cs
- MailWebEventProvider.cs
- ThreadStateException.cs
- StateWorkerRequest.cs
- SqlTopReducer.cs
- _KerberosClient.cs
- GridItem.cs
- RelationshipEndMember.cs
- ADMembershipUser.cs
- Comparer.cs
- SubstitutionDesigner.cs
- WhitespaceRuleReader.cs
- SqlCaseSimplifier.cs
- TypefaceMetricsCache.cs
- ComponentEvent.cs
- coordinatorscratchpad.cs
- ApplicationFileCodeDomTreeGenerator.cs
- InfiniteTimeSpanConverter.cs
- DecimalConverter.cs
- ToolStripItemDesigner.cs
- HttpClientCertificate.cs
- LocalClientSecuritySettingsElement.cs
- SID.cs
- MailAddress.cs
- Paragraph.cs
- TabControlEvent.cs
- CollectionChangeEventArgs.cs
- OciLobLocator.cs
- DoubleConverter.cs
- RealProxy.cs
- updatecommandorderer.cs
- KeyValueSerializer.cs
- DiscoveryServerProtocol.cs
- CalendarData.cs
- TableLayoutPanelCellPosition.cs
- columnmapkeybuilder.cs
- TransactionTable.cs
- ObsoleteAttribute.cs
- InvokeGenerator.cs
- WebConfigurationHost.cs
- EntityProxyFactory.cs
- DataServiceExpressionVisitor.cs
- HMACSHA384.cs
- ZoneIdentityPermission.cs
- Base64Encoding.cs
- PasswordTextNavigator.cs
- FormParameter.cs
- Rule.cs
- HttpRuntime.cs
- ExtentKey.cs
- DifferencingCollection.cs
- AnnouncementService.cs
- MarkupWriter.cs
- CalendarButtonAutomationPeer.cs
- CodeNamespace.cs
- BamlTreeUpdater.cs
- OdbcDataReader.cs
- TableLayoutCellPaintEventArgs.cs
- Zone.cs
- ProviderConnectionPointCollection.cs
- PieceNameHelper.cs
- AddressAccessDeniedException.cs
- ServiceReflector.cs
- PageContentCollection.cs
- clipboard.cs
- XmlQueryContext.cs
- FixedNode.cs
- ValidationManager.cs
- FontSizeConverter.cs
- Thickness.cs
- ConfigUtil.cs
- _IPv6Address.cs
- EventLogLink.cs
- DataRelationCollection.cs
- OrderedDictionary.cs
- Executor.cs
- LabelExpression.cs
- BulletedList.cs
- ComponentResourceKey.cs
- FrameworkContentElement.cs
- ExpandoClass.cs
- AvTrace.cs
- HScrollBar.cs
- CompressStream.cs
- RequiredAttributeAttribute.cs
- EdmType.cs
- DataGridViewSelectedColumnCollection.cs