djangosampler

Screenshot der Software:
djangosampler
Softwarebeschreibung:
Version: 0.6.0
Upload-Datum: 14 Apr 15
Entwickler: Colin Howe
Lizenz: Frei
Popularität: 2

Rating: nan/5 (Total Votes: 0)

djangosampler ist ein Django-Applikation, die Sie einen Prozentsatz Ihrer Abfragen (SQL, Mongo, etc.) probieren und sehen die, die gesucht werden, die die meiste Zeit ermöglicht. Die Abfragen werden durch woher sie in Ihrem Code verursacht gruppiert.
Installation
Installieren:
python setup.py install
Konfigurieren:
- Hinzufügen djangosampler um Ihre INSTALLED_APPS
- Fügen Sie die Tabellen (manage.py syncdb oder manage.py migrieren, wenn Sie Süd benutzen)
- Fügen Sie den Blick:
& Nbsp; urlpatterns + = Muster ('',
& Nbsp; (r '^ Sampler /', include ('djangosampler.urls')),
& Nbsp;)
- Set DJANGO_SAMPLER_FREQ auf einen anderen Wert als 0
- Set DJANGO_SAMPLER_PLUGINS auf eine Liste von Plugins. Für nur Probenahme SQL eine sinnvolle Vorgabe ist:
& Nbsp; DJANGO_SAMPLER_PLUGINS = (
& Nbsp; "djangosampler.plugins.sql.Sql ',
& Nbsp; # Plugins werden in der gleichen Reihenfolge wie in dieser Liste angewendet
& Nbsp;)
- Es gibt einige Plugins zur Verfügung, und es lohnt sich das Lesen durch sie zu den größten Nutzen aus diesem Tool.
- Wenn Sie mit kostenbezogene Stichproben werden dann DJANGO_SAMPLER_BASE_TIME auf die voraussichtliche Dauer einer normalen Abfrage in Sekunden einstellen. Standardmäßig ist diese auf 5 ms eingestellt ist.
Anzeigen von Ergebnissen
Nach dem Lösen der Sampler eine Weile laufen Sie in der Lage, um Abfragen in der URL, die Sie konfiguriert sind (durch ihre Herkunft gruppiert).
Konfiguration
DJANGO_SAMPLER_PLUGINS
Django Sampler verfügt über eine Plugin-Architektur, damit Sie steuern, wie viele Daten Sie sammeln möchten.
In Ihrem settings.py den folgenden:
DJANGO_SAMPLER_PLUGINS = (
& Nbsp; "djangosampler.plugins.sql.Sql ',
& Nbsp; # Plugins werden in der gleichen Reihenfolge wie in dieser Liste angewendet
)
Das obige Beispiel wird die SQL-Plugin hinzufügen.
Verfügbare Plugins und deren Einstellungen werden im Plugins Abschnitt unten beschrieben.
DJANGO_SAMPLER_FREQ
DJANGO_SAMPLER_FREQ konfiguriert den Prozentsatz der Abfragen, die aufgenommen wird. Es sollte zwischen 0,0 und 1,0 ist.
Wenn diese nicht gesetzt ist, keine Plugins installiert werden und Ihr Code wird normal ausgeführt.
DJANGO_SAMPLER_USE_COST
DJANGO_SAMPLER_USE_COST ermöglicht kostenorientierten Probenahme. Dies bewirkt, dass Abfragen, die ausgeführt werden für eine lange Zeit, mehr als oft kurze Abfragen abgetastet werden.
Die Chance, dass eine Abfrage Stichprobe wird durch die Gesamtzeit der Abfrage dauert multipliziert. Wenn eine Abfrage wird in 2 Sekunden, dann wird es doppelt so wahrscheinlich wie eine Abfrage, die 1 Sekunde dauert zu beproben.
Die Kosten für eine Abfrage ist zu berücksichtigen, für diese wie folgt angepasst:
Kosten = max (1.0, Zeit * DJANGO_SAMPLER_FREQ) / DJANGO_SAMPLER_FREQ
Plugins
Eine Liste der verfügbaren Plugins folgt. Sie können Ihr eigenes Plugin schreiben und diese wird im Abschnitt "Schreiben eigener Plugins 'beschrieben.
Django SQL
Plugin-Klasse: djangosampler.plugins.sql.Sql
Die SQL-Sampler Plugin wird ein Prozentsatz von SQL-Abfragen, die in der Anwendung auftreten, probieren. Die Proben werden durch Abfrage und Stack-Traces gruppiert werden, werden aufgezeichnet, um herauszufinden, wo die Abfragen Ursprung werden.
Django Anfragen
Plugin-Klasse: djangosampler.plugins.request.Request
Der Antrag Plugin installiert eine Middleware, die die Zeit von Anfragen genommen probieren werden.
Probieren Sie keinen Code
Dies ist nicht unbedingt ein Plugin. Dies ist ein Kontext-Manager, mit dem Sie Codeblöcke markieren und probieren Sie, wie lange die Blöcke, um ausgeführt werden. Z.B .:
von djangosampler.sampler import Stichproben
mit Probennahme ('my_code', 'some_fn'):
& Nbsp; do_something_slow ()
Sellerie
Plugin-Klasse: djangosampler.plugins.celery_task.Celery
Das Plugin verwendet Sellerie Sellerie der Signale, um die benötigte Zeit, um Aufgaben durchführen zu probieren.
MongoDB
Plugin-Klasse: djangosampler.plugins.mongo.Mongo
Die MongoDB Plugin probieren ein Prozentsatz der Mongo-Befehle (Abfragen, Einsätze, etc.), die in der Anwendung auftreten. Die Proben werden durch den Befehl gruppiert und Stack-Traces aufgezeichnet zu finden, wo die Abfragen Ursprung

Anforderungen .

  • Python
  • Django

Andere Software von Entwickler Colin Howe

monner
monner

20 Feb 15

Kommentare zu djangosampler

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!