Laravel package that ships the runtime telemetry tooling used detect which controllers, jobs, events, listeners and commands actually run in production.
composer require qwerkon/code-usageThe package is auto-discovered but you can manually register Qwerkon\CodeUsage\Providers\CodeUsageServiceProvider in config/app.php if needed.
Publish the default configuration when you first install the package:
php artisan vendor:publish --tag=code-usage-configKey settings:
code_usage.enabled– master switch (set viaCODE_USAGE_ENABLED).code_usage.sample_rate– float between 0.0 and 1.0 to sample hits.code_usage.throttle_per_minute– maximum records per symbol per minute.code_usage.include_namespaces/exclude_namespaces– limit what symbols are tracked.code_usage.meta_enabled– whether to persist contextual metadata.code_usage.queue_connection/queue_name– configure whereFlushCodeUsageBatchJobruns.
When enabled the package:
- Registers the
track-code-usagemiddleware to log each routed controller action. - Swaps the event dispatcher to capture event/listener invocations.
- Hooks
JobProcessing,JobProcessed,CommandStarting,CommandFinishedto track jobs and commands. - Buffers hits per request and flushes via
FlushCodeUsageBatchJob(with a sync fallback).
The buffer uses code_usage_hits/code_usage_symbols/code_usage_meta tables defined in the bundled migrations.
php artisan code-usage:report– prints top hitters and “never seen” symbols per kind.php artisan code-usage:prune --days=30– removes hits older thanretention_days.