Rastreador de histórico

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

Resumo

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

As funções neste módulo ficam disponíveis quando OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE está ativado.

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
}
enum
Constantes que representam a prioridade da mensagem usada no struct otHistoryTrackerMessageInfo.
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
enum
Define os eventos para informações de endereço IPv6 (unicast ou multicast) (ou seja, se o endereço foi 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
}
enum
Define os eventos em informações vizinhas (por exemplo,
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
enum
Define os eventos para uma entrada de dados da rede (ou seja, se uma entrada é adicionada ou removida).
otHistoryTrackerRouterEvent{
  OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED = 1,
  OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED = 2,
  OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED = 3
}
enum
Define os eventos nas informações de um roteador (por exemplo,

Typedefs

otHistoryTrackerExternalRouteInfo typedef
Representa uma informação de rota externa dos dados de rede.
otHistoryTrackerIterator typedef
Representa um iterador para iterar em uma lista de histórico.
otHistoryTrackerMessageInfo typedef
Representa uma informação da mensagem RX/TX IPv6.
otHistoryTrackerMulticastAddressInfo typedef
Representam informações de endereço multicast IPv6.
otHistoryTrackerNeighborInfo typedef
Representa as informações de um vizinho.
otHistoryTrackerNetworkInfo typedef
Representa informações da rede Thread.
otHistoryTrackerOnMeshPrefixInfo typedef
Representa um dado de rede em informações de prefixo da malha.
otHistoryTrackerRouterInfo typedef
Representa um evento de entrada da tabela do roteador.
otHistoryTrackerUnicastAddressInfo typedef
Representa uma informação de endereço IPv6 unicast.

remotas

otHistoryTrackerEntryAgeToString(uint32_t aEntryAge, char *aBuffer, uint16_t aSize)
void
Converte determinada idade de entrada em uma string legível.
otHistoryTrackerInitIterator(otHistoryTrackerIterator *aIterator)
void
Inicializa um otHistoryTrackerIterator.
otHistoryTrackerIterateExternalRouteHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista do histórico de entradas de rota dos dados de rede.
otHistoryTrackerIterateMulticastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista do histórico de endereços multicast.
otHistoryTrackerIterateNeighborHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista de histórico de vizinhos.
otHistoryTrackerIterateNetInfoHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista do histórico de informações da rede.
otHistoryTrackerIterateOnMeshPrefixHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas nos dados de rede na lista do histórico de entradas de prefixos da malha.
otHistoryTrackerIterateRouterHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista do histórico do roteador.
otHistoryTrackerIterateRxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista do histórico de mensagens do RX.
otHistoryTrackerIterateTxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista do histórico de mensagens TX.
otHistoryTrackerIterateUnicastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera nas entradas na lista do histórico de endereços unicast.

Estruturas

otHistoryTrackerExternalRouteInfo

Representa uma informação de rota externa dos dados de rede.

otHistoryTrackerIterator

Representa um iterador para iterar em uma lista de histórico.

otHistoryTrackerMessageInfo

Representa uma informação da mensagem RX/TX IPv6.

otHistoryTrackerMulticastAddressInfo

Representam informações de endereço multicast IPv6.

otHistoryTrackerNeighborInfo

Representa as informações de um vizinho.

otHistoryTrackerNetworkInfo

Representa informações da rede Thread.

otHistoryTrackerOnMeshPrefixInfo

Representa um dado de rede em informações de prefixo da malha.

otHistoryTrackerRouterInfo

Representa um evento de entrada da tabela do roteador.

otHistoryTrackerUnicastAddressInfo

Representa uma informação de endereço IPv6 unicast.

Enumerações

enumeração anônima

 anonymous enum

Constantes que representam a prioridade da 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

Define os eventos para informações de endereço IPv6 (unicast ou multicast) (ou seja, se o endereço foi 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

Define os eventos em informações vizinhas (por exemplo,

se o vizinho é adicionado, removido ou alterado).

O evento OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING é aplicável apenas a vizinhos filhos. Ele é acionado depois que o dispositivo é (re)iniciado e quando a lista anterior dos filhos é recuperada de configurações não voláteis e o dispositivo tenta restaurar a conexão com elas.

Propriedades
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED

Vizinho adicionado.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED

Vizinho alterado (por exemplo, sinalizações do modo dispositivo alteradas).

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED

O vizinho foi removido.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING

O vizinho está sendo restaurado (aplicável apenas ao filho).

otHistoryTrackerNetDataEvent

 otHistoryTrackerNetDataEvent

Define os eventos para 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 da rede foi adicionada.

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

A entrada de dados da rede foi removida.

otHistoryTrackerRouterEvent

 otHistoryTrackerRouterEvent

Define os eventos nas informações de um roteador (por exemplo,

se o roteador foi adicionado, removido ou alterado).

Propriedades
OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED

Roteador adicionado (ID de roteador alocado).

OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED

Custo do caminho de entrada do roteador alterado (próximo salto como antes).

OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED

Próximo salto e custo da entrada do roteador alterados.

OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED

A entrada do roteador é removida (o ID do roteador foi liberado).

Typedefs

otHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

Representa uma informação de rota externa dos dados de rede.

otHistoryTrackerIterator

struct otHistoryTrackerIterator otHistoryTrackerIterator

Representa um iterador para iterar em uma lista de histórico.

Os campos desse tipo são opacos (destinados ao uso pelo núcleo do OpenThread) e, portanto, não podem ser acessados/usados pelo autor da chamada.

Antes de usar um iterador, ele PRECISA ser inicializado com otHistoryTrackerInitIterator(),

otHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

Representa uma informação da mensagem RX/TX IPv6.

Alguns dos campos nesta estrutura são aplicáveis apenas a uma mensagem RX ou TX, por exemplo, mAveRxRss é o RSS médio de todos os frames de fragmento que formam uma mensagem recebida e só é aplicável a uma mensagem RX.

otHistoryTrackerMulticastAddressInfo

struct otHistoryTrackerMulticastAddressInfo otHistoryTrackerMulticastAddressInfo

Representam informações de endereço multicast IPv6.

otHistoryTrackerNeighborInfo

struct otHistoryTrackerNeighborInfo otHistoryTrackerNeighborInfo

Representa as informações de um vizinho.

otHistoryTrackerNetworkInfo

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

Representa informações da rede Thread.

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

Representa um dado de rede em informações de prefixo da malha.

otHistoryTrackerRouterInfo

struct otHistoryTrackerRouterInfo otHistoryTrackerRouterInfo

Representa um evento de entrada da tabela do roteador.

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

Representa uma informação de endereço IPv6 unicast.

remotas

otHistoryTrackerEntryAgeToString

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

Converte determinada idade de entrada em uma string legível.

A string de idade da entrada segue o formato "::." 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 em aBuffer (dentro dos caracteres aSize), ela será truncada, mas a gerada sempre será terminada com valor nulo.

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. Recomendamos usar OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE.

otHistoryTrackerInitIterator

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

Inicializa um otHistoryTrackerIterator.

Um iterador PRECISA ser inicializado antes de ser usado.

Um iterador 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 é dada em relação ao tempo em que o iterador foi inicializado, ou seja, a idade da entrada é fornecida como a duração (em milissegundos) do evento (quando a entrada foi registrada) até o tempo de inicialização do iterador.

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

otHistoryTrackerIterateExternalRouteHistory

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

Itera nas entradas na lista do histórico de entradas de rota dos dados de rede.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
A entrada otHistoryTrackerExternalRouteInfo ou NULL, caso não haja mais entradas na lista.

otHistoryTrackerIterateMulticastAddressHistory

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

Itera nas 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 iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
Um ponteiro para a entrada otHistoryTrackerMulticastAddressInfo ou NULL caso não haja mais entradas na lista.

otHistoryTrackerIterateNeighborHistory

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

Itera nas entradas na lista de histórico de vizinhos.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
A entrada otHistoryTrackerNeighborInfo ou NULL, caso não haja mais entradas na lista.

otHistoryTrackerIterateNetInfoHistory

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

Itera nas entradas na 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 iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
Um ponteiro para a entrada otHistoryTrackerNetworkInfo ou NULL caso não haja mais entradas na lista.

otHistoryTrackerIterateOnMeshPrefixHistory

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

Itera nas entradas nos dados de rede na lista do histórico de entradas de prefixos da malha.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
A entrada otHistoryTrackerOnMeshPrefixInfo ou NULL, caso não haja mais entradas na lista.

otHistoryTrackerIterateRouterHistory

const otHistoryTrackerRouterInfo * otHistoryTrackerIterateRouterHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Itera nas entradas na lista do histórico do roteador.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
A entrada otHistoryTrackerRouterInfo ou NULL, caso não haja mais entradas na lista.

otHistoryTrackerIterateRxHistory

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

Itera nas entradas na 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 iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
A entrada otHistoryTrackerMessageInfo ou NULL, caso não haja mais entradas na lista.

otHistoryTrackerIterateTxHistory

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

Itera nas entradas na lista do histórico de mensagens TX.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in,out] aIterator
Um ponteiro para um iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
A entrada otHistoryTrackerMessageInfo ou NULL, caso não haja mais entradas na lista.

otHistoryTrackerIterateUnicastAddressHistory

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

Itera nas 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 iterador. PRECISA ser inicializado. Caso contrário, o comportamento será indefinido.
[out] aEntryAge
Um ponteiro para uma variável que mostra a idade da entrada. NÃO PODE ser NULL. A idade é fornecida como a duração (em milissegundos) entre o momento em que a entrada foi gravada e o tempo de inicialização aIterator. Ele é definido como OT_HISTORY_TRACKER_MAX_AGE para entradas anteriores à idade máxima.
Retorna
Um ponteiro para a entrada otHistoryTrackerUnicastAddressInfo ou NULL caso não haja 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_INFINITE_PATH_COST

 OT_HISTORY_TRACKER_INFINITE_PATH_COST 0

Custo de caminho infinito: usado em otHistoryTrackerRouterInfo.

OT_HISTORY_TRACKER_MAX_AGE

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

Esta constante especifica a idade máxima das entradas, que é 49 dias (em ms).

As inscrições mais antigas que a idade máxima vão atribuir esse valor como a idade delas.

OT_HISTORY_TRACKER_NO_NEXT_HOP

 OT_HISTORY_TRACKER_NO_NEXT_HOP 63

Nenhum próximo salto: para mNextHop em otHistoryTrackerRouterInfo.

Recursos

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