MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara melacak permintaan MongoDB dari aplikasi konsol

Saya tidak akrab dengan MongoDB tetapi sejauh yang saya tahu tidak ada dukungan default untuk itu dalam hal Wawasan Aplikasi. Tapi itu tidak berarti Anda tidak bisa melakukan ini, itu hanya akan melibatkan beberapa kode lagi.

Sekali lagi, saya tidak akrab dengan MongoDB tetapi menurut http ://www.mattburkedev.com/logging-queries-from-mongodb-c-number-driver/ ada dukungan bawaan untuk mencatat kueri yang dihasilkan. Sekarang, kita hanya perlu menghubungkannya ke Wawasan Aplikasi.

Karena Anda sudah tahu cara menggunakan TelemetryClient kita dapat menggunakan metode pelacakan khusus yang disediakan oleh kelas itu. Lihat https:// docs.microsoft.com/nl-nl/azure/application-insights/app-insights-api-custom-events-metrics untuk metode pelacakan khusus yang tersedia.

Yang perlu Anda lakukan adalah memasukkan beberapa kode seperti ini:

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

Kelas telemetryClient thread-safe sehingga Anda dapat menggunakannya kembali.

Sekarang, menurut blogpost yang direferensikan, Anda seharusnya dapat melakukan sesuatu seperti ini:

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

Sekali lagi, saya tidak terbiasa dengan MongoDB tetapi saya harap ini adalah titik awal untuk imajinasi Anda tentang cara menyesuaikannya dengan kebutuhan Anda menggunakan pengetahuan Anda tentang MongoDB.

EDIT:

Jika ada juga CommandCompletedEvent atau acara serupa yang bertentangan dengan CommandStartedEvent acara Anda mungkin harus melacak ketergantungan di sana karena Anda kemudian harus dapat menghitung (atau membaca sederhana) waktu yang dihabiskan dan mungkin mendapatkan nilai sebenarnya untuk indikator keberhasilan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Perbedaan antara indeks pada bidang teks dan indeks teks?

  2. Meteor meneruskan id ke tautan

  3. MongoDB - pencarian operator $text untuk frasa ATAU kata

  4. Meteor.Collection.ObjectID() vs MongoDB ObjectId()

  5. Koneksi MongoDB yang dikelola kontainer di Liberty + Spring Data