O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Rastreador de histórico

Registra o histórico de diferentes eventos, por exemplo, mensagens RX e TX ou mudanças nas informações de rede.

Resumo

Todas as entradas rastreadas têm carimbo de data/hora.

As funções deste módulo estão disponíveis quando a OPENTHREAD_CONFIG_HISTOR_TRACKER_ENABLE está ativada.

Enumerações

anonymous enum{
  OT_HISTORY_TRACKER_MSG_PRIORITY_LOW = OT_MESSAGE_PRIORITY_LOW,
  OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL = OT_MESSAGE_PRIORITY_NORMAL,
  OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH = OT_MESSAGE_PRIORITY_HIGH,
  OT_HISTORY_TRACKER_MSG_PRIORITY_NET = OT_MESSAGE_PRIORITY_HIGH + 1
}
tipo enumerado
Constantes que representam a prioridade de mensagem usada no struct otHistoryTrackerMessageInfo.
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
tipo enumerado
Esta enumeração define os eventos de uma informação de endereço IPv6 (unicast ou multicast) (ou seja, se o endereço é adicionado ou removido).
otHistoryTrackerNeighborEvent{
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED = 1,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED = 2,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING = 3
}
tipo enumerado
Esta enumeração define os eventos em uma informação de vizinho (por exemplo,
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
tipo enumerado
Esta enumeração define os eventos de uma entrada de dados da rede (ou seja, se uma entrada é adicionada ou removida).

Typedefs

otHistoryTrackerExternalRouteInfo typedef
Essa estrutura representa uma rota de saída de dados de rede.
otHistoryTrackerIterator typedef
Esse tipo representa um repetidor em uma lista de histórico.
otHistoryTrackerMessageInfo typedef
Essa estrutura representa uma informação de mensagem RX/TX IPv6.
otHistoryTrackerMulticastAddressInfo typedef
Essa estrutura representa uma informação de endereço multicast IPv6.
otHistoryTrackerNeighborInfo typedef
Essa estrutura representa uma informação vizinha.
otHistoryTrackerNetworkInfo typedef
Essa estrutura representa as informações da rede Thread.
otHistoryTrackerOnMeshPrefixInfo typedef
Essa estrutura representa um dado da rede nas informações de prefixo da malha.
otHistoryTrackerUnicastAddressInfo typedef
Essa estrutura representa uma informação de endereço IPv6 unicast.

Functions

otHistoryTrackerEntryAgeToString(uint32_t aEntryAge, char *aBuffer, uint16_t aSize)
void
Essa função converte uma determinada idade de entrada em uma string legível.
otHistoryTrackerInitIterator(otHistoryTrackerIterator *aIterator)
void
Essa função inicializa um otHistoryTrackerIterator.
otHistoryTrackerIterateExternalRouteHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função itera as entradas na lista do histórico de entradas de rota externas dos dados de rede.
otHistoryTrackerIterateMulticastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função faz uma iteração com as entradas na lista do histórico de endereços multicast.
otHistoryTrackerIterateNeighborHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função itera as entradas na lista do histórico de vizinho.
otHistoryTrackerIterateNetInfoHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função faz iterações nas entradas da lista do histórico de informações da rede.
otHistoryTrackerIterateOnMeshPrefixHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função faz uma iteração com as entradas dos dados de rede na lista do histórico de entradas do prefixo da malha.
otHistoryTrackerIterateRxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função faz iterações nas entradas da lista do histórico de mensagens do RX.
otHistoryTrackerIterateTxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função faz uma iteração com as entradas na lista do histórico de mensagens do TX.
otHistoryTrackerIterateUnicastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Essa função faz uma iteração com as entradas na lista do histórico de endereços unicast.

Estruturas

otHistoryTrackerExternalRouteInfo (em inglês)

Essa estrutura representa uma rota de saída de dados de rede.

otHistoryTrackeriter.

Esse tipo representa um repetidor em uma lista de histórico.

otHistoryTrackerMessageInfo (em inglês)

Essa estrutura representa uma informação de mensagem RX/TX IPv6.

otHistoryTrackerMulticastAddressInfo (em inglês)

Essa estrutura representa uma informação de endereço multicast IPv6.

otHistoryTrackerNeighborInfo

Essa estrutura representa uma informação vizinha.

otHistoryTrackerNetworkInfo (em inglês)

Essa estrutura representa as informações da rede Thread.

otHistoryTrackerOnMeshPrefixInfo.

Essa estrutura representa um dado da rede nas informações de prefixo da malha.

otHistoryTrackerUnicastAddressInfo (em inglês)

Essa estrutura representa uma informação de endereço IPv6 unicast.

Enumerações

enumeração anônima

 anonymous enum

Constantes que representam a prioridade de mensagem usada no struct otHistoryTrackerMessageInfo.

Propriedades
OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH

Nível de prioridade alto.

OT_HISTORY_TRACKER_MSG_PRIORITY_LOW

Nível de prioridade baixo.

OT_HISTORY_TRACKER_MSG_PRIORITY_NET

Nível de prioridade do controle de rede.

OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL

Nível de prioridade normal.

OtHistoryTrackerAddressEvent

 otHistoryTrackerAddressEvent

Esta enumeração define os eventos de uma informação de endereço IPv6 (unicast ou multicast) (ou seja, se o endereço é adicionado ou removido).

Propriedades
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED

O endereço foi adicionado.

OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED

O endereço foi removido.

OtHistoryTrackerNeighborEvent

 otHistoryTrackerNeighborEvent

Esta enumeração define os eventos em uma informação de vizinho (por exemplo,

se o vizinho está adicionado, removido ou alterado).

O evento OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING é aplicável somente a vizinhos filhos. Ele será acionado depois que o dispositivo (re)for iniciado e quando a lista de filhos anteriores for recuperada de configurações não voláteis e o dispositivo tentar restaurar a conexão com eles.

Propriedades
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED

O vizinho foi adicionado.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED

O vizinho mudou (por exemplo, as sinalizações do modo dispositivo foram alteradas).

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED

O vizinho foi removido.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING

O vizinho está sendo restaurado (aplicável somente a crianças).

OtHistoryTrackerNetDataEvent

 otHistoryTrackerNetDataEvent

Esta enumeração define os eventos de uma entrada de dados da rede (ou seja, se uma entrada é adicionada ou removida).

Propriedades
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED

A entrada de dados de rede foi adicionada.

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

A entrada de dados da rede foi removida.

Typedefs

OtHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

Essa estrutura representa uma rota de saída de dados de rede.

OtHistóricoTrackerTracker

struct otHistoryTrackerIterator otHistoryTrackerIterator

Esse tipo representa um repetidor em uma lista de histórico.

Os campos desse tipo são opacos, destinados ao uso pelo núcleo OpenThread. Portanto, não podem ser acessados ou usados pelo autor da chamada.

Antes de usar um iteração, ele PRECISA ser inicializado usando otHistoryTrackerInitIterator().

OtHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

Essa estrutura representa uma informação de mensagem RX/TX IPv6.

Alguns dos campos neste struct são aplicáveis a uma mensagem do RX ou somente a uma mensagem do TX, por exemplo, O mAveRxRss é o RSS médio de todos os frames de fragmento que formam uma mensagem recebida e só se aplica a uma mensagem do RX.

OtHistoryTrackerMulticastAddressInfo

struct otHistoryTrackerMulticastAddressInfo otHistoryTrackerMulticastAddressInfo

Essa estrutura representa uma informação de endereço multicast IPv6.

OtHistoryTrackerNeighborInfo

struct otHistoryTrackerNeighborInfo otHistoryTrackerNeighborInfo

Essa estrutura representa uma informação vizinha.

OtHistoryTrackerNetworkInfo

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

Essa estrutura representa as informações da rede Thread.

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

Essa estrutura representa um dado da rede nas informações de prefixo da malha.

OtHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

Essa estrutura representa uma informação de endereço IPv6 unicast.

Functions

otHistoryTrackerEntryAgeToString

void otHistoryTrackerEntryAgeToString(
  uint32_t aEntryAge,
  char *aBuffer,
  uint16_t aSize
)

Essa função converte uma determinada idade de entrada em uma string legível.

A string de idade de entrada segue o formato "::.&quo; para horas, minutos, segundos e milissegundos (se for menor que um dia) ou "

dias ::." (se for maior que um dia).

Se a string resultante não couber no aBuffer (dentro de caracteres aSize), ela será truncada, mas a string resultante sempre será nula.

Detalhes
Parâmetros
[in] aEntryAge
A idade da entrada (duração em ms).
[out] aBuffer
Um ponteiro para uma matriz de caracteres para gerar a string (NÃO DEVE ser NULL).
[in] aSize
O tamanho de aBuffer. É recomendável usar OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE.

OtHistoryTrackerInititer

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

Essa função inicializa um otHistoryTrackerIterator.

Um inicializador PRECISA ser inicializado antes de ser usado.

Um iteração pode ser inicializado novamente para começar do início da lista.

Ao iterar entradas em uma lista, para garantir que as idades da entrada sejam consistentes, a idade é fornecida em relação ao tempo em que o iteração foi inicializado, ou seja, a idade de entrada é fornecida como a duração (em milissegundos) do evento (quando a entrada foi gravada) até o tempo de inicialização do iteração.

Detalhes
Parâmetros
[in] aIterator
Um ponteiro para o inicializador para inicializar (NÃO DEVE ser NULL).

OtHistoryTrackerIterateExternalRouteHistory

const otHistoryTrackerExternalRouteInfo * otHistoryTrackerIterateExternalRouteHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função itera as entradas na lista do histórico de entradas de rota externas dos dados de rede.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
A entrada otHistoryTrackerExternalRouteInfo ou NULL, se não houver mais entradas na lista.

OtHistoryTrackerIterateMulticastAddressHistory

const otHistoryTrackerMulticastAddressInfo * otHistoryTrackerIterateMulticastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função faz uma iteração com as entradas na lista do histórico de endereços multicast.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
Um ponteiro para a entrada otHistoryTrackerMulticastAddressInfo ou NULL, se não houver mais entradas na lista.

OtHistoryTrackerIterateNeighborHistory

const otHistoryTrackerNeighborInfo * otHistoryTrackerIterateNeighborHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função itera as entradas na lista do histórico de vizinho.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
A entrada otHistoryTrackerNeighborInfo ou NULL, se não houver mais entradas na lista.

OtHistoryTrackerIterateNetInfoHistory

const otHistoryTrackerNetworkInfo * otHistoryTrackerIterateNetInfoHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função faz iterações nas entradas da lista do histórico de informações da rede.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
Um ponteiro para a entrada otHistoryTrackerNetworkInfo ou NULL, se não houver mais entradas na lista.

otHistoryTrackerIterateOnMeshPrefixHistory

const otHistoryTrackerOnMeshPrefixInfo * otHistoryTrackerIterateOnMeshPrefixHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função faz uma iteração com as entradas dos dados de rede na lista do histórico de entradas do prefixo da malha.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
A entrada otHistoryTrackerOnMeshPrefixInfo ou NULL, se não houver mais entradas na lista.

OtHistoryTrackerIterateRxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateRxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função faz iterações nas entradas da lista do histórico de mensagens do RX.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
A entrada otHistoryTrackerMessageInfo ou NULL, se não houver mais entradas na lista.

OtHistoryTrackerIterateTxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateTxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função faz uma iteração com as entradas na lista do histórico de mensagens do TX.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
A entrada otHistoryTrackerMessageInfo ou NULL, se não houver mais entradas na lista.

OtHistoryTrackerIterateUnicastAddressHistory

const otHistoryTrackerUnicastAddressInfo * otHistoryTrackerIterateUnicastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Essa função faz uma iteração com as entradas na lista do histórico de endereços unicast.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iteração. PRECISA ser inicializado, ou o comportamento é indefinido.
[out] aEntryAge
Um ponteiro para uma variável que gera a idade da entrada. NÃO DEVE ser NULL. A idade é fornecida como a duração (em milissegundos) de quando a entrada foi registrada no tempo de inicialização aIterator. Está definido como OT_HISTORY_TRACKER_MAX_AGE para entradas maiores que a idade máxima.
Retorna
Um ponteiro para a entrada otHistoryTrackerUnicastAddressInfo ou NULL, se não houver mais entradas na lista.

Macros

OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE

 OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE 21

Tamanho recomendado para a representação de string de uma idade de entrada.

OT_HISTORY_TRACKER_MAX_AGE

 OT_HISTORY_TRACKER_MAX_AGE (49 * 24 * 60 * 60 * 1000u)

Essa constante especifica a idade máxima de entradas que é de 49 dias (em ms).

As entradas mais antigas que a idade máxima fornecerão esse valor como a idade.

Recursos

Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para saber mais ou contribuir com nossa documentação, consulte Recursos.