System.Diagnostics Namespace

Fornece classes que permitem interagir com processos do sistema, logs de eventos e contadores de desempenho.

Classes

Activity

Representa uma operação com contexto a ser usado para registro em log.

ActivityListener

Permite ouvir os eventos de início e interrupção da atividade e dá a oportunidade de decidir a criação de uma atividade para cenários de amostragem.

ActivitySource

Fornece APIs para criar e iniciar Activity objetos e registrar ActivityListener objetos para ouvir os eventos de Activity.

ActivityTagsCollection

ActivityTagsCollection é uma classe de coleção usada para armazenar marcas de rastreamento.

Essa coleção será usada com classes como ActivityEvent e ActivityLink.

Esta coleção se comporta da seguinte maneira:

  • Os itens da coleção serão ordenados de acordo com a forma como são adicionados.
  • Não permita a duplicação de itens com a mesma chave.
  • Ao usar o indexador para armazenar um item na coleção:
    • Se o item tiver uma chave que existia anteriormente na coleção e o valor for null, o item de coleção correspondente à chave será removido da coleção.
    • Se o item tiver uma chave que existia anteriormente na coleção e o valor não for null, o novo valor do item substituirá o valor antigo armazenado na coleção.
    • Caso contrário, o item será adicionado à coleção.
  • O método Add adicionará um novo item à coleção se um item ainda não existir com a mesma chave. Caso contrário, ele gerará uma exceção.
BooleanSwitch

Fornece uma opção simples de ativação/desativação que controla a depuração e a saída de rastreamento.

ConditionalAttribute

Indica aos compiladores que uma chamada de método ou atributo deve ser ignorado, a menos que um símbolo de compilação condicional especificado seja definido.

ConsoleTraceListener

Direciona a saída de rastreamento ou depuração para a saída padrão ou o fluxo de erros padrão.

CorrelationManager

Correlaciona rastreamentos que fazem parte de uma transação lógica.

CounterCreationData

Define o tipo de contador, o nome e a cadeia de caracteres de Ajuda para um contador personalizado.

CounterCreationDataCollection

Fornece uma coleção fortemente tipada de objetos CounterCreationData.

CounterSampleCalculator

Fornece um conjunto de funções de utilitário para interpretar dados de contador de desempenho.

DataReceivedEventArgs

Fornece dados para os eventos OutputDataReceived e ErrorDataReceived.

Debug

Fornece um conjunto de métodos e propriedades que ajudam a depurar seu código.

DebuggableAttribute

Modifica a geração de código para depuração JIT (just-in-time) do runtime. Essa classe não pode ser herdada.

Debugger

Habilita a comunicação com um depurador. Essa classe não pode ser herdada.

DebuggerBrowsableAttribute

Determina se e como um membro é exibido nas janelas de variáveis do depurador. Essa classe não pode ser herdada.

DebuggerDisableUserUnhandledExceptionsAttribute

Se um depurador .NET estiver anexado que dê suporte à API de BreakForUserUnhandledException(Exception), o depurador não interromperá exceções sem tratamento do usuário quando a exceção for capturada por um método com esse atributo, a menos que BreakForUserUnhandledException(Exception) seja chamado.

DebuggerDisplayAttribute

Determina como uma classe ou campo é exibido nas janelas variáveis do depurador.

DebuggerHiddenAttribute

Especifica o DebuggerHiddenAttribute. Essa classe não pode ser herdada.

DebuggerNonUserCodeAttribute

Identifica um tipo ou membro que não faz parte do código do usuário de um aplicativo.

DebuggerStepperBoundaryAttribute

Indica que o código a seguir ao atributo deve ser executado em modo de execução, não de etapa.

DebuggerStepThroughAttribute

Instrui o depurador a percorrer o código em vez de entrar no código. Essa classe não pode ser herdada.

DebuggerTypeProxyAttribute

Especifica o proxy de exibição para um tipo.

DebuggerVisualizerAttribute

Especifica que o tipo tem um visualizador. Essa classe não pode ser herdada.

DefaultTraceListener

