From 044b1205b304b0a8ea0d9131cd2a63317d578431 Mon Sep 17 00:00:00 2001 From: Milan Zazrivec Date: Wed, 28 Mar 2018 16:23:17 +0200 Subject: [PATCH 1/2] Container dashboard charts: send datapoints as full timestamps We need to send chart datapoints as complete timestamps (including timezone info) so that the patternfly component would correctly convert them to Date() objects and avoid ugly side-effects when viewing the charts in browsers located in different timezones. https://bugzilla.redhat.com/show_bug.cgi?id=1542720 --- app/services/container_dashboard_service.rb | 2 +- app/services/container_service_mixin.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/services/container_dashboard_service.rb b/app/services/container_dashboard_service.rb index d4bf6ac6c27..2a95bf09b09 100644 --- a/app/services/container_dashboard_service.rb +++ b/app/services/container_dashboard_service.rb @@ -233,7 +233,7 @@ def hourly_image_metrics def daily_image_metrics daily_image_metrics = Hash.new(0) daily_metrics.each do |m| - day = m.timestamp.strftime("%Y-%m-%d") + day = m.timestamp.beginning_of_day.utc daily_image_metrics[day] += m.stat_container_image_registration_rate if m.stat_container_image_registration_rate.present? end diff --git a/app/services/container_service_mixin.rb b/app/services/container_service_mixin.rb index 8ee70b172ce..d9012e2e6a5 100644 --- a/app/services/container_service_mixin.rb +++ b/app/services/container_service_mixin.rb @@ -10,7 +10,7 @@ def daily_pod_metrics daily_pod_delete_trend = Hash.new(0) daily_metrics.each do |m| - date = m.timestamp.strftime("%Y-%m-%d") + date = m.timestamp.beginning_of_day.utc fill_pod_metrics(m, date, daily_pod_create_trend, daily_pod_delete_trend) end @@ -122,7 +122,7 @@ def empty_network_trend_data def daily_network_metrics daily_network_metrics = Hash.new(0) daily_metrics.each do |m| - day = m.timestamp.strftime("%Y-%m-%d") + day = m.timestamp.beginning_of_day.utc daily_network_metrics[day] += m.net_usage_rate_average if m.net_usage_rate_average.present? end @@ -179,7 +179,7 @@ def daily_utilization total_mem = Hash.new(0) daily_metrics.each do |metric| - date = metric.timestamp.strftime("%Y-%m-%d") + date = metric.timestamp.beginning_of_day.utc fill_utilization(metric, date, used_cpu, used_mem, total_cpu, total_mem) end From 35f2268fce178fef62349e99633e1edbe4ff0c09 Mon Sep 17 00:00:00 2001 From: Milan Zazrivec Date: Fri, 6 Apr 2018 11:23:10 +0200 Subject: [PATCH 2/2] Fix specs for container dashboards charts timestamp fix --- .../container_dashboard_service_spec.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spec/services/container_dashboard_service_spec.rb b/spec/services/container_dashboard_service_spec.rb index f2ffc9ba2d6..398ee33cb81 100644 --- a/spec/services/container_dashboard_service_spec.rb +++ b/spec/services/container_dashboard_service_spec.rb @@ -26,7 +26,7 @@ ems_openshift = FactoryGirl.create(:ems_openshift, :zone => @zone) ems_kubernetes = FactoryGirl.create(:ems_kubernetes, :zone => @zone) - current_date = 7.days.ago + current_date = 7.days.ago.beginning_of_day.utc old_date = 35.days.ago current_metric_openshift = FactoryGirl.create( @@ -75,13 +75,13 @@ :cpu => { :used => 2, :total => 2, - :xData => [current_date.strftime("%Y-%m-%d")], + :xData => [current_date], :yData => [2] }, :memory => { :used => 1, :total => 2, - :xData => [current_date.strftime("%Y-%m-%d")], + :xData => [current_date], :yData => [1] } ) @@ -90,13 +90,13 @@ :cpu => { :used => 3, :total => 3, - :xData => [current_date.strftime("%Y-%m-%d")], + :xData => [current_date], :yData => [3.0] }, :memory => { :used => 2, :total => 3, - :xData => [current_date.strftime("%Y-%m-%d")], + :xData => [current_date], :yData => [1.5] } ) @@ -314,8 +314,8 @@ ems_openshift = FactoryGirl.create(:ems_openshift, :zone => @zone) ems_kubernetes = FactoryGirl.create(:ems_kubernetes, :zone => @zone) - previous_date = 8.days.ago - current_date = 7.days.ago + previous_date = 8.days.ago.beginning_of_day.utc + current_date = 7.days.ago.beginning_of_day.utc old_date = 35.days.ago previous_metric_openshift = FactoryGirl.create( @@ -353,12 +353,12 @@ daily_network_trends_single_provider = described_class.new(ems_openshift.id, controller).network_metrics[:xy_data] expect(daily_network_trends_single_provider).to eq( - :xData => [previous_date.strftime("%Y-%m-%d"), current_date.strftime("%Y-%m-%d")], + :xData => [previous_date, current_date], :yData => [2000, 1000] ) expect(daily_network_trends).to eq( - :xData => [previous_date.strftime("%Y-%m-%d"), current_date.strftime("%Y-%m-%d")], + :xData => [previous_date, current_date], :yData => [2000, 2500] ) end