Export (0) Print
Expand All
Expand Minimize
11 out of 15 rated this helpful - Rate this topic

System.Diagnostics Namespace

The System.Diagnostics namespace provides classes that allow you to interact with system processes, event logs, and performance counters.

  • The EventLog component provides functionality to write to event logs, read event log entries, and create and delete event logs and event sources on the network. The EntryWrittenEventHandler provides a way to interact with event logs asynchronously. Supporting classes provide access to more detailed control, including: permission restrictions, the ability to specify event log types (which controls the type of default data that is written with an event log entry), and iterate through collections of event log entries. For more information about these tasks, see the EventLogPermission, EventLogEntryType, and EventLogEntryCollection classes.

  • The Process class provides functionality to monitor system processes across the network, and to start and stop local system processes. In addition to retrieving lists of running processes (by specifying either the computer, the process name, or the process id) or viewing information about the process that currently has access to the processor, you can get detailed knowledge of process threads and modules both through the Process class itself, and by interacting with the ProcessThread and ProcessModule classes. The ProcessStartInfo class enables you to specify a variety of elements with which to start a new process, such as input, output, and error streams, working directories, and command line verbs and arguments. These give you fine control over the behavior of your processes. Other related classes let you specify window styles, process and thread priorities, and interact with collections of threads and modules.

  • The PerformanceCounter class enables you to monitor system performance, while the PerformanceCounterCategory class provides a way to create new custom counters and categories. You can write to local custom counters and read from both local and remote counters (system as well as custom). You can sample counters using the PerformanceCounter class, and calculate results from successive performance counter samples using the CounterSample class. The CounterCreationData class enables you to create multiple counters in a category and specify their types. Other classes associated with the performance counter component provide access to collections of counters, counter permission, and counter types.

The System.Diagnostics namespace also provides classes that allow you to debug your application and to trace the execution of your code. For more information, see the Trace and Debug classes.

  Class Description
Public class BooleanSwitch Provides a simple on/off switch that controls debugging and tracing output.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps ConditionalAttribute Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined.
Public class ConsoleTraceListener Directs tracing or debugging output to either the standard output or the standard error stream.
Public class CorrelationManager Correlates traces that are part of a logical transaction.
Public class CounterCreationData Defines the counter type, name, and Help string for a custom counter.
Public class CounterCreationDataCollection Provides a strongly typed collection of CounterCreationData objects.
Public class CounterSampleCalculator Provides a set of utility functions for interpreting performance counter data.
Public class DataReceivedEventArgs Provides data for the OutputDataReceived and ErrorDataReceived events.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps Debug Provides a set of methods and properties that help debug your code. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggableAttribute Modifies code generation for runtime just-in-time (JIT) debugging. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps Debugger Enables communication with a debugger. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggerBrowsableAttribute Determines if and how a member is displayed in the debugger variable windows. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggerDisplayAttribute Determines how a class or field is displayed in the debugger variable windows.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggerHiddenAttribute Specifies the DebuggerHiddenAttribute. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggerNonUserCodeAttribute Identifies a type or member that is not part of the user code for an application.
Public class DebuggerStepperBoundaryAttribute Indicates the code following the attribute is to be executed in run, not step, mode.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggerStepThroughAttribute Instructs the debugger to step through the code instead of stepping into the code. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggerTypeProxyAttribute Specifies the display proxy for a type.
Public class DebuggerVisualizerAttribute Specifies that the type has a visualizer. This class cannot be inherited.
Public class DefaultTraceListener Provides the default output methods and behavior for tracing.
Public class DelimitedListTraceListener Directs tracing or debugging output to a text writer, such as a stream writer, or to a stream, such as a file stream.
Public class DiagnosticsConfigurationHandler Infrastructure. Obsolete. Handles the diagnostics section of configuration files.
Public class EntryWrittenEventArgs Provides data for the EntryWritten event.
Public class EventInstance Represents language-neutral information for an event log entry.
Public class EventLog Provides interaction with Windows event logs.
Public class EventLogEntry Encapsulates a single record in the event log. This class cannot be inherited.
Public class EventLogEntryCollection Defines size and enumerators for a collection of EventLogEntry instances.
Public class EventLogInstaller Allows you to install and configure an event log that your application reads from or writes to when running.
Public class EventLogPermission Controls code access permissions for event logging.
Public class EventLogPermissionAttribute Allows declaritive permission checks for event logging.
Public class EventLogPermissionEntry Defines the smallest unit of a code access security permission that is set for an EventLog.
Public class EventLogPermissionEntryCollection Contains a strongly typed collection of EventLogPermissionEntry objects.
Public class EventLogTraceListener Provides a simple listener that directs tracing or debugging output to an EventLog.
Public class EventSchemaTraceListener Directs tracing or debugging output of end-to-end events to an XML-encoded, schema-compliant log file.
Public class EventSourceCreationData Represents the configuration settings used to create an event log source on the local computer or a remote computer.
Public class EventTypeFilter Indicates whether a listener should trace based on the event type.
Public class FileVersionInfo Provides version information for a physical file on disk.
Public class InstanceData Holds instance data associated with a performance counter sample.
Public class InstanceDataCollection Provides a strongly typed collection of InstanceData objects.
Public class InstanceDataCollectionCollection Provides a strongly typed collection of InstanceDataCollection objects.
Public class MonitoringDescriptionAttribute Specifies a description for a property or event.
Public class PerformanceCounter Represents a Windows NT performance counter component.
Public class PerformanceCounterCategory Represents a performance object, which defines a category of performance counters.
Public class PerformanceCounterInstaller Specifies an installer for the PerformanceCounter component.
Public class PerformanceCounterManager Infrastructure. Obsolete. Prepares performance data for the performance.dll the system loads when working with performance counters.
Public class PerformanceCounterPermission Allows control of code access permissions for PerformanceCounter.
Public class PerformanceCounterPermissionAttribute Allows declaritive performance counter permission checks.
Public class PerformanceCounterPermissionEntry Defines the smallest unit of a code access security permission that is set for a PerformanceCounter.
Public class PerformanceCounterPermissionEntryCollection Contains a strongly typed collection of PerformanceCounterPermissionEntry objects.
Public class PresentationTraceSources Provides debug tracing support that is specifically targeted for Windows Presentation Foundation (WPF) applications.
Public class Process Provides access to local and remote processes and enables you to start and stop local system processes.To browse the .NET Framework source code for this type, see the Reference Source.
Public class ProcessModule Represents a.dll or .exe file that is loaded into a particular process.
Public class ProcessModuleCollection Provides a strongly typed collection of ProcessModule objects.
Public class ProcessStartInfo Specifies a set of values that are used when you start a process.
Public class ProcessThread Represents an operating system process thread.
Public class ProcessThreadCollection Provides a strongly typed collection of ProcessThread objects.
Public class SourceFilter Indicates whether a listener should trace a message based on the source of a trace.
Public class SourceSwitch Provides a multilevel switch to control tracing and debug output without recompiling your code.
Public class StackFrame Provides information about a StackFrame, which represents a function call on the call stack for the current thread.
Public class StackTrace Represents a stack trace, which is an ordered collection of one or more stack frames.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps Stopwatch Provides a set of methods and properties that you can use to accurately measure elapsed time.To browse the .NET Framework source code for this type, see the Reference Source.
Public class Switch Provides an abstract base class to create new debugging and tracing switches.
Public class SwitchAttribute Identifies a switch used in an assembly, class, or member.
Public class SwitchLevelAttribute Identifies the level type for a switch.
Public class TextWriterTraceListener Directs tracing or debugging output to a TextWriter or to a Stream, such as FileStream.
Public class Trace Provides a set of methods and properties that help you trace the execution of your code. This class cannot be inherited.
Public class TraceEventCache Provides trace event data specific to a thread and a process.
Public class TraceFilter Provides the base class for trace filter implementations.
Public class TraceListener Provides the abstract base class for the listeners who monitor trace and debug output.
Public class TraceListenerCollection Provides a thread-safe list of TraceListener objects.
Public class TraceSource Provides a set of methods and properties that enable applications to trace the execution of code and associate trace messages with their source.
Public class TraceSwitch Provides a multilevel switch to control tracing and debug output without recompiling your code.
Public class UnescapedXmlDiagnosticData Provides unescaped XML data for the logging of user-provided trace data.
Public class XmlWriterTraceListener Directs tracing or debugging output as XML-encoded data to a TextWriter or to a Stream, such as a FileStream.
  Structure Description
