Échantillon d'application ASPNET pour détecter la famine Threadpool en utilisant:
dotnet-countersdotnet-stackheydotnet-monitorprometheusgrafanaExécutez l'application à l'aide de Docker
docker compose up app
Surveiller l'application à l'aide de compteurs dotnet
docker exec -it thread-pool-test-app dotnet-counters monitor -n dotnet
Pour faire fonctionner le dotnet-stack ce qui suit
docker exec -it thread-pool-test-app dotnet-stack report -n dotnet
L'exécution de l'application démarrera un conteneur avec dotnet-monitor . Ce conteneur est configuré pour obtenir des commandes de diagnostic à partir du conteneur d'application via un port de diagnostic. Dotnet Monitor expose les points de terminaison avec des informations utiles:
Une liste complète peut sembler ici: https://github.com/dotnet/dotnet-monitor/blob/main/documentation/api/readme.md.
Le point de terminaison des métriques capture les mesures dans le format d'exposition Prometheus.
Pour démarrer Grafana, utilisez la commande ci-dessous:
docker compose up grafana
Les dispositions de composition Grafana avec Prometheus DataSource et la communauté ont fourni un tableau de bord Dotnet-Monitor. Une fois démarré, allez sur http: // localhost: 3000 / tableaux de bord (utilisateur: admin , mot de passe: admin )
Démarrer le test de charge qui frappe le point de terminaison Sync
docker compose up send-load-sync
Démarrez le test de charge qui frappe le point de terminaison asynchrone
docker compose up send-load-async