directorytree/metrics
Record and query metrics in Laravel with a simple, elegant API. Track page views, API calls, signups, and other events with optional values, categories, dates, hourly buckets, model-scoped metrics, and custom attributes. Supports Redis and extensible drivers.
Strengths:
source, country) without schema bloat, leveraging Laravel’s dynamic query builder.HasMetrics trait integrates metrics with Eloquent models, enabling user/feature-specific analytics.Gaps:
groupBy, sum) for time-series analysis; lacks pre-built dashboards or real-time APIs.metrics:commit).metrics table (e.g., adding user_id for segmentation) requires manual migrations and query adjustments.name, category, date composite index).Metrics facade or HasMetrics trait in unit tests requires setup (e.g., fake metrics, database transactions).page_views, api_calls) is straightforward.user_id + device + country combinations).user_signups).EXPLAIN for complex segments (e.g., WHERE name LIKE 'api:%' AND category = 'users').tags or dimensions)?source) or dynamic (e.g., user_preferences)?page_views) and background (e.g., queue_jobs:failed) metrics.Pilot Phase:
user_signups, api_errors).AuthController@register, ApiMiddleware).Core Integration:
HasMetrics to key models (e.g., User, Order).metrics table for segmentation (e.g., source, plan_type).api_requests) and schedule metrics:commit.AnalyticsService::getDailyActiveUsers()).Advanced Features:
peak_concurrency).Metrics::capture() in high-traffic endpoints (e.g., /checkout).Metrics::fake() (if available) or database transactions.metrics.php for connection details.metrics:commit command runs reliably (e.g., via Supervisor or Kubernetes CronJob).php artisan migrate --seed).'auto_commit' => false) if metrics:commit fails.metrics table.metrics:commit jobs.config/metrics.php.metrics:commit, metrics:clear (if added) for manual intervention.auto_commit setting, middleware, or exceptions.metrics:commit scheduling.name, category, and date columns.HGETALL metrics:pending) to debug buffered metrics.How can I help you explore Laravel packages today?