NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Metrics for Laravel

Konfigurácia

Balík funguje bez akejkoľvek konfigurácie. Publikovaný config/metrics.php v plnom znení:

use RoundlyConsulting\Metrics\Types\Trend\QueryExpressions\Mysql;
use RoundlyConsulting\Metrics\Types\Trend\QueryExpressions\Postgres;
use RoundlyConsulting\Metrics\Types\Trend\QueryExpressions\Sqlite;

return [
    'timezone' => env('METRICS_TIMEZONE'),

    'default_range' => 'ALL',
    'default_unit' => 'DAY',
    'precision' => 0,

    'cache' => [
        'enabled' => env('METRICS_CACHE_ENABLED', false),
        'store' => env('METRICS_CACHE_STORE'),
        'ttl' => env('METRICS_CACHE_TTL', 300),
        'prefix' => 'metrics',
    ],

    'partition' => [
        'other_label' => 'Other',
    ],

    'trend_drivers' => [
        'mysql' => Mysql::class,
        'mariadb' => Mysql::class,
        'pgsql' => Postgres::class,
        'sqlite' => Sqlite::class,
    ],
];

Všetky kľúče

KľúčPredvolenéEnvÚčel
timezonenullMETRICS_TIMEZONEČasové pásmo reportingu — vyhodnocujú sa v ňom obdobia a označujú intervaly trendov; null alebo prázdna hodnota (nenastavené) = pásmo aplikácie. Pre jednu metriku ho prepíše timezone(). Inak reťazec.
default_rangeALL—Hodnota Period (ALL, TODAY, 30, MTD, …), ktorú dostane každá metrika pred setup(); neznáma hodnota vyhodí výnimku.
default_unitDAY—Hodnota Unit (MINUTE … YEAR, presne s týmito veľkými písmenami) pre trendové metriky pred setup(); neznáma hodnota vyhodí výnimku.
precision0—Predvolená presnosť zaokrúhľovania všetkých hodnôt — celé číslo (akceptujú sa aj číselné reťazce).
cache.enabledfalseMETRICS_CACHE_ENABLEDHlavný vypínač cachovania výsledkov: true/false, 1/0, on/off alebo yes/no; čokoľvek iné vyhodí výnimku.
cache.storenullMETRICS_CACHE_STORENázov cache store; null alebo prázdna hodnota (nenastavené) = predvolený store, inak reťazec.
cache.ttl300METRICS_CACHE_TTLPočet sekúnd, počas ktorých sa výsledok drží v cache — celé číslo od 1 do 31536000; akceptujú sa aj číselné reťazce z .env.
cache.prefixmetrics—Prefix generovaných cache kľúčov — reťazec; prázdna hodnota sa považuje za nenastavenú, takže platí metrics.
partition.other_labelOther—Preložiteľný popis zvyškovej skupiny, keď členenie obmedzíte cez limit() — reťazec; prázdna hodnota sa považuje za nenastavenú, takže platí Other.
trend_driversmysql, mariadb, pgsql, sqlite—Mapuje databázový driver na QueryExpression, ktorý skladá SQL pre zoskupovanie trendov v čase; každá položka musí pomenovať triedu QueryExpression.

Každý kľúč sa číta prísne: ak je nastavený, no nepoužiteľný, vyhodí RoundlyConsulting\Metrics\Exceptions\InvalidConfigurationException s jeho názvom; kľúč, ktorý nie je nastavený — chýbajúci, null alebo prázdny (KEY= v .env) —, dostane predvolenú hodnotu. default_range musí byť hodnota Period (ALL, TODAY, 30, …) a default_unit hodnota Unit (MINUTE … YEAR, presne s týmito veľkými písmenami); precision musí byť celé číslo (akceptujú sa aj číselné reťazce); timezone, cache.store, cache.prefix a partition.other_label musia byť reťazce; každá položka trend_drivers musí pomenovať triedu QueryExpression. Preklep sa nikdy potichu neignoruje.

Predvolené hodnoty pre každú metriku

default_range, default_unit a precision sa načítajú v konštruktore metriky ešte pred spustením setup() — čokoľvek nastavíte v setup() alebo fluent volaním, ich prepíše:

// config/metrics.php
'default_range' => 'MTD',   // every metric defaults to month-to-date
'default_unit' => 'WEEK',   // trends bucket weekly unless told otherwise
'precision' => 2,           // values round to 2 decimals

Prostredie (env)

Časové pásmo reportingu a prepínače cache sú riadené cez env:

METRICS_TIMEZONE=Europe/Bratislava
METRICS_CACHE_ENABLED=true
METRICS_CACHE_STORE=redis

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 kryptomien

Odoslaní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.