Je ne connais pas MongoDB, mais pour autant que je sache, il n'y a pas de support par défaut pour Application Insights. Mais cela ne signifie pas que vous ne pouvez pas le faire, cela impliquera simplement un peu plus de code.
Encore une fois, je ne connais pas MongoDB mais selon http ://www.mattburkedev.com/logging-queries-from-mongodb-c-number-driver/ il existe un support intégré pour la journalisation des requêtes générées. Maintenant, nous n'avons plus qu'à connecter cela à Application Insights.
Puisque vous savez déjà utiliser le TelemetryClient
nous pouvons utiliser les méthodes de suivi personnalisées fournies par cette classe. Voir https:// docs.microsoft.com/nl-nl/azure/application-insights/app-insights-api-custom-events-metrics
pour les méthodes de suivi personnalisées disponibles.
Tout ce que vous avez à faire est d'insérer un code comme celui-ci :
telemetryClient.TrackDependency(
"MongoDB", // The name of the dependency
query, // Text of the query
DateTime.Now, // Time that query is executed
TimeSpan.FromSeconds(0), // Time taken to execute query
true); // Indicates success
La classe telemetryClient
est thread-safe afin que vous puissiez le réutiliser.
Maintenant, selon l'article de blog référencé, vous devriez pouvoir faire quelque chose comme ceci :
var client = new MongoClient(new MongoClientSettings()
{
Server = new MongoServerAddress("localhost"),
ClusterConfigurator = cb =>
{
cb.Subscribe<CommandStartedEvent>(e =>
{
telemetryClient.TrackDependency(
"MongoDB", // The name of the dependency
e.Command.ToJson() // Text of the query
DateTime.Now, // Time that query is executed
TimeSpan.FromSeconds(0), // Time taken to execute query
true); // Indicates success
});
}
});
Encore une fois, je ne connais pas MongoDB mais j'espère que c'est un point de départ pour votre imagination sur la façon de l'adapter à vos besoins en utilisant votre connaissance de MongoDB.
MODIFIER :
S'il y a aussi un CommandCompletedEvent
ou un événement similaire par opposition à CommandStartedEvent
événement, vous devriez probablement y suivre la dépendance, car vous devriez alors pouvoir calculer (ou simplement lire) le temps passé et peut-être obtenir la valeur réelle de l'indicateur de succès.