Fornece os métodos de saída padrão e o comportamento para rastreamento.

DelimitedListTraceListener

Direciona a saída de rastreamento ou depuração para um gravador de texto, como um gravador de fluxo ou para um fluxo, como um fluxo de arquivos.

DiagnosticListener

Fornece uma implementação da classe de DiagnosticSource abstrata que representa um local nomeado para o qual uma fonte envia suas informações (eventos).

DiagnosticListenerExtensions

Fornece classes que permitem interagir com processos do sistema, logs de eventos e contadores de desempenho.

DiagnosticMethodInfo

Representa informações de diagnóstico sobre um método. As informações fornecidas por essa classe são semelhantes às informações

fornecido por MethodBase mas destina-se a fins de registro em log e rastreamento.

DiagnosticsConfigurationHandler

Manipula a seção de diagnóstico de arquivos de configuração.

DiagnosticSource

Uma classe abstrata que permite que o código seja instrumentado para registro em tempo de produção de conteúdos de dados avançados para consumo dentro do processo instrumentado.

DistributedContextPropagator

Uma implementação de DistributedContextPropagator determina se e como as informações de contexto distribuídas são codificadas e decodificadas à medida que atravessam a rede. A codificação pode ser transportada por qualquer protocolo de rede que dê suporte a pares chave-valor de cadeia de caracteres. Por exemplo, ao usar HTTP, cada par chave-valor é um cabeçalho HTTP. DistributedContextPropagator injeta valores e extrai valores de operadoras como pares chave-valor de cadeia de caracteres.

EntryWrittenEventArgs

Fornece dados para o evento EntryWritten.

EventInstance

Representa informações neutras em idioma para uma entrada de log de eventos.

EventLog

Fornece interação com logs de eventos do Windows.

EventLogEntry

Encapsula um único registro no log de eventos. Essa classe não pode ser herdada.

EventLogEntryCollection

Define tamanho e enumeradores para uma coleção de instâncias de EventLogEntry.

EventLogInstaller

Permite que você instale e configure um log de eventos do qual seu aplicativo lê ou grava ao executar.

EventLogPermission

Controla as permissões de acesso ao código para registro em log de eventos.

EventLogPermissionAttribute

Permite verificações de permissão declarativa para registro em log de eventos.

EventLogPermissionEntry

Define a menor unidade de uma permissão de segurança de acesso de código definida para um EventLog.

EventLogPermissionEntryCollection

Contém uma coleção fortemente tipada de objetos EventLogPermissionEntry.

EventLogTraceListener

Fornece um ouvinte simples que direciona a saída de rastreamento ou depuração para um EventLog.

EventSchemaTraceListener

Direciona a saída de rastreamento ou depuração de eventos de ponta a ponta para um arquivo de log compatível com esquema codificado em XML.

EventSourceCreationData

Representa as configurações usadas para criar uma fonte de log de eventos no computador local ou em um computador remoto.

EventTypeFilter

Indica se um ouvinte deve rastrear com base no tipo de evento.

FileVersionInfo

Fornece informações de versão para um arquivo físico no disco.

InitializingSwitchEventArgs

Fornece dados para o evento Switch.Initializing.

InitializingTraceSourceEventArgs

Fornece dados para o evento TraceSource.Initializing.

InstanceData

Contém dados de instância associados a um exemplo de contador de desempenho.

InstanceDataCollection

Fornece uma coleção fortemente tipada de objetos InstanceData.

InstanceDataCollectionCollection

Fornece uma coleção fortemente tipada de objetos InstanceDataCollection.

MonitoringDescriptionAttribute

Especifica uma descrição para uma propriedade ou evento.

PerformanceCounter

Representa um componente do contador de desempenho do Windows NT.

PerformanceCounterCategory

Representa um objeto de desempenho, que define uma categoria de contadores de desempenho.

PerformanceCounterInstaller

Especifica um instalador para o componente PerformanceCounter.

PerformanceCounterManager

Prepara dados de desempenho para o performance.dll que o sistema carrega ao trabalhar com contadores de desempenho.

