AWS X-Ray SDK pour .NET - AWS X-Ray

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS X-Ray SDK pour .NET

Le SDK X-Ray pour .NET est une bibliothèque permettant d'instrumenter les applications Web .NET C#, les applications Web .NET Core et les fonctions .NET Core sur. AWS Lambda Il fournit des classes et des méthodes pour générer et envoyer des données de trace au daemon X-Ray. Cela inclut des informations sur les demandes entrantes traitées par l'application et les appels que l'application effectue vers les applications en aval Services AWS, les API Web HTTP et les bases de données SQL.

Note

Le SDK X-Ray pour .NET est un projet open source. Vous pouvez suivre le projet et soumettre des problèmes et des pull requests sur GitHub : github.com/aws/ aws-xray-sdk-dotnet

Pour les applications web, commencez par ajouter un gestionnaire de messages à votre configuration web pour suivre les demandes entrantes. Le gestionnaire de messages crée un segment pour chaque demande suivie et met fin au segment lorsque la réponse est envoyée. Tandis que le segment soit ouvert, vous pouvez utiliser les méthodes du client du SDK pour ajouter des informations au segment et créer des sous-segments afin de suivre les appels en amont. Le kit de développement logiciel (SDK) enregistre aussi automatiquement les exceptions que votre application renvoie quand le segment est ouvert.

Pour les fonctions Lambda appelées par une application ou un service instrumenté, Lambda lit l'en-tête de suivi et trace automatiquement les requêtes échantillonnées. Pour les autres fonctions, vous pouvez configurer Lambda pour échantillonner et suivre les demandes entrantes. Dans les deux cas, Lambda crée le segment et le fournit au SDK X-Ray.

Note

Sur Lambda, le SDK X-Ray est facultatif. Si vous ne l'utilisez pas dans votre fonction, votre carte de service inclura toujours un nœud pour le service Lambda et un nœud pour chaque fonction Lambda. En ajoutant le SDK, vous pouvez instrumenter votre code de fonction pour ajouter des sous-segments au segment de fonction enregistré par Lambda. Pour plus d’informations, consultez AWS Lambda et AWS X-Ray.

Utilisez ensuite le SDK X-Ray pour .NET pour instrumenter AWS SDK for .NET vos clients. Chaque fois que vous appelez une ressource Service AWS ou une ressource en aval avec un client instrumenté, le SDK enregistre les informations relatives à l'appel dans un sous-segment. AWS les services et les ressources auxquels vous accédez au sein des services apparaissent sous forme de nœuds en aval sur la carte de trace pour vous aider à identifier les erreurs et les problèmes de limitation sur les connexions individuelles.

Le SDK X-Ray pour .NET fournit également des instruments pour les appels en aval aux API Web HTTP et aux bases de données SQL. La méthode d'extension GetResponseTraced pour System.Net.HttpWebRequest suit les appels HTTP sortants. Vous pouvez utiliser le SDK X-Ray pour la version .NET de pour SqlCommand instrumenter les requêtes SQL.

Après avoir commencé à utiliser le SDK, personnalisez son comportement en configurant l'enregistreur et le gestionnaire de messages. Vous pouvez ajouter des plug-ins pour enregistrer les données sur les ressources de calcul exécutant votre application, personnaliser le comportement d'échantillonnage en définissant des règles d'échantillonnage et définir le niveau de journal afin d'afficher plus ou moins d'informations du kit de développement logiciel dans vos journaux d'application.

Enregistrez les informations supplémentaires sur les demandes et le travail que votre application effectue dans les annotations et les métadonnées. Les annotations sont de simples paires clé-valeur, indexées en vue de leur utilisation avec les expressions de filtre, de telle sorte que vous pouvez explorer les suivis qui contiennent des données spécifiques. Les entrées des métadonnées sont moins restrictives et peuvent enregistrer des objets et tableaux entiers (tout ce qui peut être sérialisé en JSON).

Annotations et métadonnées

Les annotations et les métadonnées sont du texte arbitraire que vous ajoutez aux segments avec le kit de développement X-Ray. Les annotations sont indexées pour être utilisées avec les expressions de filtre. Les métadonnées ne sont pas indexées, mais peuvent être consultées dans le segment brut à l'aide de la console ou de l'API X-Ray. Toute personne à qui vous accordez un accès en lecture à X-Ray peut consulter ces données.

Lorsque vous avez un grand nombre de clients instrumentés dans votre code, un seul segment de demande peut contenir un grand nombre de sous-segments, un par appel effectué à l'aide d'un client instrumenté. Vous pouvez organiser et grouper les sous-segments en enveloppant les appels clients dans des sous-segments personnalisés. Vous pouvez créer un sous-segment personnalisé pour une fonction complète ou une quelconque section du code, puis enregistrer les métadonnées et les annotations sur le sous-segment au lieu de tout écrire sur le segment parent.

Pour obtenir de la documentation de référence sur les classes et méthodes du kit de développement logiciel, consultez les ressources suivantes :

Le même package prend en charge à la fois .NET et .NET Core, mais les classes utilisées varient. Les exemples contenus dans ce chapitre sont liés à la référence d'API .NET, sauf si la classe est propre à .NET Core.

Prérequis

Le SDK X-Ray pour .NET nécessite le .NET Framework 4.5 ou une version ultérieure AWS SDK for .NET et.

Pour les applications et fonctions .NET Core, le kit SDK requiert .NET Core 2.0 ou une version ultérieure.

Ajout du SDK X-Ray pour .NET à votre application

NuGet À utiliser pour ajouter le SDK X-Ray pour .NET à votre application.

Pour installer le SDK X-Ray pour .NET NuGet avec le gestionnaire de packages dans Visual Studio
  1. Choisissez Outils, Gestionnaire de NuGet packages, Gérer les NuGet packages pour la solution.

  2. Recherchez AWSXRayRecorder.

  3. Choisissez le package, puis choisissez Install.

Gestion des dépendances

Le SDK X-Ray pour .NET est disponible auprès de Nuget. Installez le SDK à l'aide du gestionnaire de packages :

Install-Package AWSXRayRecorder -Version 2.10.1

Le package AWSXRayRecorder v2.10.1 nuget possède les dépendances suivantes :

NET Framework 4.5

AWSXRayRecorder (2.10.1)
|
|-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- AWSSDK.Core (>= 3.3.25.1)
|      
|-- AWSXRayRecorder.Handlers.AspNet (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.AwsSdk (>= 2.8.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.EntityFramework (>= 1.1.1)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- EntityFramework (>= 6.2.0)
|
|-- AWSXRayRecorder.Handlers.SqlServer (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.System.Net (>= 2.7.3)
    |-- AWSXRayRecorder.Core (>= 2.10.1)      
      

NET Framework 2.0

AWSXRayRecorder (2.10.1)
|
|-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- AWSSDK.Core (>= 3.3.25.1)
|   |-- Microsoft.AspNetCore.Http (>= 2.0.0)
|   |-- Microsoft.Extensions.Configuration (>= 2.0.0)
|   |-- System.Net.Http (>= 4.3.4)
|      
|-- AWSXRayRecorder.Handlers.AspNetCore (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- Microsoft.AspNetCore.Http.Extensions (>= 2.0.0)
|   |-- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.0.0)
|
|-- AWSXRayRecorder.Handlers.AwsSdk (>= 2.8.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.EntityFramework (>= 1.1.1)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- Microsoft.EntityFrameworkCore.Relational (>= 3.1.0)
|
|-- AWSXRayRecorder.Handlers.SqlServer (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- System.Data.SqlClient (>= 4.4.0)
|
|-- AWSXRayRecorder.Handlers.System.Net (>= 2.7.3)
    |-- AWSXRayRecorder.Core (>= 2.10.1)
      

Pour plus de détails sur la gestion des dépendances, consultez la documentation Microsoft sur la dépendance Nuget et la résolution des dépendances Nuget.