djangosampler

Software screenshot:
djangosampler
Dettagli del software:
Versione: 0.6.0
Data di caricamento: 14 Apr 15
Sviluppatore: Colin Howe
Licenza: Libero
Popolarità: 2

Rating: nan/5 (Total Votes: 0)

djangosampler è un app Django che consente di campionare una percentuale di query (SQL, Mongo, ecc) e visualizzare quelli che occupano la maggior parte del tempo. Le query sono raggruppate da dove hanno avuto origine da nel codice.
Installazione
Installazione:
python setup.py install
Configurazione:
- Aggiungi djangosampler ai vostri INSTALLED_APPS
- Aggiungere le tabelle (manage.py syncdb o manage.py migrare se si utilizza Sud)
- Aggiungere i punti di vista:
& Nbsp; urlpatterns + = modelli ('',
& Nbsp; (r '^ sampler /', includere ('djangosampler.urls')),
& Nbsp;)
- Impostare DJANGO_SAMPLER_FREQ ad un valore diverso da 0
- Impostare DJANGO_SAMPLER_PLUGINS ad una lista di plugin. Per soli campionamento SQL un default ragionevole è:
& Nbsp; DJANGO_SAMPLER_PLUGINS = (
& Nbsp; 'djangosampler.plugins.sql.Sql',
& Nbsp; # Plugin vengono applicate nello stesso ordine in quanto questa lista
& Nbsp;)
- Ci sono diversi plugin disponibili e vale la pena leggere attraverso di loro per ottenere il massimo uso di questo strumento.
- Se si utilizza il campionamento basato sui costi quindi impostare DJANGO_SAMPLER_BASE_TIME alla durata prevista di una query normale in pochi secondi. Per default è impostato su 5 ms.
Visualizzazione Risultati
Dopo aver abbandonato il run campionatore per un po 'si sarà in grado di visualizzare le query (diviso per la loro origine) all'URL configurato.
Configurazione
DJANGO_SAMPLER_PLUGINS
Django Sampler ha un'architettura plugin per permettere di controllare la quantità di dati che si desidera essere raccolti.
Nel vostro settings.py aggiungere il seguente:
DJANGO_SAMPLER_PLUGINS = (
& Nbsp; 'djangosampler.plugins.sql.Sql',
& Nbsp; # Plugin vengono applicate nello stesso ordine in quanto questa lista
)
L'esempio precedente aggiungere il plugin SQL.
Plugins disponibili e le relative impostazioni sono descritte nella sezione Plugins sotto.
DJANGO_SAMPLER_FREQ
DJANGO_SAMPLER_FREQ configura la percentuale di domande che verranno registrati. Dovrebbe essere compreso tra 0,0 e 1,0.
Se questo non è impostato allora nessun plugin verrà installato e il codice verrà eseguito normalmente.
DJANGO_SAMPLER_USE_COST
DJANGO_SAMPLER_USE_COST consentirà di campionamento basato sui costi. Ciò causa query eseguite per lungo tempo da campionare più spesso di query brevi.
La possibilità che una query viene campionata viene moltiplicato per il tempo totale della query richiede. Se una query si fa in 2 secondi, quindi sarà due volte più probabilità di essere campionato come una query che prende 1 secondo.
Il costo per una query viene regolata per tenere conto di questo come segue:
costo = max (1.0, ora * DJANGO_SAMPLER_FREQ) / DJANGO_SAMPLER_FREQ
Plugin
Una lista dei plugin disponibili segue. È possibile scrivere il proprio plug-in e questo è descritto nella sezione 'Scrivere un proprio plugin'.
Django SQL
Classe Plugin: djangosampler.plugins.sql.Sql
Il plugin SQL campionatore assaggiare una percentuale di query SQL che si verificano nell'applicazione. I campioni saranno raggruppati per interrogazione e stack saranno registrate per trovare dove le query siano originari.
Richieste Django
Classe Plugin: djangosampler.plugins.request.Request
Il plugin richiesta installa un Middleware che assaggiare il tempo impiegato dalle richieste.
Campione qualsiasi codice
Questo non è strettamente un plugin. Questo è un gestore di contesto che permetterà di contrassegnare i blocchi di codice e di assaggiare quanto tempo i blocchi prendono a correre. Es .:
da djangosampler.sampler campionamento import
con degustazione ('mio_codice', 'some_fn'):
& Nbsp; do_something_slow ()
Sedano
Classe Plugin: djangosampler.plugins.celery_task.Celery
Il plugin Sedano utilizza segnali di sedano per assaggiare il tempo necessario per eseguire le attività.
MongoDB
Classe Plugin: djangosampler.plugins.mongo.Mongo
Il plugin MongoDB campionerà una percentuale di Mongo comandi (interrogazioni, inserti, ecc) che si verificano nell'applicazione. I campioni saranno raggruppati per comando e stack le tracce verranno registrate per trovare dove le query sono originari

Requisiti :.

  • Python
  • Django

Altri software di sviluppo Colin Howe

monner
monner

20 Feb 15

Commenti a djangosampler

I commenti non trovato
Aggiungi commento
Accendere le immagini!