Public structure CounterSample Defines a structure that holds the raw data for a performance counter.
  Interface Description
Public interface ICollectData Infrastructure. Prepares performance data for the performance DLL the system loads when working with performance counters.
  Delegate Description
Public delegate DataReceivedEventHandler Represents the method that will handle the OutputDataReceived event or ErrorDataReceived event of a Process.
Public delegate EntryWrittenEventHandler Represents the method that will handle the EntryWritten event of an EventLog.
  Enumeration Description
Public enumeration Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggableAttribute.DebuggingModes Specifies the debugging mode for the just-in-time (JIT) compiler.
Public enumeration Supported by Portable Class Library Supported in .NET for Windows Store apps DebuggerBrowsableState Provides display instructions for the debugger.
Public enumeration EventLogEntryType Specifies the event type of an event log entry.
Public enumeration EventLogPermissionAccess Defines access levels used by EventLog permission classes.
Public enumeration OverflowAction Specifies how to handle entries in an event log that has reached its maximum file size.
Public enumeration PerformanceCounterCategoryType Indicates whether the performance counter category can have multiple instances.
Public enumeration PerformanceCounterInstanceLifetime Specifies the lifetime of a performance counter instance.
Public enumeration PerformanceCounterPermissionAccess Defines access levels used by PerformanceCounter permission classes.
Public enumeration PerformanceCounterType Specifies the formula used to calculate the NextValue method for a PerformanceCounter instance.
Public enumeration PresentationTraceLevel Describes the level of detail to trace about a particular object.
Public enumeration ProcessPriorityClass Indicates the priority that the system associates with a process. This value, together with the priority value of each thread of the process, determines each thread's base priority level.
Public enumeration ProcessWindowStyle Specified how a new window should appear when the system starts a process.
Public enumeration SourceLevels Specifies the levels of trace messages filtered by the source switch and event type filter.
Public enumeration ThreadPriorityLevel Specifies the priority level of a thread.
Public enumeration ThreadState Specifies the current execution state of the thread.
Public enumeration ThreadWaitReason Specifies the reason a thread is waiting.
Public enumeration TraceEventType Identifies the type of event that has caused the trace.
Public enumeration TraceLevel Specifies what messages to output for the Debug, Trace and TraceSwitch classes.
Public enumeration TraceLogRetentionOption Specifies the file structure that will be used for the EventSchemaTraceListener log.
Public enumeration TraceOptions Specifies trace data options to be written to the trace output.
Show:
© 2014 Microsoft. All rights reserved.