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 usada para registro em log.

ActivityListener

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

ActivitySource

Fornece APIs para criar e iniciar objetos Activity, bem como registrar objetos ActivityListener para escutar eventos Activity.

ActivityTagsCollection

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

Esta 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 maneira 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 nullfor , 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 Adicionar acrescentará um novo item à coleção se ainda não existir um item com a mesma chave. Caso contrário, a solicitação vai gerar uma exceção.
BooleanSwitch

Fornece um comutador liga/desliga simples que controla a depuração e a saída de rastreamento.

ConditionalAttribute

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

ConsoleTraceListener

Direciona a saída do rastreamento ou depuração para a saída padrão ou para o fluxo de erro 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 os dados do contador de desempenho.

DataReceivedEventArgs

Fornece dados para os eventos de OutputDataReceived e de 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 do runtime JIT (just-in-time). 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.

DebuggerDisplayAttribute

Determina como uma classe ou campo é exibido nas janelas de 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 de usuário para um aplicativo.

DebuggerStepperBoundaryAttribute

Indica que o código que segue o atributo deve ser executado no modo de execução, não em etapas.

DebuggerStepThroughAttribute

Instrui o depurador a depurar o código em vez de avançar nele. 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 do 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 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.

DiagnosticsConfigurationHandler

Lida com a seção de diagnóstico dos arquivos de configuração.

DiagnosticSource

Uma classe abstrata que permite que o código seja instrumentado para registro em log de tempo de produção dos conteúdos de dados avançados para consumo dentro do processo que foi 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 em e extrai valores de operadoras como pares chave-valor de cadeia de caracteres.

EntryWrittenEventArgs

Fornece dados para o evento de EntryWritten .

EventInstance

Representa informações com neutralidade de 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 o tamanho e os enumeradores para uma coleção de instâncias EventLogEntry.

EventLogInstaller

Permite instalar e configurar um log de eventos que o aplicativo lê ou no qual faz gravações quando está em execução.

EventLogPermission

Controla as permissões de acesso de código para o log de eventos.

EventLogPermissionAttribute

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

EventLogPermissionEntry

Define a menor unidade de uma permissão de segurança de acesso do 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 do rastreamento ou da depuração para um EventLog.

EventSchemaTraceListener

Direciona a saída do rastreamento ou da depuração de eventos de ponta a ponta para um arquivo de log em conformidade com o 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

Mantém os dados da instância associados a uma amostra do contador.

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 de 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 os dados de desempenho para o performance.dll que o sistema carrega ao trabalhar com contadores de desempenho.

PerformanceCounterPermission

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

PerformanceCounterPermissionAttribute

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

PerformanceCounterPermissionEntry

Define a menor unidade de uma permissão de segurança de acesso do 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 WPF (Windows Presentation Foundation).

Process

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

ProcessModule

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

ProcessModuleCollection

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

ProcessStartInfo

Especifica um conjunto de valores 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 fonte de um rastreamento.

SourceSwitch

Fornece uma opção em vários níveis para controlar o rastreamento e depurar a saída sem recompilar o código.

StackFrame

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

StackFrameExtensions

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

StackTrace

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

StackTraceHiddenAttribute

Tipos e métodos atribuídos com StackTraceHidden serão omitidos do texto de rastreamento de pilha mostrado em StackTrace.ToString() e em 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 novos comutadores de rastreamento e depuração.

SwitchAttribute

Identifica uma opção usada em um assembly, classe ou membro.

SwitchLevelAttribute

Identifica o tipo de nível para um comutador.

TextWriterTraceListener

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

Trace

Fornece um conjunto de métodos e propriedades que ajudam 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 processo e um thread.

TraceFilter

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

TraceListener

Fornece a classe base abstract para os ouvintes que monitoram o rastreamento e a saída da 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 associe mensagens de rastreamento à sua origem.

TraceSwitch

Fornece uma opção em vários níveis para controlar o rastreamento e depurar a saída sem recompilar o código.

UnescapedXmlDiagnosticData

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

UnreachableException

Exceção gerada quando o programa executa uma instrução que era considerada inacessível.

XmlWriterTraceListener

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

Estruturas

Activity.Enumerator<T>

Enumera os dados armazenados em um Activity objeto .

ActivityChangedEventArgs

Fornece dados para o evento de 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 para o ouvinte da atividade, para tomar decisões sobre a criação da instância da atividade, bem como seu estado.

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

ActivityEvent

Representa um evento que contém um nome e um carimbo de data/hora, bem como uma lista de marcações opcionais.

ActivityLink

As atividades podem estar vinculadas a zero ou mais instâncias de contexto da atividade casualmente relacionadas.

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 inicializantes, 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 se baseia 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) o qual 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 os 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 pelo ActivityListener para indicar a quantidade de dados a serem coletados para o Activity relacionado. Solicitar mais dados causa uma sobrecarga maior de desempenho.

ActivityStatusCode

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

ActivityTraceFlags

Especifica 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 pelas classes de permissão EventLog.

OverflowAction

Especifica como lidar com as entradas em um log de eventos que atingiu seu tamanho máximo do 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 pelas classes de permissão PerformanceCounter.

PerformanceCounterType

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

PresentationTraceLevel

Descreve o nível de detalhes para rastreamento sobre um objeto específico.

ProcessPriorityClass

Indica a prioridade que o sistema associa a um processo. Esse valor, junto com o valor de prioridade de cada thread do processo, determina o nível de prioridade básica de cada thread.

ProcessWindowStyle

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

SourceLevels

Especifica os níveis de rastreamento de mensagens filtradas pelo comutador de origem e o 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á esperando.

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 arquivo que será usada para o log EventSchemaTraceListener.

TraceOptions

Especifica opções de dados de rastreamento a serem gravados na saída de rastreamento.

Delegados

DataReceivedEventHandler

Representa o método que manipulará o evento OutputDataReceived ou ErrorDataReceived 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.

SampleActivity<T>

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

Comentários

  • O EventLog componente 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 os 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 do log de eventos. Para obter mais informações sobre essas tarefas, consulte as EventLogPermissionclasses , EventLogEntryTypee EventLogEntryCollection .

  • A Process classe fornece funcionalidade para monitorar 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 dos threads e módulos do processo por meio da Process própria classe e interagindo com as ProcessThread classes e ProcessModule . A ProcessStartInfo classe 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 permite um controle satisfatório sobre o comportamento dos seus processos. Outras classes relacionadas permitem especificar o estilo da janela, a prioridade de processos e threads e interagir com coleções de threads e módulos.

  • A PerformanceCounter classe permite que você monitore o desempenho do sistema, enquanto a PerformanceCounterCategory classe fornece uma maneira de criar novos contadores e categorias personalizados. Você pode gravar em contadores personalizados locais e ler de contadores locais e remotos (de sistema e personalizados). Você pode amostrar contadores usando a PerformanceCounter classe e calcular os resultados de exemplos sucessivos do contador de desempenho usando a CounterSample classe . A CounterCreationData classe 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, permissões e tipos de contadores.

O System.Diagnostics namespace 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.