kreitje / nova-horizon-stats by kreitje

A Laravel Nova card.
167,037
28
3
Package Data
Maintainer Username: kreitje
Package Create Date: 2018-08-25
Package Last Update: 2018-10-23
Language: Vue
License: MIT
Last Refreshed: 2024-11-23 03:01:05
Package Statistics
Total Downloads: 167,037
Monthly Downloads: 609
Daily Downloads: 23
Total Stars: 28
Total Watchers: 3
Total Forks: 2
Total Open Issues: 3

Nova Horizon Stats

For sites that use Laravel Horizon, this provides a few cards to show stats you will find on /horizon.

horizon stats screenshot

Installation

You can install the package in to a Laravel app that uses Nova via composer:

composer require kreitje/nova-horizon-stats

In your app/Providers/NovaServiceProvider.php add the cards to the cards method array.

Usage:

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\JobsPastHour,
        new \Kreitje\NovaHorizonStats\FailedJobsPastHour,
        new \Kreitje\NovaHorizonStats\Processes,
        new \Kreitje\NovaHorizonStats\Workload
    ];
}

You can pass an argument into the classes for how many seconds to automatically refresh. It defaults to the 30 seconds.

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\JobsPastHour(5),
        new \Kreitje\NovaHorizonStats\FailedJobsPastHour(10),
        new \Kreitje\NovaHorizonStats\Processes(15),
        new \Kreitje\NovaHorizonStats\Workload(30),
    ];
}

If you want to change the title of the cards, pass a second argument to the card classes.

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\JobsPastHour(5, 'Jobs from the past hour')
    ];
}

The Workload card allows you to only watch for specific queues running. To only show specific queues, the third parameter takes an array of queue names.

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\Workload(5, 'Queue Workload', ['default', 'encoding'])
    ];
}

License

The MIT License (MIT). Please see License File for more information.