PerformanceCounterPermission

Permite o controle de permissões de acesso de código para PerformanceCounter.

PerformanceCounterPermissionAttribute

Permite verificações de permissão do contador de desempenho declarativo.

PerformanceCounterPermissionEntry

Define a menor unidade de uma permissão de segurança de acesso de código definida para um PerformanceCounter.

PerformanceCounterPermissionEntryCollection

Contém uma coleção fortemente tipada de objetos PerformanceCounterPermissionEntry.

PresentationTraceSources

Fornece suporte de rastreamento de depuração direcionado especificamente para aplicativos do WPF (Windows Presentation Foundation).

Process

Fornece acesso a processos locais e remotos e permite que você inicie e interrompa os processos do sistema local.

ProcessModule

Representa um arquivo .dll ou .exe carregado em um processo específico.

ProcessModuleCollection

Fornece uma coleção fortemente tipada de objetos ProcessModule.

ProcessStartInfo

Especifica um conjunto de valores que são usados quando você inicia um processo.

ProcessThread

Representa um thread de processo do sistema operacional.

ProcessThreadCollection

Fornece uma coleção fortemente tipada de objetos ProcessThread.

SourceFilter

Indica se um ouvinte deve rastrear uma mensagem com base na origem de um rastreamento.

SourceSwitch

Fornece uma opção multinível para controlar o rastreamento e a saída de depuração sem recompilar seu código.

StackFrame

Fornece informações sobre um StackFrame, que representa uma chamada de função na pilha de chamadas para o thread atual.

StackFrameExtensions

Fornece métodos de extensão para a classe StackFrame, que representa uma chamada de função na pilha de chamadas para o thread atual.

StackTrace

Representa um rastreamento de pilha, que é uma coleção ordenada de um ou mais quadros de pilha.

StackTraceHiddenAttribute

Tipos e métodos atribuídos com StackTraceHidden serão omitidos do texto de rastreamento de pilha mostrado em StackTrace.ToString() e Exception.StackTrace

Stopwatch

Fornece um conjunto de métodos e propriedades que você pode usar para medir com precisão o tempo decorrido.

Switch

Fornece uma classe base abstrata para criar novas opções de depuração e rastreamento.

SwitchAttribute

Identifica um comutador usado em um assembly, classe ou membro.

SwitchLevelAttribute

Identifica o tipo de nível de um comutador.

TextWriterTraceListener

Direciona a saída de rastreamento ou depuração para um TextWriter ou para um Stream, como FileStream.

Trace

Fornece um conjunto de métodos e propriedades que ajudam você a rastrear a execução do código. Essa classe não pode ser herdada.

TraceConfiguration

Fornece classes que permitem interagir com processos do sistema, logs de eventos e contadores de desempenho.

TraceEventCache

Fornece dados de evento de rastreamento específicos para um thread e um processo.

TraceFilter

Fornece a classe base para implementações de filtro de rastreamento.

TraceListener

Fornece a classe base abstract para os ouvintes que monitoram a saída de rastreamento e depuração.

TraceListenerCollection

Fornece uma lista thread-safe de objetos TraceListener.

TraceSource

Fornece um conjunto de métodos e propriedades que permitem que os aplicativos rastreiem a execução do código e associem mensagens de rastreamento à origem.

TraceSwitch

Fornece uma opção multinível para controlar o rastreamento e a saída de depuração sem recompilar seu código.

UnescapedXmlDiagnosticData

Fornece dados XML sem escape para o registro em log de dados de rastreamento fornecidos pelo usuário.

UnreachableException

A exceção gerada quando o programa executa uma instrução que foi considerada inacessível.

XmlWriterTraceListener

Direciona a saída de rastreamento ou depuração como dados codificados em XML para um TextWriter ou para um Stream, como um FileStream.

Estruturas

Activity.Enumerator<T>

Enumera os dados armazenados em um objeto Activity.

ActivityChangedEventArgs

Fornece dados para o evento CurrentChanged.

ActivityContext

