diff --git a/app/pages/data.php b/app/pages/data.php deleted file mode 100644 index 656c129..0000000 --- a/app/pages/data.php +++ /dev/null @@ -1,228 +0,0 @@ - 'conferences', - 'graph_title' => 'Conferences in "' . htmlspecialchars($platformDetails[0]['name']) . '" over time', - 'datasets' => [] - ], - [ - 'graph_name' => 'participants', - 'graph_title' => 'Participants in "' . htmlspecialchars($platformDetails[0]['name']) . '" over time', - 'datasets' => [] - ] - ]; - - // Get Jitsi API data - $conferences_api = $agentObject->getHistoricalData( - $platform_id, - 'jicofo', - 'conferences', - $from_time, - $until_time - ); - $graphs[0]['datasets'][] = [ - 'data' => $conferences_api, - 'label' => 'Conferences from Jitsi API', - 'color' => 'rgba(75, 192, 192, 1)' - ]; - - // Get conference data from logs - $conferences_logs = $conferenceObject->conferenceNumber( - $from_time, - $until_time - ); - $graphs[0]['datasets'][] = [ - 'data' => $conferences_logs, - 'label' => 'Conferences from Logs', - 'color' => 'rgba(255, 99, 132, 1)' - ]; - - // Get participants data - $participants_api = $agentObject->getHistoricalData( - $platform_id, - 'jicofo', - 'participants', - $from_time, - $until_time - ); - $graphs[1]['datasets'][] = [ - 'data' => $participants_api, - 'label' => 'Participants from Jitsi API', - 'color' => 'rgba(75, 192, 192, 1)' - ]; - - // Prepare data for template - $graph = $graphs; - - // prepare the widget - $widget['full'] = false; - $widget['name'] = 'Graphs'; - $widget['title'] = 'Jitsi graphs'; - - include '../app/templates/graphs-combined.php'; - break; - - case 'latest': - // Define metrics to display - $metrics = [ - 'Basic stats' => [ - 'conferences' => ['label' => 'Current conferences', 'link' => 'conferences'], - 'participants' => ['label' => 'Current participants', 'link' => 'participants'], - 'total_conferences_created' => ['label' => 'Total conferences created'], - 'total_participants' => ['label' => 'Total participants'] - ], - 'Bridge stats' => [ - 'bridge_selector.bridge_count' => ['label' => 'Bridge count'], - 'bridge_selector.operational_bridge_count' => ['label' => 'Operational bridges'], - 'bridge_selector.in_shutdown_bridge_count' => ['label' => 'Bridges in shutdown'] - ], - 'Jibri stats' => [ - 'jibri_detector.count' => ['label' => 'Jibri count'], - 'jibri_detector.available' => ['label' => 'Jibri idle'], - 'jibri.live_streaming_active' => ['label' => 'Jibri active streaming'], - 'jibri.recording_active' => ['label' => 'Jibri active recording'], - ], - 'System stats' => [ - 'threads' => ['label' => 'Threads'], - 'stress_level' => ['label' => 'Stress level'], - 'version' => ['label' => 'Version'] - ] - ]; - - // Get all hosts for this platform - $hosts = $hostObject->getHostDetails($platform_id); - $hostsData = []; - - // For each host, get its agents and their metrics - foreach ($hosts as $host) { - $hostData = [ - 'id' => $host['id'], - 'name' => $host['name'] ?: $host['address'], - 'address' => $host['address'], - 'agents' => [] - ]; - - // Get agents for this host - $hostAgents = $agentObject->getAgentDetails($host['id']); - foreach ($hostAgents as $agent) { - $agentData = [ - 'id' => $agent['id'], - 'type' => $agent['agent_description'], - 'name' => strtoupper($agent['agent_description']), - 'metrics' => [], - 'timestamp' => null - ]; - - // Fetch all metrics for this agent - foreach ($metrics as $section => $section_metrics) { - foreach ($section_metrics as $metric => $metricConfig) { - // Get latest data - $latestData = $agentObject->getLatestData($host['id'], $agent['agent_description'], $metric); - - if ($latestData !== null) { - // Get the previous record - $previousData = $agentObject->getPreviousRecord( - $host['id'], - $agent['agent_description'], - $metric, - $latestData['timestamp'] - ); - - $agentData['metrics'][$section][$metric] = [ - 'latest' => [ - 'value' => $latestData['value'], - 'timestamp' => $latestData['timestamp'] - ], - 'previous' => $previousData, - 'label' => $metricConfig['label'], - 'link' => isset($metricConfig['link']) ? $metricConfig['link'] : null - ]; - - // Use the most recent timestamp for the agent - if ($agentData['timestamp'] === null || strtotime($latestData['timestamp']) > strtotime($agentData['timestamp'])) { - $agentData['timestamp'] = $latestData['timestamp']; - } - } - } - } - - if (!empty($agentData['metrics'])) { - $hostData['agents'][] = $agentData; - } - } - - if (!empty($hostData['agents'])) { - $hostsData[] = $hostData; - } - } - - // Load the template - include '../app/templates/latest-data.php'; - break; - - case 'configjs': - $mode = $_REQUEST['mode'] ?? ''; - $raw = ($mode === 'raw'); - $platformConfigjs = $settingsObject->getPlatformConfigjs($platformDetails[0]['jitsi_url'], $raw); - include '../app/templates/data-configjs.php'; - break; - - case 'interfaceconfigjs': - $mode = $_REQUEST['mode'] ?? ''; - $raw = ($mode === 'raw'); - $platformInterfaceConfigjs = $settingsObject->getPlatformInterfaceConfigjs($platformDetails[0]['jitsi_url'], $raw); - include '../app/templates/data-interfaceconfigjs.php'; - break; - - default: - } - -} - -?> diff --git a/app/templates/graphs-combined.php b/app/templates/graphs-combined.php deleted file mode 100644 index 4ca2762..0000000 --- a/app/templates/graphs-combined.php +++ /dev/null @@ -1,142 +0,0 @@ - -
Metric | -
- Latest value
- - = date('d M Y H:i:s', strtotime($agent['timestamp'])) ?> - |
-
- Previous value
- $m_metrics) {
- foreach ($m_metrics as $m_metric => $m_config) {
- if (isset($agent['metrics'][$m_section][$m_metric]['previous'])) {
- $prevTimestamp = $agent['metrics'][$m_section][$m_metric]['previous']['timestamp'];
- break 2;
- }
- }
-}
-if ($prevTimestamp) { ?>
- - = date('d M Y H:i:s', strtotime($prevTimestamp)) ?> - - |
-
---|---|---|
= htmlspecialchars($section) ?> | -||
= htmlspecialchars($metricConfig['label']) ?> | -- - = htmlspecialchars($metric_data['latest']['value']) ?> - - = htmlspecialchars($metric_data['latest']['value']) ?> - - | -- - - = htmlspecialchars($metric_data['previous']['value']) ?> - - = htmlspecialchars($metric_data['previous']['value']) ?> - - - No previous data - - | -