O profiler do OpenTelemetry representa o que seus criadores chamam de outro marco, como um dos projetos mais dinâmicos e importantes para código aberto em geral, e especialmente para observabilidade. Se corresponder às ambições dos criadores do OpenTelemetry (OTel), os sinais de criação de perfil contínuo poderão ser pelo menos tão críticos quanto os dados de métricas, rastreamentos e registros.
O perfil OTel ainda não está disponível para uso – sua disponibilidade geral está prevista para o final do ano para a versão 1.0. Ele também está disponível ao público “até certo ponto” há mais de seis anos, disse Morgan McLean, diretor sênior de gerenciamento de produtos do Splunk e também um dos principais criadores do OpenTelemetry, ao The New Stack.
“Embora forneça uma maneira simples e poderosa para os desenvolvedores e suas organizações reduzirem os custos de infraestrutura e melhorarem o desempenho, dando-lhes visibilidade para funções de código individuais, o perfil ainda não é incrivelmente bem conhecido e não é usado em todo o setor na medida que são análises de métricas, logs e rastreamentos”, disse McLean. “Com a adição do perfil ao OpenTelemetry, esperamos que o perfil de produção contínua se torne popular.”
Sobre a criação de perfil: A criação de perfil contínua está disponível ao público, até certo ponto, há mais de seis anos. Com a adição da criação de perfil ao OpenTelemetry, esperamos que a criação de perfil de produção contínua se torne popular.
Para entender por que o profiler é importante, é necessário contextualizá-lo. Primeiro, havia dados de telemetria que consistiam em logs, métricas e, mais recentemente, rastreamentos, oferecendo os dados necessários para serem examinados ou coletados. Mas uma vez recolhidos e observados através da monitorização, não significa muito se os dados não tiverem sido analisados ou canalizados de forma adequada para eliminar dados de telemetria irrelevantes.
Ao mesmo tempo, a observação de eventos ou o desempenho como operador utilizando os diferentes dados de telemetria tem sido útil até certo ponto. Mas fica aquém da observabilidade, que envolve a obtenção de conhecimentos acionáveis com base em inferências a partir destes dados recolhidos através da monitorização.
OpenTelemetry oferece um processo padronizado para observabilidade. É neutro em relação ao fornecedor e é usado para dar sentido aos dados de telemetria que consistem em métricas, logs e rastreamentos. Também é mais do que meramente neutro em relação ao fornecedor, pois foi projetado para permitir que o usuário integre as ferramentas de observabilidade de sua escolha em uma abordagem comum, unificando-as assim.
Dessa forma, o OpenTelemetry desempenha um papel fundamental na integração, servindo como um componente central para permitir monitoramento e análise de dados contínuos em vários ambientes. Com o OpenTelemetry, a evolução mais recente dessa integração ressalta sua importância: isso se manifesta na forma de recursos aprimorados de criação de perfil, permitindo que os usuários obtenham insights mais profundos sobre o desempenho do sistema e a utilização de recursos.
Indo mais fundo
O criador de perfil do OpenTelemetry deve ser útil para os usuários porque se aprofunda na análise de observabilidade, estendendo-se ao nível do código. Ele instrumentaliza uma análise mais profunda de métricas, rastreamentos e logs, estendendo os dados telemétricos reunidos em um fluxo unificado, que se estende ao nível do código para aplicativos em toda a rede. O código é analisado e armazenado.
Na prática, isso significa que quando surge um problema, ou ao observar certos aspectos de desempenho que um fluxo de dados de observabilidade oferece – como quando uma CPU está lenta ou quando a solicitação de dados de um usuário final está demorando muito – o perfil discerne o código em questão. Com as ferramentas adicionais certas para observabilidade, as correções devem ser fornecidas mais rapidamente, pois os usuários identificarão o código do problema com mais facilidade por meio de suas consultas.
As relações entre as mensagens. Fonte: Projeto OpenTelemetry
Em uma postagem no blog, Austin Parker, diretor de código aberto do Honeycomb, descreveu a criação de perfis e ofereceu exemplos, observando que os perfis oferecem suporte para links bidirecionais. Isso significa que o usuário pode se aprofundar no nível do código, desde os aspectos fornecidos pelos dados de telemetria até o perfil correspondente. Os exemplos comunicados por Parker incluem:
Métricas para perfis: picos no uso de CPU ou memória são traduzidos no código que consome os recursos em tempo de execução.
Rastreamentos para perfis: além de poder identificar onde a alta latência se manifesta na rede, o perfil anexado a um rastreamento ou intervalo revela o código responsável pela alta latência.
Registros para perfis: os logs continuam sendo uma parte crucial da observabilidade junto com métricas e rastreamentos, mas além de usar logs para rastrear problemas como erros de falta de memória, o código responsável pelo consumo extra de memória é mostrado para análise posterior.
Grandes contribuições
O projeto deve ser finalizado ou trabalhando para sua funcionalidade de disponibilidade geral este ano – graças ao esforço contínuo da comunidade, é claro. Os criadores do projeto destacaram alguns dos principais contribuidores da comunidade OpenTelemetry, incluindo os seguintes:
Felix Geisendörfer (Datadog)
Alexei Alexandrov (Google)
Dmitry Filimonov (Laboratórios Grafana)
Ryan Perry (Laboratórios Grafana)
Jonathan Halliday (Chapéu Vermelho)
Além disso, Elastic e Splunk estão fazendo doações significativas. De acordo com a documentação da proposta, a doação do agente de perfil Elastic irá:
“Preencha a lacuna no cenário/arquitetura de componentes do OpenTelemetry com uma solução de criação de perfil madura, rica em recursos e eficiente. Com isso, tecnologias de ponta em eBPF e criação de perfil se tornariam um padrão através do OpenTelemetry para coleta de dados de criação de perfil em produção. A coleta de dados de criação de perfil com OpenTelemetry em uma ampla variedade de linguagens/tecnologias traria uma experiência de implantação sem atritos.”
A doação segue o “casamento” entre as ferramentas de observabilidade Elastic Common Schema (ECS) e OpenTelemetry Semantic Conventions. Especificamente, os criadores do Elastic de código aberto estão contribuindo com ECS para o OpenTelemetry e estão comprometidos com o desenvolvimento conjunto dos dois projetos.
As contribuições do Elastic e do Splunk “são críticas para tornar os perfis um sinal de primeira classe no OpenTelemetry”, disse McLean.
Como McLean explicou, a maioria dos criadores de perfil não usa eBPF, pois tempos de execução de linguagem como JVM, .NET CLR, tempo de execução Go, etc., têm essa funcionalidade integrada. A OpenTelemetry buscará tanto o perfil de linguagem direto quanto o perfil baseado em eBPF. A criação de perfil diretamente de um tempo de execução de linguagem normalmente fornece mais dados e requer menos processamento, enquanto a criação de perfil baseada em eBPF pode ser aplicada a linguagens que não possuem recursos de criação de perfil integrados, são mais fáceis de configurar e requerem muito pouco processamento (um pouco mais do que direto), explicou McLean.
A integração do agente de criação de perfil da Elastic, bem como do ECS, com o OTel ressalta o alcance combinado do Elastic e do OTel, e o compromisso de seus criadores em permitir que os usuários mesclem dados de telemetria em um único painel para uma análise mais abrangente de observabilidade. Na verdade, a integração do ECS com o OTel ajuda o projeto OTel a avançar em direção ao objetivo final de total compatibilidade e padronização com qualquer ferramenta ou processo de observabilidade.
Em outras palavras, tanto o Elasticsearch quanto o OpenTelemetry — especialmente desde que sua disponibilidade geral foi lançada algumas semanas antes de 2024 — são plataformas muito populares para integrar e trabalhar com logs de dados, métricas e rastreamentos de diversas fontes. A sua maior integração deve ser apreciada por muitos.
O Splunk iniciou o processo de doação de seu criador de perfil .Net. Isso, explicam os criadores do projeto, permitirá à OTel capturar perfis de C#, F# e outras aplicações .NET.
O trabalho do criador de perfil do Splunk para OpenTelemetry também continua em andamento, assim como a contribuição do Elasticsearch. De acordo com a documentação do projeto, a configuração do perfil contínuo é demonstrada pela forma como a instrumentação automática do OpenTelemetry .NET registra a configuração do perfil no nível do log de depuração durante a inicialização. O criador de perfil aproveita o perfil do .NET para realizar amostragem periódica da pilha de chamadas. Para cada período de amostragem, o tempo de execução é suspenso e as amostras de todos os threads gerenciados são salvas no buffer; então, o tempo de execução é retomado.
Status e Futuro
Novamente, o OpenTelemetry Profiler deve ser finalizado este ano. Representa o marco mais recente do projeto após a conclusão dos recursos de logs com OpenTelemetry em 2023. Para o futuro, os criadores do projeto listam esses recursos como “capacidades futuras” na documentação da especificação OTEL:
Modelo de dados de perfis
API de perfis
SDK de perfis
“Falando por mim mesmo, quando estávamos formando o OpenTelemetry, o foco estava em rastreamentos e métricas, e os logs eram o próximo passo óbvio depois disso. Na época, eu também ajudei a lançar o que considero ser o primeiro produto de criação de perfil distribuído disponível publicamente e fiquei muito entusiasmado em dar a todos os desenvolvedores uma visão sobre o desempenho real de seu código na produção”, disse McLean. “Tornar os perfis um sinal de primeira classe no OpenTelemetry e tornar esses tipos de ferramentas acessíveis tem sido um sonho e um objetivo meu desde que comecei a OTel, e é incrível ver isso realizado.”
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER
BC Gain é fundador e analista principal da ReveCom Media. Sua obsessão por computadores começou quando ele hackeou um console Space Invaders para jogar o dia todo por 25 centavos no fliperama local, no início dos anos 1980. Ele então…
Este site utiliza cookies para melhorar sua experiência de navegação. Ao continuar, você concorda com o uso de cookies. Para mais informações, consulte nossa Política de Privacidade.
Funcional
Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos.O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.