Partilhar via


Usando contadores de desempenho da Unidade de Trabalho

Os contadores de desempenho da Unidade de Trabalho fornecem ao Insight da plataforma Windows sobre os processos de um aplicativo. As Unidades de Trabalho permitem que os aplicativos descrevam quais partes do aplicativo são executadas em um processo específico e declaram a propriedade. Por exemplo, um navegador da Web tem seu próprio Gerenciador de Tarefas para gerenciar todos os seus processos; com o contador de desempenho da Unidade de Trabalho, esse nível de detalhes e controle pode estar disponível no Gerenciador de Tarefas do Windows.

Por exemplo, considere o navegador Microsoft Edge em execução no dispositivo de um usuário. O navegador é executado em um processo específico, mas outros processos são criados para hospedar guias, serviços de rede e áudio, extensões e outras funcionalidades. O processo específico pode ser usado para executar várias unidades de trabalho e diferentes aplicativos podem compartilhá-las. Internamente, o navegador conhece suas dependências e como se comunicar com os processos necessários, mas a plataforma Windows e outros aplicativos não sabem como o navegador é composto. Ter essas informações é útil para fornecer informações de uso de recursos mais precisas e ajudar a diagnosticar problemas com o aplicativo; O Gerenciador de Tarefas pode relatar quais unidades de trabalho estão em execução em um processo. Com isso, os depuradores podem simplificar as cargas de trabalho do desenvolvedor descrevendo que tipo de trabalho está sendo executado em um processo.

Cada Unidade de Trabalho carrega as propriedades a seguir.

  • AppOwnerProcessId: ID para o processo que possui a Unidade de Trabalho especificada.
  • HostProcessId: ID para o processo no qual a Unidade de Trabalho especificada está em execução.
  • Tipo: como a Unidade de Trabalho deve ser interpretada pelo aplicativo que a recebe.
  • Título: rótulo da Unidade de Trabalho.
  • UniqueId: identificador da Unidade de Trabalho.

Contrato de dados

As informações compartilhadas com unidades de trabalho na plataforma Windows estão disponíveis para serem consultadas por qualquer aplicativo em execução no sistema. Os dados são fornecidos e consumidos usando APIs de Contador de Desempenho, disponíveis publicamente e documentadas. Como parte de sua implementação, os contadores de desempenho devem ter uma cadeia de caracteres de identificador exclusiva, que usamos para identificar o rótulo da Unidade de Trabalho. O formato esperado da cadeia de caracteres de identificador exclusivo do contador perf é.

  • Cadeia de caracteres "WorkUnit" à esquerda.
  • UniqueId baseado em 1.
  • identificador do processo no qual a Unidade de Trabalho está em execução.
  • identificador do processo de main que representa o aplicativo.
  • título amigável para a Unidade de Trabalho.

Observação

Se uma informação da Unidade de Trabalho precisar ser atualizada (por exemplo, o título foi alterado), ela manterá sua uniqueId. Novas unidades devem usar novos identificadores exclusivos. O uniqueId deve ser concatenado usando o caractere de pipe "|", conforme mostrado no exemplo a seguir.

Exemplo:

"WorkUnit|1|4321|1019|Instance 1 of pid 1111, owned by 1111"
"WorkUnit|1|8765|1019|Instance 1 of pid 5555, owned by 5555"
"WorkUnit|1|9999|1019|Instance 1 of pid 9999, owned by 9999"
"WorkUnit|2|4321|1019|Instance 2 of pid 1234, owned by 4321"
"WorkUnit|2|8765|1019|Instance 2 of pid 5678, owned by 8765"

Fornecendo unidades de trabalho

Você pode criar instâncias do conjunto de contadores de desempenho da Unidade de Trabalho usando APIs de Contador de Desempenho. Siga o contrato de dados documentado acima para garantir que outros aplicativos possam validar e consumir seus dados com êxito.

Visualizando unidades de trabalho

Se você quiser consultar dados de um contador de desempenho da Unidade de Trabalho, poderá usar as APIs do Contador de Desempenho ou o aplicativo Monitor de Desempenho.

  1. Digite "perfmon" em um prompt do CMD ou na caixa de diálogo Executar para iniciar a ferramenta PerfMon.
  2. Selecione "Monitor de Desempenho" em "Ferramentas de Monitoramento".
  3. Clique no botão "Adicionar contadores" (sinal verde '+').
  4. Selecione e expanda "Unidade de Trabalho" para ver os contadores fornecidos por aplicativos em execução.
  5. Selecione os contadores listados: "ID do processo do proprietário do aplicativo" e "ID do processo do host".
  6. Selecione "Todas as instâncias" e clique em "Adicionar".
  7. Clique em "OK".
  • Seleção do contador unidade de trabalho da interface do usuário Captura de tela da janela Adicionar Contador. A Unidade de Trabalho é realçada na janela como um contador a ser adicionado.