El componente EventLog proporciona la funcionalidad para escribir en registros de eventos, leer las entradas de los registros de eventos y crear y eliminar registros de eventos y orígenes de eventos en la red. EntryWrittenEventHandler proporciona una forma para interactuar con los registros de eventos de manera asincrónica. Las clases compatibles proporcionan acceso a un control más pormenorizado: restricciones de permisos, capacidad de especificar tipos de registros de eventos (que controla el tipo de datos predeterminados que se escriben con una entrada de registro de eventos) y la capacidad de recorrer en iteración las colecciones de entradas de registros de eventos. Para obtener más información sobre estas tareas, vea las clases EventLogPermission, EventLogEntryType y EventLogEntryCollection.
La clase Process proporciona funcionalidad para supervisar los procesos de sistema en toda la red y para iniciar y detener procesos del sistema local. Además de recuperar listas de procesos en ejecución (especificando el equipo, el nombre del proceso o el identificador del proceso) y de ver la información sobre el proceso que tiene acceso al procesador actualmente, se puede obtener información detallada sobre los subprocesos y módulos del proceso mediante la propia clase Process y a través de la interacción con las clases ProcessThread y ProcessModule. La clase ProcessStartInfo permite especificar varios elementos con los que iniciar un nuevo proceso, por ejemplo secuencias de entrada, salida y error, directorios de trabajo y verbos y argumentos de la línea de comandos. Todos ellos proporcionan un control adecuado sobre el comportamiento de los procesos. Otras clases relacionadas permiten especificar estilos de ventana, prioridades de procesos y subprocesos y, también, interactuar con colecciones de subprocesos y módulos.
La clase PerformanceCounter permite supervisar el rendimiento del sistema, mientras que la clase PerformanceCounterCategory proporciona la manera de crear nuevos contadores y categorías personalizados. Se puede escribir en contadores personalizados locales y leer de contadores locales y remotos, tanto del sistema como personalizados. Se pueden hacer pruebas de los contadores con la clase PerformanceCounter y calcular los resultados a partir de pruebas sucesivas de contadores de rendimiento con la clase CounterSample. La clase CounterCreationData permite crear varios contadores en una categoría y definir el tipo al que pertenecen. Otras clases asociadas con el componente de contador de rendimiento proporcionan acceso a colecciones, permisos y tipos de contadores.
El espacio de nombres System.Diagnostics proporciona también clases que permiten depurar la aplicación y hacer un seguimiento de la ejecución del código. Para obtener más información, vea las clases Trace y Debug.