Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
- ControlCallback
- PerfCreateInstance
- PerfDeleteInstance
- PerfQueryInstance
- PerfSetCounterSetInfo
- PerfSetULongCounterValue
- PerfSetULongLongCounterValue
- PerfSetCounterRefValue
- PerfStartProvider
- PerfStopProvider
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.