# PerformanceCounter

URL: https://docs.wisej.com/docs/controls/other-components/performancecounter

The Wisej.NET `PerformanceCounter` component enables reading predefined or custom performance counters and publishing data to custom counters through Windows Performance Monitor.

info
The `PerformanceCounter` implements `IDisposable` . Always dispose of it either:
- Directly: Call `Dispose()` in a try/catch block
- Indirectly: Use language constructs like `using` (C#) or `Using` (VB)

## Features

### Counter Types

Two main usage scenarios:

- Read existing predefined or custom counters
- Publish (write) performance data to custom counters

### Predefined Counters

Access numerous predefined counters through Windows Performance Monitor's [Add Counters dialog box](https://go.microsoft.com/fwlink/p/?LinkId=257854) .

info
For detailed information about performance monitoring, see:
- [.NET Framework Performance Counters](https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/performance-counters)
- [System.Diagnostics.PerformanceCounter on MSDN](https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.performancecounter?view=net-5.0)
- [Using Objects that Implement IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable?view=net-5.0)
