BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias LINQ para logs e rastreamentos

LINQ para logs e rastreamentos

Favoritos

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.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT