OpenTracing
O login do hiperlink está visível.
O OpenTracing desenvolveu um protocolo Trace independente de plataforma e de fornecedor, permitindo que desenvolvedores adicionem ou substituam facilmente implementações de sistemas de rastreamento distribuído. Em novembro de 2016, o Comitê Técnico do CNCF votou para aceitar o OpenTracing como um projeto hospedado, que é o terceiro projeto do CNCF, o primeiro é o Kubernetes e o segundo é o Prometheus, o que mostra que o CNCF atribui grande importância à observabilidade por trás do OpenTracing. Por exemplo, o famoso Zipkin e Jaeger seguem o protocolo OpenTracing.
OpenCensus
O login do hiperlink está visível.
Você pode estar pensando, agora que o OpenTracing chegou, o que o OpenCensus vai fazer com essa diversão? Desculpe, você deve saber que o iniciador do OpenCensus é o Google, que foi a primeira empresa a propor o conceito de Rastreamento, e o OpenCensus é a versão comunitária do Google Dapper. A maior diferença entre OpenCensus e OpenTracing é que, além do Rastreamento, ele também inclui métricas, permitindo que o monitoramento básico de métricas também seja feito no OpenCensus. Outra diferença é que o OpenCensus não é uma especificação simples, ele também faz de tudo, incluindo agentes e coletores de dados. O OpenCensus também tem um grande número de seguidores, e a maior notícia recente é que a Microsoft também anunciou sua aderência, e o OpenCensus pode ser descrito como um tigre com asas.
O que é OpenTelemetry?
O login do hiperlink está visível.
A OpenTelemetry funde os projetos OpenTracing e OpenCense, fornecendo um conjunto de APIs e bibliotecas para padronizar a aquisição e transmissão de dados de telemetria. A OpenTelemetry oferece uma ferramenta segura e neutra em relação ao fornecedor que permite que dados sejam enviados para diferentes backends conforme necessário.
O projeto OpenTelemetry consiste nos seguintes componentes:
- Impulsione o uso de especificações consistentes em todos os projetos
- Baseado em especificações, com APIs para interfaces e implementações
- SDKs (implementações de APIs) em diferentes linguagens, como Java, Python, Go, Erlang, etc
- Exportadores: Os dados podem ser enviados para um backend de sua escolha
- Coletores: Implementação neutra em relação ao fornecedor para processamento e exportação de dados de telemetria
Terminologia de Opentelemetria:
Traces: Registra a atividade da solicitação por meio de um sistema distribuído, e um trace é um grafo direcionado acíclico de intervalos
Espaços: Um traço representa uma operação nomeada, baseada no tempo. Os vãos fazem ninhos para formar árvores traçadas. Cada traço contém um envergadura raiz que descreve a latência de ponta a ponta, e suas suboperações também podem ter uma ou mais sub-savanças.
Métricas: Os dados brutos da métrica capturados em tempo de execução sobre o serviço. instrumentos métricos definidos pela Opentelemetry. O Observer suporta aquisição de dados por meio de APIs assíncronas, com um dado em cada intervalo de aquisição.
Contexto: Um intervalo contém um contexto de amplitude, que é um identificador globalmente único que representa a solicitação única à qual cada extensão pertence, bem como os dados necessários para transferir informações de rastreamento entre os limites do serviço. O OpenTelemetry também suporta contexto de correlação, que pode conter atributos definidos pelo usuário. O contexto de correlação não é necessário, e o componente pode optar por não transportar e armazenar essa informação.
Propagação de contexto: Indica a passagem de informações contextuais entre diferentes serviços, geralmente via cabeçalho HTTP. A propagação de contexto é uma das principais características do sistema Opentelemetry. Além do traçado, há usos interessantes, como realizar testes A/B. O OpenTelemetry suporta propagação de contexto para múltiplos protocolos para evitar possíveis problemas, mas é importante notar que é melhor usar uma única abordagem em sua própria aplicação.
Benefícios da OpenTelemetry:
Ao unir OpenTracing e OpenCensus em um único padrão aberto, o OpenTelemetry oferece as seguintes conveniências:
Fácil de escolher: Em vez de ter que escolher entre os dois padrões, o OpenTelemetry é compatível tanto com o OpenTracing quanto com o OpenCensus. Multiplataforma: O OpenTelemetry suporta várias linguagens e backends. Ele representa uma forma neutra em relação ao fornecedor de capturar e transmitir dados de telemetria para o backend sem alterar ferramentas existentes. Observabilidade simplificada: Como diz a OpenTelemetry, "telemetria de alta qualidade requer telemetria de alta qualidade". Gostaria de ver mais fornecedores mudando para o OpenTelemetry porque é mais conveniente e só precisa testar um único padrão.
|