Я добавил счетчики производительности в свое приложение для
независимо от того, происходит ли операция раз или нет.
Но теперь я хочу отменить это.
Можно ли отменить регистрацию, удалить его.
Я использовал эти счетчики в C #.
Класс, который создает категорию производительности и
добавляет счетчики к нему.
using System;
using System.Diagnostics;
namespace GroupChatLibrarySamples
{
///<summary>
///Helper class to demonstrate the setup of performance counters.
///</summary>
public class PerformanceCounterHelper
{
//Total number of tests executed
private PerformanceCounter _TotalFiles = null;
/// <summary>
/// Constructor
/// </summary>
public PerformanceCounterHelper()
{
// Set up the performance counter(s)
if (!PerformanceCounterCategory.Exists("Total_Files","."))
{
//Create the collection container
CounterCreationDataCollection counters = new CounterCreationDataCollection();
////Create counter #1 and add it to the collection
CounterCreationData tests = new CounterCreationData();
tests.CounterName = "Total_Files_Sent";
tests.CounterHelp = "Total number of Files Sent";
tests.CounterType = PerformanceCounterType.NumberOfItems32;
counters.Add(tests);
//Create the category and all of the counters.
PerformanceCounterCategory.Create("Total_Files", "Performance Counter for checking no of files sent", counters);
}
try
{
_TotalFiles = new PerformanceCounter();
_TotalFiles.CategoryName = "Total_Files";
_TotalFiles.CounterName = "Total_Files_Sent";
_TotalFiles.MachineName = ".";
_TotalFiles.ReadOnly = false;
}
catch (Exception e)
{
Console.WriteLine(" {0} \n", e.StackTrace);
}
}
public void IncrementCounters()
{
_TotalFiles.Increment();
}
}
}
Код увеличения счетчика:
private void BeginSendFilesFinished(IAsyncResult ar)
{
currentOperation.End("BeginSendFilesFinished", () => session.EndUploadFile(ar));
Console.WriteLine(" File Count : {0} \n", listoffiles.Count);
if(sentFiles < (listoffiles.Count-1))
{
sentFiles++;
string SampleFile = listoffiles[sentFiles].ToString();
FileInfo filetoupload = new FileInfo(SampleFile);
ChatRoomFileUploadJob uploadfilejob = new ChatRoomFileUploadJob(filetoupload);
counterHelper.IncrementCounters();
currentOperation.Begin(string.Format("Send Files: # {0}", sentFiles), () => session.BeginUploadFile(uploadfilejob, BeginSendFilesFinished, null));
}
else
{
Log("Leave ChatRoom:");
// After sending 10 chat msgs, leave the chat room (and rejoin).
currentOperation.Begin("Leave ChatRoom:", () => session.BeginLeave(BeginLeaveChatRoomFinished, null));
}
}
Спасибо и С уважением,
Tazim.