BT

LINQ para logs e rastreamentos

por Roopesh Shenoy , traduzido por Elias Lima de Souza em 13 Fev 2014 |

A Microsoft Open Technologies, braço da empresa que trabalha com tecnologias abertas, anunciou recentemente o lançamento do Tx, um projeto de código aberto que pode ajudar a depuração utilizando Logs e Traces, e construir sistemas para monitoramento de eventos e alerta em tempo real.

Algumas funcionalidades interessantes:

  • Permite o uso de LINQ em fontes de eventos do Windows;
  • Habilita o uso de Reactive Extensions em fontes de eventos reais com suporte para sequência de eventos multiplexados (uma única sequência contendo eventos de diferentes tipos em ordem de ocorrência);
  • É possível fornecer consultas únicas através de diferentes fontes, com a mesma API tanto para eventos em tempo real quanto para eventos históricos;
  • Em logs históricos, múltiplas consultas podem ser executadas em uma leitura - por exemplo, contar todos os eventos de "Warning", comparar eventos "Begin" e "End" e calcular a duração média de cada atividade.

Também é possível usar o LINQPad para analisar ou construir aplicações .NET de monitoramento. No LINQPad, a experiência do Tx é como se todos os eventos estivessem em um banco de dados.

O lançamento fornece quatro pacotes diferentes para o NuGet:

  • Tx.Core - componentes comuns sem um formato de rastreamento especifico;
  • Tx.Windows - Suporte para o rastreamento de eventos (Event Tracing) no Windows, Event logs, e contradores de performance de arquivos e uma API de contador em tempo real, logs texto do IIS no formato W3C;
  • Tx.SqlServer - Eventos estendidos do SQL Server;
  • Tx.All - Um pacote de conveniência, com todos os listados acima.

Note que a Microsoft também aconselha quando não usar o Tx:

  • Quando não há nenhum tipo de fornecimento de dados em tempo real envolvido e os dados já estão em memória ou em um único arquivo de fácil leitura, o guia é usar Linq-To-Objects ao invés do Tx;
  • Quando existe alimentação de dados em tempo real, mas cada fonte ou arquivo contém apenas um tipo de evento, use apenas as Reactive Extensions.

A ferramenta tem sido utilizada internamente na Microsoft, nas equipes do WCF e Service Bus e agora está disponível para todos os desenvolvedores .NET usarem em seus projetos. Para mais informações confira a documentação.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT