diff --git a/plist b/plist index 56988cebd..3f8d85da1 100644 --- a/plist +++ b/plist @@ -1929,8 +1929,10 @@ /usr/local/opnsense/www/js/widgets/BaseTableWidget.js /usr/local/opnsense/www/js/widgets/BaseWidget.js /usr/local/opnsense/www/js/widgets/Cpu.js +/usr/local/opnsense/www/js/widgets/InterfaceStatistics.js /usr/local/opnsense/www/js/widgets/Interfaces.js /usr/local/opnsense/www/js/widgets/SystemInformation.js +/usr/local/opnsense/www/js/widgets/Traffic.js /usr/local/opnsense/www/themes/opnsense/LICENSE /usr/local/opnsense/www/themes/opnsense/assets/fonts/SourceSansPro-Bold/SourceSansPro-Bold.eot /usr/local/opnsense/www/themes/opnsense/assets/fonts/SourceSansPro-Bold/SourceSansPro-Bold.otf diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php index 7f8daba3b..f418633d7 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php @@ -66,6 +66,11 @@ class DashboardController extends ApiControllerBase 'errorsout' => gettext('Errors Out'), 'collisions' => gettext('Collisions'), ], + 'traffic' => [ + 'title' => gettext('Traffic Graph'), + 'trafficin' => gettext('Traffic In'), + 'trafficout' => gettext('Traffic Out'), + ], ]; } diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/TrafficController.php b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/TrafficController.php index 3a2cbdd61..97909830c 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/TrafficController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/TrafficController.php @@ -49,6 +49,19 @@ class TrafficController extends ApiControllerBase return json_decode($response, true); } + public function streamAction($poll_interval = 1) + { + return $this->configdStream( + 'interface stream traffic', + [$poll_interval], + [ + 'Content-Type: text/event-stream', + 'Cache-Control: no-cache', + ], + $poll_interval + 1 + ); + } + /** * retrieve interface top traffic hosts * @param $interfaces string comma separated list of interfaces diff --git a/src/opnsense/mvc/app/views/OPNsense/Core/dashboard.volt b/src/opnsense/mvc/app/views/OPNsense/Core/dashboard.volt index b5f24f772..8e8c2e9e1 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Core/dashboard.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Core/dashboard.volt @@ -31,15 +31,14 @@ - - - - - + + + +