<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 13 aprile 2014 23:39, Daniele Varrazzo <span dir="ltr"><<a href="mailto:piro@develer.com" target="_blank">piro@develer.com</a>></span> ha scritto:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">On 2014-04-13 13:50, Antonio Valente wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Ciao a tutti,<br>
ho rilasciato questo progetto chiamato "appmetrics":<br></blockquote></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"></blockquote></div>
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?<br>
<br></blockquote><div><br></div><div>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).</div>

<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
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?<br>


<br></blockquote><div><br></div><div>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.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Noi ora stiamo usando graphite, ma non scala benissimo quanto vorremmo, soprattutto quando ci sono molte metriche, non tanto per molti campioni.<br></blockquote><div><br></div><div>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 (<a href="http://riemann.io">http://riemann.io</a>, per chi non lo conoscesse). </div>

<div><br></div><div>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 ;-)</div>

<div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
-- Daniele<br>
______________________________<u></u>_________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/<u></u>mailman/listinfo/python</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Antonio Valente
</div></div>