Private Sub MyTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyTimer.Tick Try Dim Status As Boolean = False MyTimer.Interval = 1500 counter = counter + 1 If DatePart("n", TimeOfDay) Mod 10 = 0 And Status = False Then readFolder() Status = True Else
If DatePart("n", TimeOfDay) Mod 10 <> 0 Then If Status = True Then Status = False End If End If
End If
If MyTxtBx.Text.Length > 10 Then MyTxtBx.Clear() End If MyTxtBx.AppendText(vbNewLine & counter)
Me.Focus() If counter > 5 Then counter = 0
MyTimer.Enabled = True Catch ex As Exception ErrorLog("Timer Function", Err.Description, Err.Source) End Try
End Sub
|
| Author: harjit 01 Oct 2009 | Member Level: Bronze Points : 2 |
System.Diagnostics namespace provides classes which we can use to create and manipulate custom performance counters. Given below are the steps which we typically use for this purpose.
Create a collection of type CounterCreationDataCollection. Create the counters you want to create as objects of type CounterCreationData and set their necessary properties. Add the CounterCreationData objects to the collection by calling the collection's Add method. Call the Create method on the PerformanceCounterCategory class and pass the collection to it.
'Assumes import statement for System.Diagnostics.dll Dim CounterDatas As New System.Diagnostics.CounterCreationDataCollection()
'Create the counters and set their properties. Dim cdCounter1 As New System.Diagnostics.CounterCreationData() Dim cdCounter2 As New System.Diagnostics.CounterCreationData()
cdCounter1.CounterName = "Transactions Active" cdCounter1.CounterHelp = "Indicates number of active transactions" cdCounter1.CounterType = Diagnostics.PerformanceCounterType.NumberOfItems64 cdCounter2.CounterName = "Users Logged on" cdCounter2.CounterHelp = "Gives the number of users logged on to the " _ & "application" cdCounter2.CounterType = Diagnostics.PerformanceCounterType.NumberOfItems64
'Add both counters to the collection. CounterDatas.Add(cdCounter1) CounterDatas.Add(cdCounter2)
'Create the category and pass the collection to it. PerformanceCounterCategory.Create("Accounting", _ "A set of counters for the accounting application", CounterDatas)
If you need to create a category with just one performance counter, you can use the overload of the Create method as follows:
PerformanceCounterCategory.Create("Accounting", _ "A set of counters for the accounting application", _ "Transactions Active","Gives number of transactions being processed")
There are a few things to consider regarding custom performance counters.
You cannot create custom categories and counters on remote machines. Our interaction with custom counters and categories is restricted to read-only mode unless you explicitly specify otherwise. By default the counters created under server explorer are read only and under read-only mode you cannot update the value of the counter. To create custom counters on the local computer you need administrative access. You cannot create new counters within existing custom categories. If you need to add counters to categories that already exist, the only way you can do so is to delete the category and recreate it with all of its contents, including the new counters you want to add. If you try to create a counter that already exists, an error would be thrown. You can check the existence of a counter before you create one. For example:
If Not (PerformanceCounterCategory.Exists("MyCat")) Then PerformanceCounterCategory.Create("MyCat", "Desc", "MyCtr", "Desc") End If
|