Compartilhar via


Rastreando componentes do Sync Framework

O Sync Framework permite rastrear a execução de vários componentes, que é útil durante a depuração de aplicativos. Para a maioria dos componentes do Sync Framework, o rastreamento é executado no nível de código nativo usando a infraestrutura ETW (Rastreamento de Eventos do Windows). Para obter mais informações sobre a infraestrutura de ETW, consulte Event Tracing (em inglês).

Mesmo que ele seja feito em relação à versão gerenciada de uma API, ainda assim você usará o ETW porque a API gerenciada é um wrapper fino sobre a API nativa. Os provedores de banco de dados do Sync Framework fornecem rastreamento gerenciado com base na implementação de .NET Framework. Para obter mais informações, consulte Como rastrear o processo de sincronização.

Baixando e usando as ferramentas de rastreamento

As ferramentas de rastreamento que o ETW exige são incluídas nas Ferramentas de Suporte do Windows, que estão disponíveis para cada versão do Windows. Por exemplo, as ferramentas para o Windows XP SP2 estão disponíveis nesta página do Centro de Download da Microsoft. As ferramentas relevantes para o rastreamento do Sync Framework são descritas na tabela a seguir:

Ferramenta de rastreamento Descrição Referência de sintaxe

Tracelog.exe

Inicia, interrompe ou habilita o registro de rastreamento.

Sintaxe do comando Tracelog

Tracefmt.exe

Formata e exibe mensagens de rastreamento de um arquivo de log de rastreamento de evento (.etl) ou uma sessão de rastreamento em tempo real.

Tracefmt

Para exibir a saída de um rastreamento, você inicia um log de rastreamento, habilita o rastreamento e formata o rastreamento para exibição.

Para iniciar um agente de rastreamento

Para iniciar um agente de rastreamento, especifique um nome de agente, um nome de arquivo de rastreamento e vários parâmetros que controlam como o arquivo será gravado: tracelog.exe -start <LoggerName> <LoggerParameters> -f <PathToEtlFile>. Por exemplo, o comando a seguir pode ser usado:

tracelog.exe -start "Sync" -paged -b 32 -max 100 -cir 20 -ls -f %TEMP%\SyncFramework.etl

Para habilitar o rastreamento

Para habilitar o rastreamento, especifique o GUID do componente a ser rastreado, um bitmask de sinalizadores que indicam quais subcomponente rastrear e um inteiro que representa o nível de rastreamento: tracelog.exe -``enable <LoggerName> -guid <ComponentTracingId> -flags <Flags> -level <Level>. Neste exemplo, habilitamos o rastreamento do componente principal do Sync Framework e todos os seus subcomponentes, com um nível de rastreamento igual a 4 (mensagens informativas que incluem casos sem erro):

tracelog.exe -enable "Sync" -guid #5978339c-8ab2-467e-bb85-8832659d5ed0 -flags 0xffff -level 4

Para obter uma lista completa das opções do Sync Framework, consulte Referência de rastreamento do Sync Framework neste tópico.

Para formatar e exibir o arquivo de rastreamento

Para exibir um rastreamento, libere o agente e formate o arquivo de rastreamento binário usando os arquivos .tmf que estão disponíveis para o Sync Framework no Centro de Download da Microsoft. Use comandos semelhantes aos que se seguem para exibir o rastreamento a partir do agente de "Sincronização":

  1. Para liberar o agente, execute tracelog.exe -flush "Sync".

  2. Copie os arquivos .tmf do caminho de instalação do Sync Framework (Arquivos de Programas\Microsoft SDKs\Microsoft Sync Framework\v2.0) para um diretório de trabalho, como %TEMP%\TMF.

  3. Para formatar o arquivo, execute tracefmt.exe %TEMP%\SyncFramework.etl -p %TEMP%\TMF -o %TEMP%\SyncFrameworkTrace.txt.

  4. Para exibir o arquivo, abra %TEMP%\SyncFrameworkTrace.txt.

Para interromper o rastreamento

