Compartilhar via


Método IScheduler::Statistics

Fornece informações relacionadas à chegada e as taxas de conclusão da tarefa, e o comprimento da fila para um agendador.

virtual void Statistics(
   _Out_ unsigned int * pTaskCompletionRate,
   _Out_ unsigned int * pTaskArrivalRate,
   _Out_ unsigned int * pNumberOfTasksEnqueued
) =0;

Parâmetros

  • pTaskCompletionRate
    O número de tarefas que foram concluídas por agendador desde a última chamada a este método.

  • pTaskArrivalRate
    O número de tarefas que chegaram no agendador desde a última chamada a este método.

  • pNumberOfTasksEnqueued
    O número total de tarefas em todas as filas do agendador.

Comentários

Esse método é chamado pelo Gerenciador de Recursos do para coletar estatísticas para um agendador. As estatísticas são coletadas serão usadas para realizar algoritmos dinâmicos de comentários para determinar quando é apropriado alocar mais recursos ao agendador e quando remover recursos. Os valores fornecidos por agendador podem ser otimistas e não têm que necessariamente refletir exatamente a contagem atual.

Você deve implementar esse método se você quer que o Gerenciador de Recursos para usar comentários sobre coisas como a chegada da tarefa para determinar como equilibrar o recurso entre o agendador e outros agendadores registrados com o Gerenciador de Recursos. Se você optar por não coletar estatísticas, você pode definir a chave DynamicProgressFeedback de política ao valor DynamicProgressFeedbackDisabled na política do agendador, e o Gerenciador de Recursos não invocará este método no agendador.

Na ausência de informações estatísticas, o Gerenciador de Recursos usará níveis de assinatura de threads de hardware para tomar decisões de atribuição de recursos e de migração. Para obter mais informações sobre os níveis de assinatura, consulte IExecutionResource::CurrentSubscriptionLevel.

Requisitos

Cabeçalho: concrtrm.h

Namespace: simultaneidade

Consulte também

Referência

Estrutura IScheduler

Enumeração PolicyElementKey

Método IExecutionResource::CurrentSubscriptionLevel