[修改]小组件时间显示

This commit is contained in:
2024-09-04 14:23:51 +08:00
committed by Coding
parent fa43f1e099
commit 12ce517398
3 changed files with 17 additions and 2 deletions

View File

@@ -61,6 +61,8 @@ class LoadWidget extends ChartWidget
$data = []; $data = [];
if (!empty($loadResult['data']['result'][0]['values'])) { if (!empty($loadResult['data']['result'][0]['values'])) {
date_default_timezone_set('Asia/Shanghai');
$loadValues = array_column($loadResult['data']['result'][0]['values'], 1, 0); $loadValues = array_column($loadResult['data']['result'][0]['values'], 1, 0);
// 获取最新的数据点 // 获取最新的数据点

View File

@@ -44,7 +44,10 @@ class NetworkMonitor extends ChartWidget
'5s' // 每秒一个数据点 '5s' // 每秒一个数据点
); );
if (!empty($uploadResult['data']['result'][0]['values'])) { if (!empty($uploadResult['data']['result'][0]['values'])) {
date_default_timezone_set('Asia/Shanghai');
$uploadValues = array_column($uploadResult['data']['result'][0]['values'], 1, 0); $uploadValues = array_column($uploadResult['data']['result'][0]['values'], 1, 0);
// 获取最新的数据点 // 获取最新的数据点
@@ -69,6 +72,8 @@ class NetworkMonitor extends ChartWidget
); );
if (!empty($downloadResult['data']['result'][0]['values'])) { if (!empty($downloadResult['data']['result'][0]['values'])) {
date_default_timezone_set('Asia/Shanghai');
$downloadValues = array_column($downloadResult['data']['result'][0]['values'], 1, 0); $downloadValues = array_column($downloadResult['data']['result'][0]['values'], 1, 0);
// 获取最新的数据点 // 获取最新的数据点

View File

@@ -10,16 +10,23 @@ class MetricWidgetChart extends InlineChartWidget
protected function getData(): array protected function getData(): array
{ {
$prometheus = new PrometheusService(); $prometheus = new PrometheusService();
// date_default_timezone_set('Asia/Shanghai');
$query1 = $this->record->name . '{data="real"}'; $query1 = $this->record->name . '{data="real"}';
$query2 = $this->record->name . '{data="simulate"}'; $query2 = $this->record->name . '{data="simulate"}';
$start = now()->subDays(1)->timestamp; $start = now()->subDays(1)->timestamp;
$end = now()->timestamp; $end = now()->timestamp;
$step = 60; $step = 60;
$realdata = $prometheus->queryRange($query1, $start, $end, $step); $realdata = $prometheus->queryRange($query1, $start, $end, $step);
$simulatedata = $prometheus->queryRange($query2, $start, $end, $step); $simulatedata = $prometheus->queryRange($query2, $start, $end, $step);
// 检查查询结果是否有数据
if (empty($realdata['data']['result']) && empty($simulatedata['data']['result'])) {
// 如果没有数据,返回一个空数据集或提示信息
return ['labels' => [], 'datasets' => [],];
}
// 将数据格式化为 InlineChartWidget 所需的格式 // 将数据格式化为 InlineChartWidget 所需的格式
$formattedRealData = $this->formatData($realdata, 'Real Data'); $formattedRealData = $this->formatData($realdata, 'Real Data');
$formattedSimulateData = $this->formatData($simulatedata, 'Simulate Data'); $formattedSimulateData = $this->formatData($simulatedata, 'Simulate Data');
@@ -40,7 +47,8 @@ class MetricWidgetChart extends InlineChartWidget
* @param string $label 数据集标签 * @param string $label 数据集标签
* @return array 格式化后的数据 * @return array 格式化后的数据
*/ */
protected function formatData(array $data, string $label): array protected
function formatData(array $data, string $label): array
{ {
$labels = []; $labels = [];
$dataset = [ $dataset = [