Uma representação que está em conformidade com a especificação TraceContext do W3C. Ele contém dois identificadores: um TraceId e um SpanId, juntamente com um conjunto de TraceFlags comuns e valores TraceState específicos do sistema.

ActivityCreationOptions<T>

Encapsula todas as informações que são enviadas ao ouvinte de atividade, para tomar decisões sobre a criação da instância de atividade, bem como seu estado.

Os possíveis parâmetros de tipo genérico são ActivityContext ou String.

ActivityEvent

Representa um evento que contém um nome e um carimbo de data/hora, bem como uma lista opcional de marcas.

ActivityLink

As atividades podem estar vinculadas a zero ou mais instâncias de contexto de atividade que estão relacionadas causalmente.

Os links de atividade podem apontar para contextos de atividade dentro de um único rastreamento ou em diferentes rastreamentos.

Os links de atividade podem ser usados para representar operações em lote em que uma atividade foi iniciada por várias atividades de início, cada uma representando um único item de entrada sendo processado no lote.

ActivitySpanId

Representa um SpanId formatado com base em um padrão W3C.

ActivityTagsCollection.Enumerator

Enumera os elementos de um ActivityTagsCollection.

ActivityTraceId

Representa um TraceId cujo formato é baseado em um padrão W3C.

CounterSample

Define uma estrutura que contém os dados brutos de um contador de desempenho.

Debug.AssertInterpolatedStringHandler

Fornece um manipulador de cadeia de caracteres interpolado para Assert(Boolean) que só executa a formatação se a declaração falhar.

Debug.WriteIfInterpolatedStringHandler

Fornece um manipulador de cadeia de caracteres interpolado para WriteIf(Boolean, String) e WriteLineIf(Boolean, Object) que só executa a formatação se a condição se aplicar.

TagList

Representa uma lista de marcas que podem ser acessadas pelo índice. Fornece métodos para pesquisar, classificar e manipular listas.

TagList.Enumerator

Um enumerador para percorrer uma coleção de listas de marcas.

Interfaces

ICollectData

Prepara dados de desempenho para a DLL de desempenho que o sistema carrega ao trabalhar com contadores de desempenho.

Enumerações

ActivityIdFormat

Especifica o formato da propriedade Id.

ActivityKind

Descreve a relação entre a atividade, seus pais e seus filhos em um rastreamento.

ActivitySamplingResult

Valores de enumeração usados por ActivityListener para indicar a quantidade de dados a serem coletados para o Activityrelacionado. Solicitar mais dados causa uma sobrecarga de desempenho maior.

ActivityStatusCode

Defina o código de status da Atividade que indica o status da operação instrumentada.

ActivityTraceFlags

Especifica os sinalizadores definidos pelo padrão W3C associados a uma atividade.

DebuggableAttribute.DebuggingModes

Especifica o modo de depuração para o compilador JIT (just-in-time).

DebuggerBrowsableState

Fornece instruções de exibição para o depurador.

EventLogEntryType

Especifica o tipo de evento de uma entrada de log de eventos.

EventLogPermissionAccess

Define os níveis de acesso usados por classes de permissão EventLog.

OverflowAction

Especifica como lidar com entradas em um log de eventos que atingiu seu tamanho máximo de arquivo.

PerformanceCounterCategoryType

Indica se a categoria do contador de desempenho pode ter várias instâncias.

PerformanceCounterInstanceLifetime

Especifica o tempo de vida de uma instância de contador de desempenho.

PerformanceCounterPermissionAccess

Define os níveis de acesso usados por classes de permissão PerformanceCounter.

PerformanceCounterType

Especifica tipos de contador de desempenho que são mapeados diretamente para tipos nativos.

PresentationTraceLevel

Descreve o nível de detalhes a ser rastreado sobre um objeto específico.

ProcessPriorityClass

Indica a prioridade que o sistema associa a um processo. Esse valor, juntamente com o valor de prioridade de cada thread do processo, determina o nível de prioridade base de cada thread.

ProcessWindowStyle

Especificada como uma nova janela deve aparecer quando o sistema inicia um processo.

SourceLevels

