djangosampler size sorguları (SQL, Mongo, vb) bir yüzdesi örnek ve en çok zaman kadar alıyor olanları görmek için izin veren bir Django uygulaması. sorguları onlar kodu kökenli nerede bir araya toplanmıştır.
Kurulum
Yükleme:
piton setup.py install
Yapılandırma:
- Djangosampler senin INSTALLED_APPS ekle
- Tabloları ekleyin (manage.py syncdb veya Güney kullanıyorsanız göç manage.py)
- Görünümleri ekleyin:
& Nbsp; urlpatterns + = desenleri ('',
& Nbsp; (r '^ örnekleyici /') ('djangosampler.urls' dahil),
& Nbsp;)
- 0 dışında bir değere ayarlayın DJANGO_SAMPLER_FREQ
- Eklentileri listesi Set DJANGO_SAMPLER_PLUGINS. Sadece SQL örnekleme için mantıklı bir varsayılan:
& Nbsp; DJANGO_SAMPLER_PLUGINS = (
& Nbsp; 'djangosampler.plugins.sql.Sql'
& Nbsp; # Eklentiler Bu listede aynı sırayla uygulanır
& Nbsp;)
- Orada mevcut birçok eklentileri vardır ve çoğu bu aracın dışında kullanmak için içlerinden okuma faydalıdır.
- Eğer maliyet bazlı örnekleme kullanıyorsanız o saniye içinde normal sorgu beklenen süresi DJANGO_SAMPLER_BASE_TIME ayarlayın. Varsayılan olarak bu 5ms ayarlanır.
Görüntüleme Sonuçları
Bir süre örnekleyici çalıştırmak icar sonra size yapılandırılan URL'den (kökenlerine göre gruplandırılmış) sorguları görüntülemek mümkün olacak.
Yapılandırma
DJANGO_SAMPLER_PLUGINS
Django Numune Eğer toplanan istediğiniz ne kadar veri kontrol sağlamak için bir eklenti mimarisi vardır.
Senin settings.py aşağıdaki ekleyin:
DJANGO_SAMPLER_PLUGINS (=
& Nbsp; 'djangosampler.plugins.sql.Sql'
& Nbsp; # Eklentiler Bu listede aynı sırayla uygulanır
)
Yukarıdaki örnekte, SQL eklentisi katacak.
Mevcut eklentileri ve ayarları aşağıda Eklentiler bölümünde açıklanmıştır.
DJANGO_SAMPLER_FREQ
DJANGO_SAMPLER_FREQ kaydedilecektir sorgular yüzdesini yapılandırır. Bu 0.0 ile 1.0 arasında olmalıdır.
Bu daha sonra ayarlı değilse hiçbir eklentileri yüklü olacak ve kod, normal olarak çalışacaktır.
DJANGO_SAMPLER_USE_COST
DJANGO_SAMPLER_USE_COST maliyet esaslı örnekleme sağlayacaktır. Bu uzun bir süre kısa sorguları daha sık numune alınacak aday sorguları neden olur.
Bir sorgu örneklenen şans sorgusu sürüyor toplam süre ile çarpılır. Bir sorgu 2 saniye sürer, o zaman 1 saniye sürer bir sorgu olarak numune alınacak iki kat olasılığı artacaktır.
aşağıdaki gibi bir sorgu için maliyeti bu hesaba göre ayarlanır:
Maliyet = max (1.0, zaman * DJANGO_SAMPLER_FREQ) / DJANGO_SAMPLER_FREQ
Eklentiler
Mevcut eklentileri listesi aşağıda. Kendi eklenti yazabilirsiniz ve bu 'Kendi Eklentiler Yazma' bölümünde anlatılmıştır.
Django SQL
Eklenti sınıfı: djangosampler.plugins.sql.Sql
SQL örnekleyici eklentisi uygulamanızda meydana SQL sorguları yüzdesi örnek olacak. Numuneler sorgu ve yığın izleri göre gruplandırılmış olacak sorguları menşeli nerede bulmak için kaydedilecektir.
Django İstekler
Eklenti sınıfı: djangosampler.plugins.request.Request
istek eklenti istekleri gerekli süreyi örnek olacak bir Middleware'i yükler.
Herhangi bir kod Örnek
Bu kesinlikle bir eklenti değildir. Bu kod blokları işaretlemek ve bloklar çalıştırmak için almak ne kadar örnek sağlayacak bir bağlam yöneticisidir. Örn .:
djangosampler.sampler ithalat örnekleme
örnekleme ('my_code', 'some_fn') ile:
& Nbsp; do_something_slow ()
Kereviz
Eklenti sınıfı: djangosampler.plugins.celery_task.Celery
Kereviz eklenti görevleri yürütmek için harcanan zaman örnek Kereviz sinyallerini kullanır.
MongoDB
Eklenti sınıfı: djangosampler.plugins.mongo.Mongo
MongoDB eklentisi Mongo bir yüzdesi uygulamanızda meydana (sorgular, insert, vb) komutları örnek olacaktır. Numuneler komutuyla göre gruplandırılmış olacak ve baca izleri sorguları menşeli nerede bulmak için kaydedilecektir
Gereksinimler :.
- Python
- Django
Yorum Bulunamadı