perfmetrics

Szoftver screenshot:
perfmetrics
Szoftver adatai:
Változat: 0.9.5
Feltöltés dátuma: 20 Feb 15
Fejlesztő: Shane Hathaway
Engedély: Ingyenes
Népszerűség: 60

Rating: 5.0/5 (Total Votes: 1)

perfmetrics egy egyszerű módja annak, hogy hozzá szoftver teljesítmény mérőszámok a Python könyvtárak és alkalmazások. & Nbsp; Használja perfmetrics hogy megtalálja az igazi szűk termelési alkalmazást.
A perfmetrics csomag az ügyfél a Statsd démont Etsy, amely viszont az ügyfél a Graphite (pontosabban a Carbon daemon). Mivel a perfmetrics csomagot küld UDP csomagokat Statsd, perfmetrics hozzáteszi, nincs I / O késések az alkalmazások és a kis CPU terhelését. Csak akkor működik egyformán jól menetes (szinkron) vagy eseményvezérelt (aszinkron) szoftver.
Használat
Használja ametric ésmetricmethod lakberendezők, hogy lezárja funkciók és módszerek kell küldeni az időzítés és a hívás statisztikák Statsd. Adja hozzá a lakberendezők, hogy bármelyik funkciót módszert, hogy lehet egy szűk, beleértve a könyvtári funkciókat.
Minta:
a perfmetrics importálni metrikus
a perfmetrics import metricmethod
metric
def myFunction ():
& Nbsp; "" "Tégy valamit, hogy lehet drága" ""
osztály MyClass (tárgy):
& Nbsp;metricmethod
& Nbsp; def mymethod (self):
& Nbsp; "" "nem más esetlegesen költséges dolog" ""
Ezután mondd perfmetrics hogyan lehet csatlakozni Statsd. (Amíg nem történik meg, a lakberendezők nincs hatása.) Ideális esetben a kérelmet el kell olvasnia a Statsd URI egy konfigurációs fájl az induláskor, de az alábbi példát használ kódolva URI az egyszerűség kedvéért:
a perfmetrics import set_statsd_client
set_statsd_client ("statsd: // localhost: 8125)
for i in xrange (1000):
& Nbsp; myFunction ()
& Nbsp; MyClass (). Mymethod ()
Ha fut a kód, akkor majd tüzet 2000 UDP csomagokat port 8125. Azonban, ha már telepítette grafit és Statsd, az összes ilyen csomagokat figyelmen kívül hagyja, és leesett. Csepegtető egy jó dolog: ha nem szeretné, hogy a termelési alkalmazás nem vagy lassítani csak azért, mert a teljesítmény-ellenőrző rendszer leáll, vagy nem működik.
Telepítse grafit és Statsd kapni és ábrázolja a mutatókat. Egy jó módja annak, hogy telepítse azokat a graphite_buildout például a GitHub, ami telepíti grafit és Statsd másik helyre anélkül, hogy root hozzáférést.
Threading
Míg a legtöbb program küldeni mérőszámokat minden szálat, hogy egyetlen globális Statsd szerveren, néhány program kell használni a különböző Statsd szerver minden szálat. Ha csak a globális Statsd szerver, használja a set_statsd_client funkciót az alkalmazás indításakor. Ha meg kell használni egy másik Statsd szerver minden szálat, használja a statsd_client_stack tárgy minden szál. Használja a push, pop, és világos módszerek.
Graphite Tippek
Graphite tárolja az egyes mutatók, mint egy idősor többféle felbontásban. A minta graphite_buildout tárolja 10 másodperc felbontás 48 órán át, 1 óra felbontás az 31 nap, és 1 nap felbontás 5 évig. Hogy készítsen egy durva szemcséjű értéket finomszemcsés értéket, Graphite kiszámítja az átlagos értéket (átlag) minden időtartamon.
Mivel Graphite kiszámítja átlagértékek burkoltan, a legésszerűbb módon kezelni számláló grafit, mint a "találatok másodpercenként" értéket. Így, egy grafikon képes helyes eredményeket nem számít, melyik felbontást használ.
Kezelésére számlálókat eléri másodpercenként van nagyon súlyos következményei lehetnek, de. Ha néhány metrikus látja a 1000 hit tüske egy másodpercig, majd nullára csökken, legalább 9 másodperc, a Graphite slágerlistán, hogy ütemezést fog mutatni egy tüske 100, nem 1000 óta Graphite kap mérőszámok 10 másodpercenként, és a tüske úgy néz ki, hogy Grafit, mint 100 találat másodpercenként több mint 10 másodperc alatt.
Ha azt szeretné, grafikon mutatja 1000 találatot helyett 100 találat másodpercenként, alkalmazza a Graphite hitcount () függvény segítségével indítvány 10 másodpercig. A hitcount függvény átalakítja per másodperces értékek közelítése nyers hit számít. Ügyeljen arra, hogy a felbontás értéke elég nagy ahhoz, hogy képviseli legalább egy pixel szélességű a kapott gráf, különben Graphite kiszámolja átlagai hit számít, és összeállítottak egy zavaros grafikont.
Általában érdemesebb kezelésére null értékek Graphite nulla, bár ez nem az alapértelmezett; alapértelmezés szerint, Graphite felhívja semmit null értékeket. Akkor kapcsolja ki ezt a lehetőséget minden gráf.
referenciadokumentáció
Lakberendezők
metric
& Nbsp; értesít, Statsd UDP minden alkalommal a funkciót nevezik. Küld mind hívást számít és játékidő. A név a metrikus küldött Statsd a . .
metricmethod
& Nbsp; Likemetric, de a neve a Statsd mérőszám . . .
Metric (stat = Nincs, sebesség = 1, method = False, count = True, időzítés = True)
& Nbsp; A dekoratőr, vagy összefüggésben menedzser lehetőségeket.
& Nbsp; stat a neve a metrikus küldeni; meg azt, hogy nincs név használatára a funkciót vagy módszert. ráta segítségével számának csökkentése küldött csomagokat Statsd választunk egy véletlen mintát; Például állítsd 0,1 küldeni egytizede a csomagokat. Ha a módszer paraméter igaz, az alapértelmezett mérőszám neve alapján a módszer osztály nevét, nem pedig a modul nevét. Beállítás száma a False letiltja a számláló statisztikák küldött Statsd. Beállítás időzítés Hamis letiltja az időzítés statisztikák küldött Statsd.
& Nbsp; Sample használata, mint egy dekoratőr:
& Nbsp;Metric ("frequent_func", sebesség = 0,1, az időzítés = False)
& Nbsp; def frequent_func ():
& Nbsp; "" "Van valami gyors és gyakran" ""
& Nbsp; Sample használatát, mint környezet vezetője:
& Nbsp; def do_something ():
& Nbsp; a Metric ("doing_something"):
& Nbsp; menetben
& Nbsp; Ha perfmetrics csomagokat küld túl gyakran, UDP csomagok elveszhetnek, és az alkalmazás teljesítményét befolyásolhatja. Csökkentheti a csomagok száma és a CPU terhelését segítségével Metric dekoratőr a lehetőségek helyett metrikus vagy metricmethod. A dekoratőr fenti példa mintavételezéssel és egy statikus metrikus nevet. Ez szintén tiltja a gyűjtemény időzítési információt.
& Nbsp; Ha Metric, mint környezet menedzser, meg kell adnia a stat paraméter, vagy nem készül felvétel.
Funkciók
statsd_client ()
& Nbsp; Vissza a jelenleg beállított StatsdClient. Visszaadja a menet-helyi kliens, ha van ilyen, vagy a globális ügyfél, ha van ilyen, vagy sem.
set_statsd_client (client_or_uri)
& Nbsp; a rendszer a globális StatsdClient. A client_or_uri lehet StatsdClient, a statsd: // URI, vagy sem.
statsd_client_from_uri (uri)
& Nbsp; létrehozása StatsdClient egy URI. Egy tipikus URI statsd: // localhost: 8125. A támogatott opcionális lekérdezésparamétereket prefix és gauge_suffix. Az alapértelmezett előtag üres, és az alapértelmezett gauge_suffix van .. Lásd a StatsdClient dokumentációjában bővebb információkat gauge_suffix.
StatsdClient módszerei
Python kódot küldhet egyéni mutatókat először kezd az aktuális StatsdClient segítségével statsd_client () metódust. Ne feledje, hogy statsd_client () függvény esetén nincs semmilyen kliens be lett állítva.
A legtöbb módszer egyikét kell opcionális ráta és buf paraméterek. A paraméterrel, ha ennek az értéke kevesebb, mint 1, okoz StatsdClient küldeni véletlenszerűen kiválasztott csomagok helyett minden egyes csomagot. Ha a buf paraméter egy listát, StatsdClient hozzáfűzi a csomag tartalmának a buf lista helyett küldje a csomagot, ami lehetővé teszi küldjön több frissítést egy csomagban. Ne feledje, hogy a méret UDP csomagokat korlátozott (a határa függ a hálózat, de 1000 byte általában egy jó kitalálni), és semmilyen extra bájtok figyelmen kívül hagyja csendben.
időzítése (stat, érték, sebesség = 1, buf: nincs)
& Nbsp; Record játékidő. stat a neve a metrikus rögzítésére és érték az időzítés mérési ezredmásodperc. Ne feledje, hogy Statsd nek több adatot ellenőriz minden időzítés metrikus, az időzítés mérőszámokat is több lemezterületet igényel, mint a számlálókat és a műszerek.
szelvény (stat, érték, utótag = Nincs, sebesség = 1, buf: nincs)
& Nbsp; Frissítse a szelvény értékét. stat a neve a metrikus rögzítésére és értéke az új nyomtávú értéket. Mérőeszközt jelentése állandó értéket, például egy medence mérete. Mivel műszer teszi különböző gépeken konfliktusok, a toldalék általában alkalmazott felmérni nevét. Ha a kiterjesztést paraméter egy string (beleértve az üres string), az felülírja az alapértelmezett nyomtávú utótag.
incr (stat, count = 1, sebesség = 1, buf: nincs)
& Nbsp; Növeli a számlálót száma. Ne feledje, hogy Statsd törli az összes számláló értékek minden alkalommal elküldi a mutatók, hogy a grafit, ami általában 10 másodpercenként. Ha szüksége van egy állandó érték, lehet, hogy megfelelőbb használata a szelvény helyett a számláló.
decr (stat, count = 1, sebesség = 1, buf: nincs)
& Nbsp; csökkentés a számlálót száma.
sendbuf (buf)
& Nbsp; küldése a tartalmát a buf lista Statsd.

Mi az új ebben a kiadásban:

  • Bekerült egy opcionális Pyramid átkötő és hasonló WSGI filter app, hogy beállítja a Statsd ügyfél minden kérését.

Mi az új verzióban 0.9.4:

  • Optimalizált használata csökkentett minta aránya.

Mi az új verzióban 0.9.2:

  • Metric már fel lehet használni, mint akár egy dekoratőr, vagy összefüggésben vezetője.
  • Made aláírása StatsdClient több, mint James Socol a StatsClient.

követelmények :

  • Python

Hasonló program

collectd
collectd

22 Jun 18

qtmib
qtmib

17 Feb 15

pciutils
pciutils

17 Feb 15

Más szoftver fejlesztő Shane Hathaway

oauth2sample
oauth2sample

14 Apr 15

Yasso
Yasso

14 Apr 15

repoze.pgtextindex
repoze.pgtextindex

20 Feb 15

Hozzászólások a perfmetrics

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!