Partilhar via


O que há de novo nos contadores de desempenho

Esta seção descreve os novos recursos que foram adicionados aos Contadores de Desempenho para cada versão.

Windows 10 20H1

Se estiver a ler dados de desempenho diretamente do Registro , agora pode executar uma recolha apenas de metadados para evitar trabalho desnecessário ao criar uma lista de objetos de desempenho e contadores disponíveis. Se você usar MetadataGlobal em vez de Global em sua consulta, todas as DLLs de provedor habilitadas para metadados ignorarão a etapa de coleta de dados, potencialmente melhorando o desempenho da consulta em sistemas com muitos processos ou threads. As DLLs do provedor que não são habilitadas para metadados continuarão a funcionar como antes.

Se você estiver fornecendo dados de desempenho usando uma DLL de desempenho , poderá implementar suporte para coleta somente de metadados para evitar a coleta de dados desnecessária. Atualize sua função Collect para responder a consultas MetadataGlobal e MetadataCostly apenas com os metadados (use PERF_METADATA_NO_INSTANCES ou PERF_METADATA_MULTIPLE_INSTANCES para NumInstances e omita todos os blocos de PERF_INSTANCE_DEFINITION da resposta) e, em seguida, adicione um valor de registro Collect Supports Metadata com REG_DWORD valor de 1 à subchave Performance do seu serviço.

Windows 7 e Windows Server 2008 R2

A ferramenta CTRPP foi modificada para melhorar e simplificar a geração de código. A ferramenta agora gera apenas um cabeçalho e um arquivo de recurso. Se você quiser antigo comportamento de geração de código (não recomendado), você pode usar o novo argumento -legacy.

  • Agora você deve especificar os novos argumentos -o e -rc que especificam o nome e o local do cabeçalho e do arquivo de recurso, respectivamente.
  • Você pode usar o argumento opcional new -prefix para especificar uma cadeia de caracteres a ser adicionada ao início das variáveis globais e funções definidas no arquivo de cabeçalho gerado.
  • Se for necessário atualizar o manifesto dos contadores, ao usar a nova geração de código, elimina-se a necessidade de combinar a sua implementação anterior dos callbacks com o novo código gerado, já que os callbacks já não estão incluídos no código gerado.

Um novo atributo symbol está disponível para os seguintes elementos de manifesto:

O atributo symbol é necessário para o provedor e o conjunto de contadores , e é opcional para o contador . O atributo permite fornecer um nome simbólico que você pode usar para fazer referência a cada elemento ao chamar as funções do provedor (por exemplo, você pode usar o nome simbólico do conjunto de contadores ao chamar PerfCreateInstance).

Windows Vista

A arquitetura dos Contadores de Desempenho para fornecer dados do contador foi completamente alterada para esta versão.

Anteriormente, você usava um arquivo INI para definir os dados do contador e implementava uma DLL de desempenho que era executada no processo do consumidor para fornecer os dados quando um consumidor os solicitava. Essa arquitetura foi preterida e não é recomendada para novos códigos devido a problemas significativos de desempenho e confiabilidade.

A nova arquitetura utiliza um manifesto para definir os dados do contador e executar código no processo do provedor para disponibilizar os dados quando um consumidor os solicitar. Para obter detalhes adicionais, consulte Fornecimento de dados do contador usando a versão 2.0.

As seguintes funções foram adicionadas para esta versão:

As seguintes estruturas foram adicionadas para esta versão:

Para obter uma lista dos elementos XML que você usa em seu manifesto para definir seus contadores, consulte Esquema de Contadores de Desempenho.

Para obter informações sobre a ferramenta de pré-processador CTRPP que analisa seu manifesto e gera o código que você usa como ponto de partida para seu provedor, consulte CTRPP.