BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités LINQ sur les Logs et les Traces

LINQ sur les Logs et les Traces

Favoris

Microsoft Open Technologies a récemment annoncé la sortie de Tx, un projet open source qui permet de faciliter le débogage en utilisant des Logs et Traces pour mettre en place un système de surveillance et d’alertes temps réels.

Le système est composé de plusieurs fonctionnalités intéressantes :

  • l’utilisation de LINQ directement sur les source d’évènements (Event Sources)
  • l’utilisation de Reactive Extensions sur les sources d’événements avec un support des séquences d’événements multiplexées (il s’agit d’une séquence unique contenant différents types d’événements par ordre d’apparition)
  • la possibilité de fournir une requête unique sur plusieurs sources avec la même API en temps réel et dans l’historique
  • avec les fichiers d’historiques Log/Traces, plusieurs requêtes peuvent être effectuées en une seule lecture. Par exemple, compter tous les «Evénements d’avertissements» qui contiennent les mots « Begin » et « End » et calculer la durée moyenne de chaque activité.

Pour supporter ces fonctionnalités, Il est possible d’utiliser LINQPad pour l’analyse ponctuelle ou intégrer ce Framework directement dans vos applications .NET. Avec LINQPad, l’expérience est similaire à celle du requêtage d’une base de données.

Le projet propose 4 packages NuGet :

  • Tx.Core – Composants communs non spécifiques à un format de traçage particulier.
  • Tx.Windows – Support de traçage d’évènements Windows, journaux d’événements, compteurs de performances à partir de fichiers et d’une API de décompte en temps réel, IIS Text Logs au format W3C.
  • Tx.SqlServer – Support des événements SQL Server étendus.
  • Tx.All – Un package utilitaire comprenant tous les éléments précédents.

Notez que Microsoft nous conseille de ne pas utiliser Tx dans les cas suivants :

  • Lorsqu’il n’y a pas de flux temps réel et que les données sont uniquement en mémoire ou sur un fichier unique facile à analyser. Ici, il est préférable d’utiliser LINQ-to Objects au lieu de Tx.
  • Lorsqu’il y a des flux en temps réel mais que chaque flux ou fichier contient un seul type d’événement : dans ce cas privilégiez Reactive Extensions.

L’outil est utilisé en interne chez Microsoft par les équipes WCF et Service Bus et est désormais disponible pour tous les développeurs .NET. Pour commencer, nous vous invitions à jeter un œil à sa documentation.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT