Share via


Função JetGetThreadStats

Aplica-se a: Windows | Windows Server

Função JetGetThreadStats

A função JetGetThreadStats recupera informações de desempenho do mecanismo de banco de dados para o thread atual. Várias chamadas podem ser usadas para coletar estatísticas que refletem a atividade do mecanismo de banco de dados nesse thread entre essas chamadas.

Windows Vista:JetGetThreadStats é introduzido no Windows Vista.

    JET_ERR JET_API JetGetThreadStats(
      __out         void* pvResult,
      __in          unsigned long cbMax
    );

Parâmetros

pvResult

O buffer de saída que recebe os dados de estatísticas de thread. O buffer contém uma estrutura JET_THREADSTATS após uma chamada bem-sucedida.

cbMax

O tamanho máximo em bytes do buffer de saída.

Valor Retornado

Essa função retorna o tipo de dados JET_ERR com um dos seguintes códigos de retorno. Para obter mais informações sobre os possíveis erros de ESE, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Código de retorno

Descrição

JET_errSuccess

A operação foi concluída com sucesso.

JET_errBufferTooSmall

A operação falhou porque o buffer de saída fornecido era muito pequeno para conter os dados solicitados. A função JetGetThreadStats retornará esse erro quando o buffer de saída for muito pequeno para conter a menor versão da estrutura de JET_THREADSTATS compatível com o mecanismo de banco de dados.

Em caso de êxito, o buffer de saída conterá uma estrutura JET_THREADSTATS que contém estatísticas do mecanismo de banco de dados para o thread atual.

Em caso de falha, o estado do buffer de saída é indefinido.

Comentários

As informações fornecidas por duas chamadas consecutivas dessa API destinam-se a ser usadas para calcular a despesa de qualquer outra operação do mecanismo de banco de dados no thread atual. Em geral, isso é feito usando um antes e depois da leitura das estatísticas e subtraindo a contagem posterior da contagem anterior para obter a contagem líquida de operações executadas.

Por exemplo, um aplicativo pode chamar JetGetThreadStats uma vez para obter uma leitura inicial das estatísticas para o thread atual. Em seguida, ele pode chamar a função JetMove com o parâmetro cRow definido como JET_MoveNext para passar para a próxima entrada de índice em um índice. Em seguida, ele pode chamar JetGetThreadStats novamente para obter outra leitura das estatísticas do thread. Em seguida, ele pode subtrair o contador cPageReferenced da segunda leitura do primeiro. O resultado seria o número de páginas de banco de dados referenciadas pelo mecanismo de banco de dados para executar a operação JetMove .

As estatísticas de cada thread são acumuladas durante o tempo de vida desse thread. As estatísticas serão redefinidas se a DLL do mecanismo de banco de dados for descarregada do processo de host.

A estrutura JET_THREADSTATS provavelmente será expandida no futuro para conter mais estatísticas. Novas estatísticas serão adicionadas ao final da estrutura e poderão ser recuperadas com um tamanho de buffer de saída maior. A presença de estatísticas adicionais pode ser inferida por um valor cbStruct maior.

Requisitos

Requisito Valor

Cliente

Requer o Windows Vista.

Servidor

Requer o Windows Server 2008.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Consulte Também

JET_ERR
JET_THREADSTATS
JetMove