[Python] ANN: appmetrics

Antonio Valente y3sman a gmail.com
Lun 14 Apr 2014 01:17:20 CEST


Il giorno 13 aprile 2014 23:39, Daniele Varrazzo <piro a develer.com> ha
scritto:

> On 2014-04-13 13:50, Antonio Valente wrote:
>
>> Ciao a tutti,
>> ho rilasciato questo progetto chiamato "appmetrics":
>>
>

>  Ovvero? C'è un solo processo che tiene i valori oppure si possono avere
> diversi processi per avere un db distribuito in memoria che tollera che un
> nodo si spenga?
>
>
Si tratta di una libreria, le metriche vengono collezionate in-process nel
processo che la usa, al momento non c'è distribuzione neppure tra processi
sullo stesso nodo (ho in programma di creare un "collettore" centralizzato
per vari processi, ma sempre su singola macchina), al momento si può fare
qualcosa in modo molto semplice con l'interfaccia wsgi ma probabilmente
sarebbe male per le prestazioni. Sicuramente è possibile usarla come base
per creare un sistema distribuito, ma a quel punto farei qualcosa con
folsom, in erlang è quasi banale fare cose del genere, tra l'altro ha già
in libreria standard un db distribuito, sia in ram che su disco (mnesia).



> Se a noi interessa sapere il sistema come si sta comportando settimana
> dopo settimana (perché i picchi di uso sono settimanali e l'unica
> comparazione sensata è venerdì contro venerdì, sabato contro sabato ecc) la
> libreria può essere utile?
>
>
Utile direi di si, sufficiente sicuramente no, avresti comunque bisogno di
un sistema di "storicizzazione" delle metriche (a meno di utilizzi più
fantasiosi, tipo creare una metrica al giorno senza decadimento
esponenziale). Il punto di queste librerie è di evitare di mandare in giro
le singole osservazioni ma concentrarsi su dati "semielaborati"
statisticamente rappresentativi (percentili, distribuzioni, medie mobili,
ecc), oltre che collezionare le metriche con pochissimo overhead sia in
termini di i/o che di occupazione di ram. Nella mia esperienza questo
riduce tantissimo il rumore e lo sforzo necessario a mantenere e
dimensionare il sistema di monitoraggio, in più aiuta parecchio ad avere
una visione un po' più globale di come si comporta il sistema
complessivamente o a livelli di dettaglio stabiliti dallo sviluppatore.


> Noi ora stiamo usando graphite, ma non scala benissimo quanto vorremmo,
> soprattutto quando ci sono molte metriche, non tanto per molti campioni.
>

In che senso "non scala benissimo"? Quando hai tante metriche su un solo
grafico? Al lavoro lo stiamo valutando, devo dire che sembra utile,
sopratutto insieme a cose tipo riemann (http://riemann.io, per chi non lo
conoscesse).

Appmetrics però fa un altro lavoro: si occupa di collezionare le metriche
lato applicazione e renderne disponibili dei "riassunti" a tool esterni
come appunto graphite, riemann, librato, pagerduty, aws autoscaling, ecc.
E' ovvio che la parte più complessa è la fruizione delle informazioni, ma
senza un modo semplice per collezionarle è ancora più complesso ;-)




>
> -- Daniele
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Antonio Valente
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140414/c3a2a2b7/attachment.html>


Maggiori informazioni sulla lista Python