MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да проследявате MongoDB заявки от конзолно приложение

Не съм запознат с MongoDB, но доколкото мога да кажа, няма поддръжка по подразбиране за него, когато става въпрос за Application Insights. Но това не означава, че не можете да направите това, просто ще включва още малко код.

Отново, не съм запознат с MongoDB, но според http ://www.mattburkedev.com/logging-queries-from-mongodb-c-number-driver/ има вградена поддръжка за регистриране на генерираните заявки. Сега трябва само да свържем това с Application Insights.

Тъй като вече знаете как да използвате TelemetryClient можем да използваме персонализираните методи за проследяване, предоставени от този клас. Вижте https:// docs.microsoft.com/nl-nl/azure/application-insights/app-insights-api-custom-events-metrics за наличните персонализирани методи за проследяване.

Всичко, което трябва да направите, е да вмъкнете код като този:

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

Класът telemetryClient е безопасен за нишки, така че можете да го използвате повторно.

Сега, според цитираната публикация в блога, трябва да можете да направите нещо подобно:

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
        });
    }
});

Отново, не съм запознат с MongoDB, но се надявам, че това е отправна точка за вашето въображение как да го адаптирате към вашите нужди, като използвате знанията си за MongoDB.

РЕДАКТИРАНЕ:

Ако има и CommandCompletedEvent или подобно събитие за разлика от CommandStartedEvent случай, вероятно трябва да проследите зависимостта там, защото тогава трябва да можете да изчислите (или просто да прочетете) изразходваното време и може би да получите действителната стойност за индикатора за успех.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Предаване на параметри на модела в модел на мангуста

  2. Как да използвате mongoose distinct, прескачане и ограничаване заедно

  3. Инсталиране на Mongodb с Lamp на Ubuntu (Linux)

  4. Множество препратки към схеми в един масив от схеми - mongoose

  5. MongoDB намиране на всички свойства на документа