Método de IScheduler::Statistics

Fornece informações relacionadas a taxas de chegada e de conclusão da tarefa e a alteração de um agendador no comprimento da fila.

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

Parâmetros

  • pTaskCompletionRate
    O número de tarefas foram concluídas pelo Agendador desde a última chamada para este método.

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

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

Comentários

Esse método é invocado pelo Gerenciador de recursos para coletar estatísticas para um programador. As estatísticas coletadas aqui serão usadas para orientar os algoritmos de comentário dinâmico para determinar quando é apropriado atribuir mais recursos para o Agendador e quando a tirar os recursos. Os valores fornecidos pelo programador podem ser otimistas e não necessariamente precisa refletir a contagem atual com precisão.

Você deve implementar esse método se desejar que o Gerenciador de recursos para usar os comentários sobre a chegada de tarefa, etc. para determinar como equilibrar os recursos entre o Agendador e outros agendadores registrado com o Gerenciador de recursos. Se você optar por não reunir estatísticas, você pode definir a chave de política DynamicProgressFeedback o valor DynamicProgressFeedbackDisabled na diretiva do Agendador e o recurso Gerenciador não chamar este método no Agendador.

Ausência de informações estatísticas, o Gerenciador de recursos irá usar níveis de assinatura do segmento de hardware para tomar as decisões de migração e alocação de recursos. Para obter mais informações sobre níveis de assinatura, consulte IExecutionResource::CurrentSubscriptionLevel.

Requisitos

Cabeçalho: concrtrm.h

Namespace: Simultaneidade

Consulte também

Referência

Estrutura de IScheduler

Enumeração de PolicyElementKey

Outros recursos

Método de IExecutionResource::CurrentSubscriptionLevel