perfmetrics

Software screenshot:
perfmetrics
Podrobnosti Software:
Verze: 0.9.5
Datum uploadu: 20 Feb 15
Vývojka: Shane Hathaway
Licence: Volný
Popularita: 4

Rating: nan/5 (Total Votes: 0)

perfmetrics poskytuje jednoduchý způsob, jak přidat výkonnostní metriky software pro Python aplikací a knihoven. & Nbsp; Použijte perfmetrics najít opravdové překážek v aplikaci výroby.
Balíček perfmetrics je klientem Statsd démon Etsy, který je zase klient grafitu (specificky, Carbon démon). Vzhledem k tomu, balíček perfmetrics odešle UDP pakety Statsd, perfmetrics přidává žádné I / O zpoždění aplikace a malé zátěže CPU. To může fungovat stejně dobře závitové software (synchronní) nebo event-driven (asynchronní).
Použít
Použijtemetric ametricmethod malíři zabalit funkce a metody, které by měl posílat načasování a volat statistiky Statsd. Přidejte malíři jakékoliv funkce nebo metody, které by mohly být překážkou, včetně funkcí knihoven.
Ukázka:
od perfmetrics import metrický
od perfmetrics dovozu metricmethod
metric
def MyFunction ():
& Nbsp; "" "Udělej něco, co by mohlo být drahé" ""
třída MyClass (objekt):
& Nbsp;metricmethod
& Nbsp; def myMethod (self):
& Nbsp; "" "Udělej nějaký jiný možná drahou věc" ""
Dále, řekněte perfmetrics, jak se připojit k Statsd. (Až tak učiníte, dekoratéry mít žádný vliv.) V ideálním případě, aplikace by si měli přečíst Statsd URI z konfiguračního souboru při spuštění, ale nižší, než příklad používá pevně URI pro jednoduchost:
od perfmetrics dovozu set_statsd_client
set_statsd_client ("statsd: // localhost: 8125"),
for i in xrange (1000):
& Nbsp; MyFunction ()
& Nbsp;. MyClass () myMethod ()
Pokud spustíte tento kód, bude oheň 2000 UDP pakety na portu 8125. Nicméně, pokud jste již nainstalovali Grafit a Statsd, budou všechny tyto pakety budou ignorovány a spadl. Pád je dobrá věc: vy nechcete, aby vaše výroba selhání aplikace nebo zpomalit jen proto, že váš systém sledování výkonnosti je zastavena nebo nefunguje.
Instalace Graphite a Statsd přijímat a graf metriky. Jeden dobrý způsob, jak pro jejich instalaci je graphite_buildout příklad v GitHub, který nainstaluje grafitu a Statsd na vlastní místě bez přístupu root.
Threading
Zatímco většina programů poslat metrik z jakéhokoli závitu do jediného globálního serveru Statsd, některé programy je třeba použít jiný Statsd serveru pro každé vlákno. Pokud potřebujete pouze server globálního Statsd, použijte funkci set_statsd_client při spuštění aplikace. Pokud potřebujete použít jiný Statsd serveru pro každé vlákno, použijte statsd_client_stack objekt každé vlákno. Pomocí push, pop, a jasné metody.
Grafitové Tipy
Grafitové ukládá každou metriku jako časové řady s několika rozlišeních. Druhé usnesení vzorek graphite_buildout obchody 10 po dobu 48 hodin, rozlišením 1 hodina 31 dní, a rozlišením 1 5 let den. K výrobě hrubé zrnité hodnotu z jemnozrnného hodnotu, grafit vypočítá střední hodnota (průměr) pro každé časové období.
Vzhledem k tomu, Graphite počítá průměrné hodnoty implicitně, nejrozumnější způsob, jak zacházet čítače v Grafit je jako "hitů za sekundu" hodnotu. Tak, graf může produkovat správné výsledky bez ohledu na to, která řešení na úrovni používá.
Léčba pulty as hity za sekundu má nešťastné následky, nicméně. Pokud se některé metrické vidí 1000 hit bodec v jedné vteřině, pak klesne na nulu nejméně 9 sekund, Graphite graf daného ukazatele ukazují hrot 100, ne 1000, od té doby Graphite přijímá metriky každých 10 sekund a špice vypadá na Grafit jako 100 návštěv za sekundu přes intervalu 10 sekund.
Pokud chcete, aby vaše Graf 1000 hity spíše než 100 hitů za sekundu, použijte funkci Graphite hitcount (), za použití rozlišení 10 sekund nebo více. Funkce hitcount převede za sekundu hodnoty, kterou se sbližují syrové hit počítá. Ujistěte se, že poskytnout hodnotu rozlišení dostatečně velký, aby být zastoupena alespoň jedním šířku v pixelech na výsledného grafu, jinak Graphite bude počítat průměry hit počítá a produkovat matoucí graf.
Obvykle smysl zacházet hodnoty null v Graphite jako nula, i když to není výchozí; Ve výchozím nastavení, Graphite kreslí nic pro hodnoty null. Můžete se obrátit na tuto možnost pro každého grafu.
Reference Dokumentace
Malíři pokojů
metric
& Nbsp; Upozorňuje Statsd pomocí UDP pokaždé funkce se nazývá. Pošle jak volání počty a informace o časování. Jméno metriky zaslané Statsd je . .
metricmethod
& Nbsp; Stejně jakometric, ale název Statsd metriky ...
Metric (stat = None, rychlost = 1, method = False, count = TRUE, načasování = True)
& Nbsp; malíř nebo kontext manažer s možnostmi.
& Nbsp; stat je název metriky k odeslání; nastavte ji na Žádný používat název funkce nebo metody. Rychlost můžete snížit počet paketů odeslaných Statsd výběrem náhodného vzorku; Například, nastavte ji na 0,1 poslat jednu desetinu paketů. Je-li parametr metoda je pravda, výchozí metrika název je založen na metodě jeho názvu třídy, nikoli název modulu. Nastavení počtu False zakáže statistiky čítače zaslané Statsd. Nastavení časování False zakáže statistiky načasování zaslané Statsd.
& Nbsp; použití Vzorek jako malíř pokojů:
& Nbsp;Metric ("frequent_func ', rychlost = 0,1, načasování = False)
& Nbsp; def frequent_func ():
& Nbsp; "" "Dělejte něco rychle a často" ""
& Nbsp; použití vzorku v kontextu manažer:
& Nbsp; def do_something ():
& Nbsp; s metrickým ("doing_something"):
& Nbsp; průchod
& Nbsp; Pokud perfmetrics odesílá pakety příliš často, UDP pakety mohou být ztraceny, a výkon aplikací může být ovlivněn. Můžete snížit počet paketů a zatížení procesoru pomocí metrického dekoratér s možnostmi místo metrické nebo metricmethod. Příklad malíř nahoře používá vzorkovací frekvenci a statické metrický jméno. To také zakáže sbírku informace o časování.
& Nbsp; Pokud používáte Metric jako místní správce, je nutné zadat parametr stat, nebo nic, budou zaznamenány.
Funkce
statsd_client ()
& Nbsp; Vraťte aktuálně konfigurovaný StatsdClient. Vrátí vlákno-local klienta v případě, že je jeden, nebo globální klient v případě, že je jeden, nebo žádný.
set_statsd_client (client_or_uri)
& Nbsp; Nastaví globální StatsdClient. Client_or_uri může být StatsdClient, statsd: // URI, nebo žádný.
statsd_client_from_uri (URI)
& Nbsp; Vytvoření StatsdClient z URI. Typický URI je statsd: // localhost: 8125. Podporované volitelné parametry dotazu jsou prefix a gauge_suffix. Výchozí prefix je prázdný a výchozí gauge_suffix je .. naleznete v dokumentaci StatsdClient Další informace o gauge_suffix.
StatsdClient metody
Python kód může poslat vlastní metriky, že se nejprve dostat aktuální StatsdClient pomocí metody statsd_client (). Všimněte si, že statsd_client () vrací None, pokud byl nastaven žádný klient.
Většina z níže uvedených metod jsou volitelné kurzu a BUF parametry. Parametr rychlost, když je nastaven na hodnotu menší než 1, způsobí StatsdClient poslat náhodný vzorek paketů spíše než každý paket. Je-li parametr buf je seznam, StatsdClient připojí obsah paketů do seznamu buf spíše než odeslat paket, takže je možné poslat více aktualizací v jednom paketu. Mějte na paměti, že velikost UDP paketů je omezen (limit se liší od sítě, ale 1000 bajtů je obvykle dobrý odhad) a veškeré další byty budou ignorovány.
načasování (stat, hodnota, rychlost = 1, BUF = None)
& Nbsp; Record informace načasování. stat je název metriky pro záznam a hodnota měření časování v milisekundách. Všimněte si, že Statsd udržuje několik datových bodů za každou načasování metriky, takže načasování metriky může mít více místa na disku než přepážkách nebo měřidla.
rozchod (stat, hodnota, přípona = None, rychlost = 1, BUF = None)
& Nbsp; Aktualizace hodnotu rozchodu. stat je název metriky pro záznam a hodnota je nový měřidlo hodnotu. Měřidlo představuje trvalé hodnoty, jako je velikost bazénu. Vzhledem k tomu, měřidla z různých strojích často konflikt, přípona je obvykle aplikován odhadnout jména. Je-li parametr přípona je řetězec (včetně prázdný řetězec), přepíše výchozí rozchodu příponu.
incr (stat, count = 1, rychlost = 1, BUF = None)
& Nbsp; Zvýšit žeton hrabě. Všimněte si, že Statsd vymaže všechny čítače hodnoty, pokaždé, když se odešle metriky grafitu, které se obvykle stává každých 10 sekund. Potřebujete-li trvalé hodnoty, může být vhodnější použít místo rozchodem pultu.
Decr (stat, count = 1, rychlost = 1, BUF = None)
& Nbsp; Snížit pult podle počtu.
sendbuf (BUF)
& Nbsp; Poslat obsah seznamu buf na Statsd

Co je nového v této verzi:

  • přidané volitelné pyramidy. doplnění a podobný WSGI filtr aplikace, která nastaví klienta Statsd pro každý požadavek.

Co je nového ve verzi 0.9.4:.

  • Optimalizované používání snížených sazeb vzorku

Co je nového ve verzi 0.9.2:

  • Metric lze nyní použít buď jako malíř pokojů nebo kontext manager.
  • Made podpis StatsdClient spíš jako James Socol je StatsClient.

Požadavky na :

  • Python

Podobný software

TuxGuardian
TuxGuardian

3 Jun 15

qmail-smtpd-auth
qmail-smtpd-auth

3 Jun 15

OSSEC HIDS
OSSEC HIDS

19 Feb 15

GKrellM Volume
GKrellM Volume

3 Jun 15

Ostatní software developer Shane Hathaway

oauth2sample
oauth2sample

14 Apr 15

slowlog
slowlog

20 Feb 15

Yasso
Yasso

14 Apr 15

Komentáře k perfmetrics

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!