From 18bea0529d4fab05ce61695b765389797c3065c3 Mon Sep 17 00:00:00 2001 From: Marcel Pociot Date: Mon, 3 Dec 2018 13:27:45 +0100 Subject: [PATCH] wip --- src/Facades/StatisticsLogger.php | 14 ++++++++++++++ src/Statistics/Logging/Logger.php | 2 +- src/WebSockets/WebSocketHandler.php | 4 +++- src/WebSocketsServiceProvider.php | 5 +++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/Facades/StatisticsLogger.php diff --git a/src/Facades/StatisticsLogger.php b/src/Facades/StatisticsLogger.php new file mode 100644 index 0000000..1b3dbff --- /dev/null +++ b/src/Facades/StatisticsLogger.php @@ -0,0 +1,14 @@ +statistics[$connection->app->id])) { + if (!isset($this->statistics[$id])) { $this->statistics[$id] = new Statistic($id); } } diff --git a/src/WebSockets/WebSocketHandler.php b/src/WebSockets/WebSocketHandler.php index 9efb3b7..23b57de 100644 --- a/src/WebSockets/WebSocketHandler.php +++ b/src/WebSockets/WebSocketHandler.php @@ -3,7 +3,7 @@ namespace BeyondCode\LaravelWebSockets\WebSockets; use BeyondCode\LaravelWebSockets\Dashboard\DashboardLogger; -use BeyondCode\LaravelWebSockets\Events\ConnectionEstablished; +use BeyondCode\LaravelWebSockets\Facades\StatisticsLogger; use BeyondCode\LaravelWebSockets\WebSockets\Exceptions\WebSocketException; use BeyondCode\LaravelWebSockets\WebSockets\Messages\PusherMessageFactory; use BeyondCode\LaravelWebSockets\QueryParameters; @@ -90,6 +90,8 @@ class WebSocketHandler implements MessageComponentInterface DashboardLogger::connection($connection); + StatisticsLogger::connection($connection); + return $this; } } \ No newline at end of file diff --git a/src/WebSocketsServiceProvider.php b/src/WebSocketsServiceProvider.php index 2064067..c6169d9 100644 --- a/src/WebSocketsServiceProvider.php +++ b/src/WebSocketsServiceProvider.php @@ -7,6 +7,7 @@ use BeyondCode\LaravelWebSockets\Dashboard\Http\Controllers\SendMessage; use BeyondCode\LaravelWebSockets\Dashboard\Http\Controllers\ShowDashboard; use BeyondCode\LaravelWebSockets\Dashboard\Http\Middleware\Authorize; use BeyondCode\LaravelWebSockets\Server\Router; +use BeyondCode\LaravelWebSockets\Statistics\Logging\Logger; use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Route; use BeyondCode\LaravelWebSockets\Apps\AppProvider; @@ -50,6 +51,10 @@ class WebSocketsServiceProvider extends ServiceProvider return new ChannelManager(); }); + $this->app->singleton('websockets.statisticslogger', function() { + return new Logger(app(ChannelManager::class)); + }); + $this->app->singleton(AppProvider::class, function() { return app(config('websockets.app_provider')); });