Especifica os níveis de mensagens de rastreamento filtradas pelo comutador de origem e pelo filtro de tipo de evento.

ThreadPriorityLevel

Especifica o nível de prioridade de um thread.

ThreadState

Especifica o estado de execução atual do thread.

ThreadWaitReason

Especifica o motivo pelo qual um thread está aguardando.

TraceEventType

Identifica o tipo de evento que causou o rastreamento.

TraceLevel

Especifica quais mensagens serão geradas para as classes Debug, Trace e TraceSwitch.

TraceLogRetentionOption

Especifica a estrutura de arquivos que será usada para o log de EventSchemaTraceListener.

TraceOptions

Especifica as opções de dados de rastreamento a serem gravadas na saída do rastreamento.

Delegados

DataReceivedEventHandler

Representa o método que manipulará o evento OutputDataReceived ou ErrorDataReceived evento de um Process.

DistributedContextPropagator.PropagatorGetterCallback

Representa o método de retorno de chamada usado nos métodos de extração de propagadores. O retorno de chamada é invocado para pesquisar o valor de um campo nomeado.

DistributedContextPropagator.PropagatorSetterCallback

Representa o método de retorno de chamada usado nos métodos de injeção dos propagadores. Esse retorno de chamada é invocado para definir o valor de um campo nomeado. Propagadores podem invocá-lo várias vezes para definir vários campos.

EntryWrittenEventHandler

Representa o método que manipulará o evento EntryWritten de um EventLog.

ExceptionRecorder

Fornece classes que permitem interagir com processos do sistema, logs de eventos e contadores de desempenho.

SampleActivity<T>

Um delegado que define a assinatura do ActivityListener retornos de chamada usados no processo de amostragem.

Comentários

  • O componente EventLog fornece funcionalidade para gravar em logs de eventos, ler entradas de log de eventos e criar e excluir logs de eventos e fontes de eventos na rede. O EntryWrittenEventHandler fornece uma maneira de interagir com logs de eventos de forma assíncrona. As classes de suporte fornecem acesso a um controle mais detalhado, incluindo: restrições de permissão, a capacidade de especificar tipos de log de eventos (que controla o tipo de dados padrão gravados com uma entrada de log de eventos) e iterar por meio de coleções de entradas de log de eventos. Para obter mais informações sobre essas tarefas, consulte as classes EventLogPermission, EventLogEntryTypee EventLogEntryCollection.

  • A classe Process fornece funcionalidade para monitorar os processos do sistema em toda a rede e para iniciar e parar processos do sistema local. Além de recuperar listas de processos em execução (especificando o computador, o nome do processo ou a ID do processo) ou exibindo informações sobre o processo que atualmente tem acesso ao processador, você pode obter conhecimento detalhado de threads de processo e módulos por meio da própria classe Process e interagindo com as classes ProcessThread e ProcessModule. A classe ProcessStartInfo permite que você especifique uma variedade de elementos com os quais iniciar um novo processo, como fluxos de entrada, saída e erro, diretórios de trabalho e verbos e argumentos de linha de comando. Isso lhe dá um bom controle sobre o comportamento de seus processos. Outras classes relacionadas permitem especificar estilos de janela, prioridades de processo e thread e interagir com coleções de threads e módulos.

  • A classe PerformanceCounter permite monitorar o desempenho do sistema, enquanto a classe PerformanceCounterCategory fornece uma maneira de criar novos contadores e categorias personalizados. Você pode gravar em contadores personalizados locais e ler de contadores locais e remotos (sistema e personalizado). Você pode amostrar contadores usando a classe PerformanceCounter e calcular resultados de exemplos sucessivos de contador de desempenho usando a classe CounterSample. A classe CounterCreationData permite que você crie vários contadores em uma categoria e especifique seus tipos. Outras classes associadas ao componente do contador de desempenho fornecem acesso a coleções de contadores, permissão de contador e tipos de contador.

O namespace System.Diagnostics também fornece classes que permitem depurar seu aplicativo e rastrear a execução do código. Para obter mais informações, consulte as classes Trace e Debug.