2018-12-03 22:19:46 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace BeyondCode\LaravelWebsockets\Statistics\Events;
|
|
|
|
|
|
|
|
|
|
use BeyondCode\LaravelWebSockets\Dashboard\DashboardLogger;
|
2018-12-03 23:00:35 +00:00
|
|
|
use BeyondCode\LaravelWebSockets\Statistics\Models\WebSocketsStatisticsEntry;
|
2018-12-03 22:19:46 +00:00
|
|
|
use Illuminate\Broadcasting\PrivateChannel;
|
|
|
|
|
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
|
|
|
|
use Illuminate\Queue\SerializesModels;
|
|
|
|
|
|
|
|
|
|
class StatisticsUpdated implements ShouldBroadcast
|
|
|
|
|
{
|
|
|
|
|
use SerializesModels;
|
|
|
|
|
|
2018-12-03 23:00:35 +00:00
|
|
|
/** @var \BeyondCode\LaravelWebSockets\Statistics\Models\WebSocketsStatisticsEntry */
|
|
|
|
|
protected $webSocketsStatisticsEntry;
|
2018-12-03 22:19:46 +00:00
|
|
|
|
2018-12-03 23:00:35 +00:00
|
|
|
public function __construct(WebSocketsStatisticsEntry $webSocketsStatisticsEntry)
|
2018-12-03 22:19:46 +00:00
|
|
|
{
|
2018-12-03 23:00:35 +00:00
|
|
|
$this->webSocketsStatisticsEntry = $webSocketsStatisticsEntry;
|
2018-12-03 22:19:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function broadcastWith()
|
|
|
|
|
{
|
|
|
|
|
return [
|
2018-12-04 00:05:18 +00:00
|
|
|
'time' => (string)$this->webSocketsStatisticsEntry->created_at,
|
|
|
|
|
'app_id' => $this->webSocketsStatisticsEntry->app_id,
|
|
|
|
|
'peak_connection_count' => $this->webSocketsStatisticsEntry->peak_connection_count,
|
|
|
|
|
'websocket_message_count' => $this->webSocketsStatisticsEntry->websocket_message_count,
|
|
|
|
|
'api_message_count' => $this->webSocketsStatisticsEntry->api_message_count,
|
2018-12-03 22:19:46 +00:00
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function broadcastOn()
|
|
|
|
|
{
|
2018-12-03 23:00:35 +00:00
|
|
|
$channelName = str_after(DashboardLogger::LOG_CHANNEL_PREFIX . 'statistics', 'private-');
|
|
|
|
|
|
|
|
|
|
return new PrivateChannel($channelName);
|
2018-12-03 22:19:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function broadcastAs()
|
|
|
|
|
{
|
|
|
|
|
return 'statistics-updated';
|
|
|
|
|
}
|
|
|
|
|
}
|