Para interromper o agente de "Sincronização" que iniciamos anteriormente, execute tracelog.exe -stop "Sync".

Referência de rastreamento do Sync Framework

A tabela a seguir mostra os GUIDs que representam cada componente do Sync Framework:

Componente ID de rastreamento do componente

Estrutura de núcleo e tempo de execução

5978339c-8ab2-467e-bb85-8832659d5ed0

Provedores simples

69c896b3-e183-428d-9e30-4b519b156828

Componentes de sincronização da Web

0958c02f-01cb-4b28-badf-1431c83a931e

Serviço de armazenamento de metadados

67161b7f-60ff-4368-832e-670f2327a7e4

Provedor de sincronização de arquivos

b5fac8e8-25e0-4468-926e-54cd8514f8a0

Rastreando sinalizadores

As tabelas a seguir mostram os sinalizadores de bitmask que podem ser transmitidos ao parâmetro -flags do tracelog.exe para especificar quais subcomponentes devem ser rastreados:

Sinalizadores de tempo de execução e estrutura de núcleo

Nome do sinalizador de rastreamento Bitmask Descrição

TRACE_MSG_KNOWLEDGE

0x0001

Operações de conhecimento de sincronização

TRACE_MSG_SYNC_SERVICES

0x0002

Serviços de sincronização, como serviços de sincronização de aplicativos e serviços de sincronização de provedores

TRACE_MSG_SYNC_SESSION

0x0004

Sessão de sincronização e estado da sessão de sincronização

TRACE_MSG_CHANGE_APPLIER

0x0008

O aplicador de alterações de notificação

TRACE_MSG_CHANGE_BATCH

0x0010

O lote de alterações

TRACE_MSG_CHANGE

0x0020

A alteração individual

TRACE_MSG_FILTER

0x0040

Filtragem de alterações

TRACE_MSG_IN_MEMORY_CONFLICT_LOG

0x0080

O log de conflitos na memória

TRACE_MSG_CHANGE_APPLICATION_SERVICES

0x0100

Serviços avançados de aplicação de alterações

Sinalizadores de provedores simples

Nome do sinalizador de rastreamento Bitmask Descrição

TRACE_MSG_SIMPLESYNCWRAPPER

0x0001

Provedores simples (nenhum subcomponente é definido)

Sinalizadores de componentes de sincronização da Web

Nome do sinalizador de rastreamento Bitmask Descrição

TRACE_MSG_FEEDSYNC

0x0001

Componentes de sincronização da Web (nenhum subcomponente é definido)

Sinalizadores de serviço de armazenamento de metadados

Nome do sinalizador de rastreamento Bitmask Descrição

TRACE_MSG_METADATA_STORE

0x0001

Serviço de armazenamento de metadados (nenhum subcomponente é definido)

Sinalizadores do provedor de sincronização de arquivos

Nome do sinalizador de rastreamento Bitmask Descrição

TRACE_MSG_FSP

0x0001

Provedor de sincronização de arquivos (nenhum subcomponente é definido)

Níveis de rastreamento

A tabela a seguir mostra os níveis de rastreamento que são usados pelo Sync Framework: Um aumento no nível representa um aumento no detalhamento do registro em log, e os níveis são cumulativos. Por exemplo, um nível rastreamento quatro contém todas as informações dos níveis de um a três e informações adicionais:

Nível de rastreamento Valor Descrição

TRACE_LEVEL_NONE

0

Sem rastreamento

TRACE_LEVEL_CRITICAL

1

Saída ou término anormal

TRACE_LEVEL_ERROR

2

Erros graves

TRACE_LEVEL_WARNING

3

Avisos que podem revelar problemas

TRACE_LEVEL_INFORMATION

4

Informações que incluem casos sem erro

TRACE_LEVEL_METADATA_INFORMATION

5

Informações sobre metadados de sincronização

TRACE_LEVEL_FUNCTION

6

Informações sobre quando cada função é inserida e retirada

Consulte também

Conceitos

Solucionando problemas do Sync Framework