Open source
Metrics for Laravel
composer require roundly-consulting/metrics-for-laravelPrehľad
Natívny engine metrík pre Laravel. Nasmerujte ho na ľubovoľný Eloquent dotaz a dostanete metriku pripravenú pre dashboard — jedno číslo so zmenou oproti predchádzajúcemu obdobiu, časový rad pre grafy, plnenie cieľa alebo rozpad podľa skupín pre koláčové a stĺpcové grafy. Postará sa o časové obdobia, agregácie, zoskupovanie v čase, cachovanie aj formátovanie čísel a vráti čisté dáta pripravené na JSON pre akýkoľvek frontend — metriky v štýle Novy, no bez Novy. Žiadne migrácie, tabuľky ani UI; licencia MIT, postavené na oficiálnych komponentoch Laravelu a dvoch malých pomocných balíkoch Roundly.
Čo získate
Štyri typy metrík
Hodnota, trend, progres a členenie — štyri tvary, z ktorých sa skladá takmer každá dlaždica dashboardu, inline aj ako triedy.
Obdobia a porovnanie
20 prednastavených období, vlastné okná a časové pásmo pre každú metriku, so zmenou oproti predchádzajúcemu či ľubovoľnému obdobiu.
Trendy pripravené na grafy
Intervaly od minúty po rok, doplnené medzery a viac sérií naraz, prenositeľné medzi MySQL, MariaDB, PostgreSQL a SQLite.
Prehľadné členenia
Top-N rozpady so zvyškovou skupinou „Other“ a zobrazované popisy namapované zo surových kľúčov skupín.
Register a dashboardy
Zaregistrujte metriky pod kľúčmi, načítajte celý dashboard jedným volaním a vráťte ho priamo z controllera ako JSON.
Cache a udalosti
Voliteľné cachovanie výsledkov s cielenou invalidáciou na každom store a udalosť MetricCalculated na logovanie pomalých metrík.
Fasáda alebo DI a zaznamenávajúci fake
Použite fasádu Metrics alebo injektujte MetricsManager s rovnakým API; Metrics::fake() podstrčí výsledky a zaznamená, čo sa vyhodnotilo.
Dokumentácia
Inštalácia
Inštalácia cez Composer — provider aj fasáda Metrics sa načítajú automaticky, migrácie netreba a konfigurácia je voliteľná.
Konfigurácia
Každý konfiguračný kľúč a jeho predvolená hodnota — časové pásmo, predvolené obdobie, jednotka a presnosť, cache, popis skupiny a drivery trendov.
Rýchly štart
Vytvorte metriku inline jedným fluent výrazom cez fasádu Metrics a potom prečítajte jej typovaný výsledok alebo vráťte obálku pre JSON.
Fasáda Metrics
Celé API na jednej fasáde — inline buildery, register metrík, dashboardy, invalidácia cache a zaznamenávajúci fake.
Bez fasády
Injektujte MetricsManager s rovnakým API bez statických volaní alebo používajte triedy metrík samostatne — bez registra aj fasády.
Triedy metrík
Definujte znovupoužiteľné triedy Value, Trend, Progress a Partition cez calculate() a setup(), plus fluent API spoločné pre všetky metriky.
Agregačné funkcie
count, average, sum, max a min nad ľubovoľným Eloquent dotazom — agregovaný stĺpec, dátumový stĺpec a rešpektovanie scopes.
Časové obdobia
20 prednastavených období od dneška po minulý rok, vlastné okná, časové pásmo pre každú metriku a enum Period pre výbery a validáciu.
Porovnanie období
Zobrazte zmenu oproti predchádzajúcemu obdobiu alebo porovnajte s ľubovoľným rozsahom cez compareTo() — pre metriky hodnoty a progresu.
Trendy
Časové rady v intervaloch od minúty po rok, s dopĺňaním medzier, viacerými sériami cez groupBy() a podporou štyroch databáz.
Členenie (partition)
Rozpady pre koláčové a stĺpcové grafy — od najväčšej skupiny, obmedzené na top N so skupinou „Other“ a so zobrazovanými popismi.
Výstup a výsledky
Obálka, ktorú vracia každá metrika, tvar výsledku každého typu metriky a typované prístupové metódy objektov výsledkov.
Formátovanie čísel
Zobrazte hodnoty ako menu, percentá či skrátené čísla cez formatUsing() — surové čísla zostanú nedotknuté vedľa nich.
Register metrík
Zaregistrujte metriky pod krátkymi kľúčmi ako triedy, closures či inštancie a potom ich odkiaľkoľvek načítajte podľa názvu.
Dashboardy
Načítajte viacero zaregistrovaných metrík jedným volaním do jednej obálky s kľúčmi, so spoločným obdobím a voliteľne aj časovým pásmom.
Cachovanie
Voliteľné cachovanie výsledkov — globálne alebo pre jednu metriku cez cache(), cacheFor(), cacheKey() a dontCache() — plus forget() a flushCache().
Udalosti
MetricCalculated sa spustí pri každom vyhodnotení s kľúčom, obdobím, trvaním a príznakom cache — pripravená na logovanie pomalých metrík.
Artisan príkazy
Vypíšte všetky zaregistrované metriky a vyhodnoťte jednu priamo v termináli, aby ste videli jej obálku — voliteľne s iným obdobím.
Rozšírenie
Pridajte podporu trendov pre ďalšiu databázu cez QueryExpression a napájajte metriky z doménových udalostí iných balíkov.
Výnimky
Všetky výnimky dedia od MetricsException — čo ktorá znamená, kedy sa vyhodí a ako zachytiť celú rodinu naraz.
Testovanie
Podstrčte výsledky metrík cez Metrics::fake(), overte, ktoré metriky sa vyhodnotili či zabudli, a testujte čísla nad naplnenými riadkami.
Požiadavky
PHP 8.4+ a Laravel 12 alebo 13; pre trendové metriky hneď po inštalácii MySQL, MariaDB, PostgreSQL alebo SQLite.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.