BT

Nouveau Early adopter ou innovator ? InfoQ a travaillé sur de nouvelles fonctionnalités pour vous. En savoir plus

LINQ sur les Logs et les Traces

| par Roopesh Shenoy , traduit par Antoine Diekmann le 28 janv. 2014. Durée de lecture estimée: 2 minutes |

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

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de lindustrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT