Um segredo mal guardado nos últimos meses foi confirmado pela Microsoft. A empresa anunciou formalmente o DTrace for Windows. Este é mais um dos inúmeros passos dados pela Microsoft em direção ao código aberto. O DTrace é uma estrutura de rastreamento dinâmico que permite que um administrador ou desenvolvedor obtenha uma visão em tempo real de um sistema no modo de usuário ou no modo kernel.
Características do DTrace
O DTrace tem uma linguagem de programação poderosa e de alto nível C que permite inserir dinamicamente pontos de rastreio. Usando esses pontos de rastreio inseridos dinamicamente, você pode filtrar condições ou erros, escrever código para analisar padrões de bloqueio, detectar deadlocks etc. ETW enquanto poderoso, é estático e não fornece a capacidade de inserir pontos de rastreamento programaticamente em tempo de execução.
A Microsoft portou o código de rastreamento dinâmico do DTrace de código aberto que começou no Solaris e desde então apareceu no BSDs e no Linux (bem, pelo menos no Oracle Linux) e agora no Windows. A Microsoft contribuiu com suporte para o DTrace no Windows para o projeto Open DTrace existente. As mudanças para a fusão ainda estão sob revisão, mas a Microsoft diz que está comprometida em fazer com que suas mudanças sejam mescladas nos próximos meses.
Aqueles que desejam executar o DTrace no Windows já podem fazê-lo através das mais recentes compilações do Windows Insider Program, incluindo o suporte ao depurador de kernel.
Histórico
O DTrace já foi um dos grandes pontos de venda do Solaris durante os dias de Sun. Embora existindo no Linux, o DTrace não é de interesse de muitos desenvolvedores. Isso quando comparado ao eBPF e outras funcionalidades de rastreamento existentes. Esperar para ver se acaba caindo no gosto do desenvolvedor no Windows.
Existem muitos sites e recursos da comunidade para aprender sobre o DTrace. Um dos mais abrangentes é o livro html do Dynamic Tracing Guide disponível no site dtrace.org. Este ebook descreve o DTrace em detalhes e é o guia oficial do DTrace.
Mais detalhes através do blog da Microsoft .