perfmetrics

Software kuvakaappaus:
perfmetrics
Ohjelmiston tiedot:
Versio: 0.9.5
Lähetyksen päivämäärä: 20 Feb 15
Kehittäjä: Shane Hathaway
Lupa: Vapaa
Suosio: 4

Rating: nan/5 (Total Votes: 0)

perfmetrics tarjoaa helpon tavan lisätä ohjelmiston suorituskyvyn mittareita Python kirjastoja ja sovelluksia. & Nbsp; Käytä perfmetrics löytää todellisen pullonkauloja tuotannossa sovellus.
Perfmetrics paketti on asiakas Statsd daemon jonka Etsy, joka puolestaan ​​asiakas Grafiitti (erityisesti, Carbon daemon). Koska perfmetrics paketin lähettää UDP paketteja Statsd, perfmetrics ei lisää I / O viivästyksiä hakemusten ja vähän CPU yläpuolella. Se voi toimia yhtä hyvin kierteillä (synkroninen) tai tapahtumapohjainen (asynkroninen) ohjelmisto.
Käyttö
Käytämetric jametricmethod sisustussuunnittelijan kääri toimintoja ja että pitäisi lähettää ajoitus ja soittaa tilastoja Statsd. Lisää sisustussuunnittelijan mihinkään funktio tai menetelmä, joka voisi olla pullonkaula, kuten kirjaston toimintoja.
Näyte:
alkaen perfmetrics tuoda metrinen
alkaen perfmetrics tuonti metricmethod
metric
def myfunction ():
& Nbsp; "" "Tee jotain, joka voisi olla kallista" ""
luokan MyClass (objekti):
& Nbsp;metricmethod
& Nbsp; def mymethod (itse):
& Nbsp; "" "Onko joitakin muita mahdollisesti kallis juttu" ""
Seuraavaksi kerro perfmetrics miten yhdistää Statsd. (Kunnes teet, sisustussuunnittelijan ei ole vaikutusta.) Ihannetapauksessa hakemuksesi pitäisi lukea Statsd URI mallien tiedostosta käynnistettäessä aikaa, mutta alla oleva esimerkki käyttää kovakoodatuilla URI yksinkertaisuuden:
alkaen perfmetrics tuonti set_statsd_client
set_statsd_client ("statsd: // localhost: 8125 ')
i: xrange (1000):
& Nbsp; myfunction ()
& Nbsp; MyClass (). Mymethod ()
Jos suoritat että koodia, se välähtää 2000 UDP-paketteja satamassa 8125. Kuitenkin, jos olet jo asentanut Grafiitti ja Statsd, kaikki nämä paketit ohitetaan ja putosi. Pudottaminen on hyvä asia: et halua teidän tuotantoa sovelluksen epäonnistua tai hidastaa vain siksi suorituskyvyn seurantajärjestelmä on pysähtynyt tai se ei toimi.
Asenna Grafiitti ja Statsd vastaanottaa ja kuvaaja mittareita. Yksi hyvä tapa asentaa ne on graphite_buildout esimerkiksi github, joka asentaa ja grafiitti Statsd mukautetun paikkaan ilman pääkäyttäjän oikeudet.
Threading
Vaikka useimmat ohjelmat Lähetä käyttötiedot kaikista lanka yhteen maailmanlaajuisen Statsd palvelimelle, jotkut ohjelmat täytyy käyttää eri Statsd palvelimen jokaiselle säiettä. Jos tarvitset vain globaali Statsd palvelinta, käytä set_statsd_client toiminto sovelluksen käynnistyksen. Jos joudut käyttämään eri Statsd palvelin kullekin kierre, käytä statsd_client_stack esine kussakin säiettä. Käytä push, pop, ja selkeä menetelmiä.
Grafiitti Vinkkejä
Grafiitti myymälöissä jokainen metrinen kuin aikasarjan useita päätöslauselmia. Näyte graphite_buildout tallentaa 10 sekunnin resoluutiolla 48 tuntia, 1 tunti resoluutiolla 31 päivää, ja 1 päivä resoluutio 5 vuotta. Tuottaa karkearakeisen arvo hienorakeinen arvo, Grafiitti laskee keskiarvon (keskiarvo) kunkin aikajänteellä.
Koska Grafiitti laskee keskiarvoja implisiittisesti, järkevin tapa hoitaa laskurit Grafiitti on kuin "osumia sekunnissa" arvo. Näin kuvaaja voi tuottaa oikeita tuloksia ei väliä mikä resoluutio tasolla se käyttää.
Hoitoon lähtöselvityspisteitä osuu sekunnissa on vakavat seuraukset, kuitenkin. Jos jotkut metrinen näkee 1000 osuma piikki yhdessä sekunnissa, sitten laskee nollaan vähintään 9 sekuntia, Grafiitti kaavion että metrinen näyttää piikki 100, ei 1000, koska grafiitti saa mittareita 10 sekunnin välein ja piikki näyttää Grafiitti kuin 100 osumaa sekunnissa yli 10 toisen jakson.
Jos haluat kuvaajan näyttää 1000 hits sijaan 100 osumaa sekunnissa, sovelletaan Grafiitti hitcount () funktio, käyttäen päätöslauselmassa 10 sekuntia tai enemmän. Hitcount funktio muuntaa sekunnissa arvot lähentää raaka osuma laskee. Muista antaa päätöslauselman arvo riittävän suuri edustaa vähintään yhden pikselin leveys tuloksena kuvaaja, muuten Grafiitti laskee keskiarvoja osuma laskee ja tuottaa sekava kuvaajan.
Se yleensä järkevää kohdella tyhjäarvoja grafiittielektrodi nolla, vaikka se ei ole oletuksena; oletuksena, Grafiitti kiinnittää mitään tyhjäarvoja. Voit ottaa tämän vaihtoehdon jokaiselle kuvaajalle.
Reference Documentation
Decorators
metric
& Nbsp; Ilmoittaa Statsd UDP aina funktiota kutsutaan. Lähettää sekä puhelun laskee ja ajoitus tietoja. Nimi metristä lähetetty Statsd on . .
metricmethod
& Nbsp; Kutenmetric, mutta nimi Statsd metrinen on . . .
Metric (stat = None, korko = 1, menetelmä = False, count = True, ajoitus = True)
& Nbsp; sisustaja tai yhteydessä johtaja vaihtoehtoja.
& Nbsp; stat on nimi metristä lähettää; aseta se None käyttää nimeä funktio tai menetelmä. korko voit vähentää lähetettyjen pakettien Statsd valitsemalla satunnaisotos; esimerkiksi asettaa sen 0,1 lähettää kymmenesosa paketteja. Jos menetelmä parametri on totta, oletustietoa nimi perustuu menetelmän luokan nimi sijaan moduulin nimi. Asetus count False poistaa laskurin tilastojen lähetetään Statsd. Asetus ajoitus False poistaa ajoitus tilastot lähetetään Statsd.
& Nbsp; Näyte käytettäväksi sisustaja:
& Nbsp;Metric (frequent_func ', korko = 0,1, ajoitus = False)
& Nbsp; def frequent_func ():
& Nbsp; "" "Tee jotain nopeasti ja usein" ""
& Nbsp; Näyte käytettäväksi tilanteessa johtaja:
& Nbsp; def do_something ():
& Nbsp; Metric (doing_something '):
& Nbsp; syöttö
& Nbsp; Jos perfmetrics lähettää paketteja liian usein, UDP-paketteja voi kadota ja sovelluksen suorituskyky saattaa heikentyä. Voit vähentää pakettien määrän ja CPU yläpuolella käyttäen Metric sisustusarkkitehti vaihtoehtoja sijasta metrisen tai metricmethod. Sisustusarkkitehti esimerkki edellä käyttää näytteenottotaajuus ja staattisen metristä nimi. Se myös poistaa kokoelma ajoitusinformaation.
& Nbsp; Kun käytät Metric kuin tilanteessa johtaja, sinun on annettava stat parametrin tai ei tallennu mitään.
Tehtävät
statsd_client ()
& Nbsp; Palauta hetkellä määritetty StatsdClient. Palauttaa lanka-paikallisen asiakkaan, jos sellainen on, tai maailmanlaajuinen asiakas, jos sellainen on, tai Ei mitään.
set_statsd_client (client_or_uri)
& Nbsp; Aseta maailmanlaajuinen StatsdClient. Client_or_uri voi olla StatsdClient, statsd: // URI, tai Ei mitään.
statsd_client_from_uri (URI)
& Nbsp; Luo StatsdClient päässä URI. Tyypillinen URI statsd: // localhost: 8125. Tuetut valinnainen kyselyparametreja ovat etuliite ja gauge_suffix. Oletuksena etuliite on tyhjä ja oletuksena gauge_suffix on .. Katso StatsdClient asiakirjat lisätietoja gauge_suffix.
StatsdClient menetelmät
Python-koodin voi lähettää mukautetun mittarit ensin saada nykyistä StatsdClient käyttäen statsd_client () -metodia. Huomaa, että statsd_client () palauttaa mitään, jos ei asiakas on määritetty.
Useimmat menetelmät alla on valinnainen kurssi ja buf parametrit. Sykeparametri, kun asetettu arvo on alle 1, aiheuttaa StatsdClient lähettää satunnaisotos pakettien sijaan jokaisen paketin. Jos pusk parametri on lista, StatsdClient liittää paketin sisällön pusk listan sijaan lähettää paketin, jonka avulla voidaan lähettää useita päivityksiä yhden paketin. Muista, että koko UDP-paketteja on rajoitettu (raja vaihtelee verkon, mutta 1000 tavua on yleensä hyvä arvaus) ja ylimääräisiä tavuja ohitetaan hiljaa.
ajoitus (stat, arvo, korko = 1 pusk = ei)
& Nbsp; Record ajoitus tietoja. stat on nimi metristä tallentaa ja arvo on ajoituksen mittaus millisekunneissa. Huomaa, että Statsd ylläpitää useita tietoja pisteitä jokaisesta ajoitus metrinen, joten ajoitus mittarit voivat ottaa enemmän levytilaa kuin laskurit tai mittareita.
mittari (stat, arvo, suffix = None, korko = 1 pusk = ei)
& Nbsp; Päivitä mittari arvo. stat on nimi metristä tallentaa ja arvo on uusi mittari arvo. Mittari edustaa pysyviä arvo kuten altaan koko. Koska mittareita eri koneita usein konflikteja, pääte on yleensä sovellettu mitata nimiä. Jos pääte parametri on merkkijono (myös tyhjä merkkijono), se ohittaa oletuksena mittari pääte.
incr (stat, count = 1, korko = 1 pusk = ei)
& Nbsp; Increment laskuri lukumäärän mukaan. Huomaa, että Statsd tyhjentää kaikki laskuriarvot joka kerta se lähettää mittareita grafiitti, joka yleensä tapahtuu 10 sekunnin välein. Jos tarvitset pysyviä arvo, se voi olla tarkoituksenmukaista käyttää mittarin sijasta laskuri.
vähennä (stat, count = 1, korko = 1 pusk = ei)
& Nbsp; Decrement laskuri lukumäärän mukaan.
sendbuf (BUF)
& Nbsp; Lähetä sisällön pusk luettelon Statsd.

Mitä uutta tässä julkaisussa:

  • Lisätty valinnainen Pyramid välillä ja niiden kaltaiset WSGI suodatin sovellus, joka asettaa Statsd asiakas jokaisen pyynnön.

Mitä uutta versiossa 0.9.4:

  • Optimoitu käytön supistettua näytettä hinnat.

Mitä uutta versiossa 0.9.2:

  • Metric voidaan nyt käyttää joko sisustaja tai yhteydessä johtaja.
  • Valmistettu allekirjoitus StatsdClient enemmän kuin James Socol n StatsClient.

Vaatimukset :

  • Python

Vastaavia ohjelmistoja

TuxGuardian
TuxGuardian

3 Jun 15

Firewall Tester
Firewall Tester

3 Jun 15

Nagios
Nagios

3 Oct 17

Uptimed
Uptimed

14 Apr 15

Muu ohjelmistojen kehittäjä Shane Hathaway

oauth2sample
oauth2sample

14 Apr 15

repoze.pgtextindex
repoze.pgtextindex

20 Feb 15

slowlog
slowlog

20 Feb 15

Kommentit perfmetrics

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!