foreman_statistics 0.1.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/foreman_statistics/api/v2/statistics_controller.rb +9 -1
- data/app/controllers/foreman_statistics/api/v2/trends_controller.rb +8 -0
- data/app/jobs/foreman_statistics/trend_counter_job.rb +23 -0
- data/app/views/foreman_statistics/layouts/application_react.html.erb +1 -2
- data/app/views/foreman_statistics/trends/_empty_data.html.erb +0 -1
- data/app/views/foreman_statistics/trends/index.html.erb +3 -12
- data/app/views/foreman_statistics/trends/welcome.html.erb +1 -1
- data/db/migrate/20200605153005_migrate_core_types.rb +6 -2
- data/lib/foreman_statistics/engine.rb +13 -1
- data/lib/foreman_statistics/version.rb +1 -1
- data/lib/tasks/foreman_statistics_tasks.rake +3 -2
- data/locale/action_names.rb +5 -0
- data/locale/en/LC_MESSAGES/foreman_statistics.mo +0 -0
- data/locale/en/foreman_statistics.edit.po +258 -0
- data/locale/en/foreman_statistics.po +181 -2
- data/locale/en/foreman_statistics.po.time_stamp +0 -0
- data/locale/foreman_statistics.pot +265 -8
- data/locale/gemspec.rb +1 -1
- data/package.json +42 -0
- data/test/functional/foreman_statistics/api/v2/statistics_controller_test.rb +1 -1
- data/test/functional/foreman_statistics/api/v2/trends_controller_test.rb +1 -1
- data/test/functional/foreman_statistics/statistics_controller_test.rb +5 -7
- data/test/functional/foreman_statistics/trends_controller_test.rb +3 -3
- data/test/models/foreman_statistics/trend_counter_test.rb +1 -1
- data/test/models/foreman_statistics/trend_test.rb +1 -1
- data/test/{test_plugin_helper.rb → test_statistics_helper.rb} +0 -0
- data/test/unit/foreman_statistics/access_permissions_test.rb +1 -1
- data/test/unit/foreman_statistics/statistics_test.rb +1 -1
- data/test/unit/foreman_statistics_test.rb +1 -1
- data/test/unit/tasks/foreman_statistics_tasks_test.rb +1 -1
- data/webpack/__mocks__/foremanReact/API.js +7 -0
- data/webpack/__mocks__/foremanReact/common/HOC.js +24 -0
- data/webpack/__mocks__/foremanReact/common/I18n.js +3 -0
- data/webpack/__mocks__/foremanReact/common/helpers.js +1 -0
- data/webpack/__mocks__/foremanReact/common/urlHelpers.js +1 -0
- data/webpack/__mocks__/foremanReact/components/ChartBox/index.js +2 -0
- data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js +2 -0
- data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalHooks.js +10 -0
- data/webpack/__mocks__/foremanReact/components/ForemanModal/index.js +4 -0
- data/webpack/__mocks__/foremanReact/components/Layout/LayoutActions.js +2 -0
- data/webpack/__mocks__/foremanReact/components/Pagination/PaginationWrapper.js +2 -0
- data/webpack/__mocks__/foremanReact/components/common/EmptyState.js +5 -0
- data/webpack/__mocks__/foremanReact/components/common/MessageBox.js +4 -0
- data/webpack/__mocks__/foremanReact/components/common/dates/LongDateTime.js +5 -0
- data/webpack/__mocks__/foremanReact/components/common/dates/RelativeDateTime.js +3 -0
- data/webpack/__mocks__/foremanReact/components/common/table.js +5 -0
- data/webpack/__mocks__/foremanReact/components/common/table/actionsHelpers/actionTypeCreator.js +7 -0
- data/webpack/__mocks__/foremanReact/constants.js +24 -0
- data/webpack/__mocks__/foremanReact/readme.md +11 -0
- data/webpack/__mocks__/foremanReact/redux/actions/toasts.js +8 -0
- data/webpack/__mocks__/foremanReact/routes/common/PageLayout/PageLayout.js +10 -0
- data/webpack/__mocks__/foremanReact/routes/common/PageLayout/components/ExportButton/ExportButton.js +5 -0
- data/webpack/__mocks__/foremanReact/routes/common/reducerHOC/withDataReducer.js +35 -0
- data/webpack/fills_index.js +15 -0
- data/webpack/index.js +21 -0
- data/webpack/src/Components/StatisticsChartsList/StatisticsChartsList.fixtures.js +19 -0
- data/webpack/src/Components/StatisticsChartsList/StatisticsChartsList.test.js +18 -0
- data/webpack/src/Components/StatisticsChartsList/StatisticsChartsListStyles.scss +28 -0
- data/webpack/src/Components/StatisticsChartsList/__snapshots__/StatisticsChartsList.test.js.snap +42 -0
- data/webpack/src/Components/StatisticsChartsList/index.js +32 -0
- data/webpack/src/ForemanStatistics.js +11 -0
- data/webpack/src/Router/StatisticsPage/Statistics/Statistics.js +27 -0
- data/webpack/src/Router/StatisticsPage/StatisticsPage.fixtures.js +11 -0
- data/webpack/src/Router/StatisticsPage/StatisticsPage.js +21 -0
- data/webpack/src/Router/StatisticsPage/StatisticsPageActions.js +43 -0
- data/webpack/src/Router/StatisticsPage/StatisticsPageSelectors.js +13 -0
- data/webpack/src/Router/StatisticsPage/__tests__/StatisticsPage.test.js +12 -0
- data/webpack/src/Router/StatisticsPage/__tests__/StatisticsPageActions.test.js +27 -0
- data/webpack/src/Router/StatisticsPage/__tests__/StatisticsPageSelectors.test.js +34 -0
- data/webpack/src/Router/StatisticsPage/__tests__/__snapshots__/StatisticsPage.test.js.snap +32 -0
- data/webpack/src/Router/StatisticsPage/__tests__/__snapshots__/StatisticsPageActions.test.js.snap +54 -0
- data/webpack/src/Router/StatisticsPage/__tests__/__snapshots__/StatisticsPageSelectors.test.js.snap +35 -0
- data/webpack/src/Router/StatisticsPage/constants.js +4 -0
- data/webpack/src/Router/StatisticsPage/index.js +36 -0
- data/webpack/src/Router/__snapshots__/routes.test.js.snap +47 -0
- data/webpack/src/Router/index.js +14 -0
- data/webpack/src/Router/routes.js +11 -0
- data/webpack/src/Router/routes.test.js +27 -0
- data/webpack/src/index.js +1 -0
- data/webpack/src/reducers.js +9 -0
- data/webpack/src/trends.js +7 -0
- data/webpack/src/trends.test.js +44 -0
- metadata +67 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16e30e607469d7d04baec4a0e68f5dfbf8b5bcbd992e6465978089db5852da01
|
4
|
+
data.tar.gz: b3454888914a4426634f90493134f6c41f5b1fff1e23d4b4804821e1830ce3d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75cadf6efe100a11c4fff5e0d0902bf24caa7aeff4f7fb3be8dc0eebc095c51d24731dbc617e6cf83c3555813c32c5bb75ce512f1e4e50098e97eb81d58de6a4
|
7
|
+
data.tar.gz: 1b087e7a64d26f1f5c57ae873edb975ffd947609bae07d1aea8a038a8dbdae4a4476fa5790b24a42372f424852a55861536332baf7d7b9cc8834144337b8f7e2
|
@@ -2,13 +2,14 @@ module ForemanStatistics
|
|
2
2
|
module Api
|
3
3
|
module V2
|
4
4
|
class StatisticsController < ::Api::V2::BaseController
|
5
|
+
before_action :show_deprecation_for_core_routes
|
6
|
+
|
5
7
|
resource_description do
|
6
8
|
api_version 'v2'
|
7
9
|
api_base_url '/foreman_statistics/api'
|
8
10
|
end
|
9
11
|
|
10
12
|
api :GET, '/statistics/', N_('Get statistics')
|
11
|
-
|
12
13
|
def index
|
13
14
|
@os_count = Host.authorized(:view_hosts).count_distribution :operatingsystem
|
14
15
|
@arch_count = Host.authorized(:view_hosts).count_distribution :architecture
|
@@ -27,6 +28,13 @@ module ForemanStatistics
|
|
27
28
|
:model_count => @model_count, :mem_size => @mem_size, :mem_free => @mem_free,
|
28
29
|
:swap_free => @swap_free, :mem_totsize => @mem_totsize, :mem_totfree => @mem_totfree }
|
29
30
|
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def show_deprecation_for_core_routes
|
35
|
+
return if request.path.starts_with?('/foreman_statistics')
|
36
|
+
Foreman::Deprecation.api_deprecation_warning('/api/v2/statistics API endpoint is deprecated, please use /foreman_statistics/api/v2/statistics instead')
|
37
|
+
end
|
30
38
|
end
|
31
39
|
end
|
32
40
|
end
|
@@ -4,6 +4,7 @@ module ForemanStatistics
|
|
4
4
|
class TrendsController < ::Api::V2::BaseController
|
5
5
|
include ForemanStatistics::Parameters::Trend
|
6
6
|
|
7
|
+
before_action :show_deprecation_for_core_routes
|
7
8
|
before_action :find_resource, :only => %i[show destroy]
|
8
9
|
|
9
10
|
TRENDABLE_TYPES = %w[
|
@@ -52,6 +53,13 @@ module ForemanStatistics
|
|
52
53
|
def resource_scope(options = {})
|
53
54
|
@resource_scope ||= scope_for(ForemanStatistics::Trend.types, options)
|
54
55
|
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def show_deprecation_for_core_routes
|
60
|
+
return if request.path.starts_with?('/foreman_statistics')
|
61
|
+
Foreman::Deprecation.api_deprecation_warning('/api/v2/trends API endpoints are deprecated, please use /foreman_statistics/api/v2/trends instead')
|
62
|
+
end
|
55
63
|
end
|
56
64
|
end
|
57
65
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module ForemanStatistics
|
2
|
+
class TrendCounterJob < ApplicationJob
|
3
|
+
def perform(options = {})
|
4
|
+
start_time = Time.zone.now
|
5
|
+
ForemanStatistics::TrendImporter.update!
|
6
|
+
ensure
|
7
|
+
duration = start_time.is_a?(Time) ? Time.zone.now - start_time : 0
|
8
|
+
self.class.set(wait: [30.minutes - duration, 0].max).perform_later(options)
|
9
|
+
end
|
10
|
+
|
11
|
+
rescue_from(StandardError) do |error|
|
12
|
+
Foreman::Logging.logger('background').error(
|
13
|
+
'Trend Counter Job: '\
|
14
|
+
"Error while creating new data #{error.message}"
|
15
|
+
)
|
16
|
+
raise error # propagate the error to the tasking system to properly report it there
|
17
|
+
end
|
18
|
+
|
19
|
+
def humanized_name
|
20
|
+
_('Trend Counter Job')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -10,7 +10,6 @@
|
|
10
10
|
<%= notifications %>
|
11
11
|
<div id="organization-id" data-id="<%= Organization.current.id if Organization.current %>" ></div>
|
12
12
|
<div id="user-id" data-id="<%= User.current.id if User.current %>" ></div>
|
13
|
-
|
13
|
+
<%= react_component('ForemanStatistics') %>
|
14
14
|
<% end %>
|
15
15
|
<%= render file: "layouts/base" %>
|
16
|
-
<%= mount_react_component('ForemanStatistics', '#foremanStatisticsRoot') %>
|
@@ -2,6 +2,5 @@
|
|
2
2
|
<div class="row">
|
3
3
|
<div class="stats-well col-md-12">
|
4
4
|
<p><strong><%= _('No data for this trend.') %></strong></p>
|
5
|
-
<div><%= (_("Is the cron job that executes %s enabled?") % "<span class='black'>foreman-rake foreman_statistics:trends:counter</span>").html_safe %></div>
|
6
5
|
</div>
|
7
6
|
</div>
|
@@ -1,16 +1,7 @@
|
|
1
1
|
<%= javascript 'charts' %>
|
2
2
|
<% title _("Trends") %>
|
3
|
-
<% title_actions new_link(_("Add Trend Counter")),
|
3
|
+
<% title_actions new_link(_("Add Trend Counter"), engine: foreman_statistics),
|
4
4
|
documentation_button('4.1.3Trends') %>
|
5
|
-
<% if @trends.empty? %>
|
6
|
-
<%= alert :class => 'alert-info', :header => _("No trend counter defined"),
|
7
|
-
:text => (_("To define trend counters, use the Add Trend Counter button.</br> To start collecting trend data, set a cron job to execute 'foreman-rake foreman_statistics:trends:counter' at least every %s minutes.") % Setting[:outofsync_interval]).html_safe %>
|
8
|
-
<% end %>
|
9
|
-
|
10
|
-
<% if @trends.any? and ForemanStatistics::TrendCounter.unconfigured? %>
|
11
|
-
<%= alert :class => 'alert-info', :header => _("No trend counter found"),
|
12
|
-
:text => (_("To start collecting trend data, set a cron job to execute <span class='black'>foreman-rake foreman_statistics:trends:counter</span> at least every %s minutes.") % Setting[:outofsync_interval]).html_safe %>
|
13
|
-
<% end %>
|
14
5
|
|
15
6
|
<table class="<%= table_css_classes 'table-fixed' %>">
|
16
7
|
<thead>
|
@@ -33,7 +24,7 @@
|
|
33
24
|
</tbody>
|
34
25
|
</table>
|
35
26
|
<%= will_paginate_with_info @trends %>
|
36
|
-
<%
|
27
|
+
<% if (latest_counter_time = ForemanStatistics::TrendCounter.maximum(:created_at)) %>
|
37
28
|
<%= _("Last update:") %>
|
38
|
-
<%= date_time_relative(
|
29
|
+
<%= date_time_relative(latest_counter_time) %>
|
39
30
|
<% end %>
|
@@ -7,6 +7,6 @@
|
|
7
7
|
<p><%= _("Trends in Foreman allow you to track changes in your infrastructure over time. It allows you to track both Foreman related information and to any fact. The Trend pages give a graph of how the number of hosts with that value have changed over time, and list the current hosts.") %></p>
|
8
8
|
<p><%= link_to _('Learn more about this in the documentation.'), documentation_url("4.1.3Trends")%></p>
|
9
9
|
<div class="blank-slate-pf-main-action">
|
10
|
-
<%= new_link(_("Add Trend Counter"), :class => 'btn-lg') %>
|
10
|
+
<%= new_link(_("Add Trend Counter"), { engine: foreman_statistics }, :class => 'btn-lg') %>
|
11
11
|
</div>
|
12
12
|
</div>
|
@@ -1,15 +1,19 @@
|
|
1
1
|
class MigrateCoreTypes < ActiveRecord::Migration[6.0]
|
2
|
+
class FakeTrend < ApplicationRecord
|
3
|
+
self.table_name = 'trends'
|
4
|
+
end
|
5
|
+
|
2
6
|
def up
|
3
7
|
Permission.where(:resource_type => 'Trend').update_all(:resource_type => 'ForemanStatistics::Trend')
|
4
8
|
%w[ForemanTrend FactTrend Trend].each do |t|
|
5
|
-
|
9
|
+
FakeTrend.where(:type => t).update_all(:type => "ForemanStatistics::#{t}")
|
6
10
|
end
|
7
11
|
end
|
8
12
|
|
9
13
|
def down
|
10
14
|
Permission.where(:resource_type => 'ForemanStatistics::Trend').update_all(:resource_type => 'Trend')
|
11
15
|
%w[ForemanTrend FactTrend Trend].each do |t|
|
12
|
-
|
16
|
+
FakeTrend.where(:type => "ForemanStatistics::#{t}").update_all(:type => t)
|
13
17
|
end
|
14
18
|
end
|
15
19
|
end
|
@@ -8,7 +8,7 @@ module ForemanStatistics
|
|
8
8
|
config.autoload_paths += Dir["#{config.root}/app/models/concerns"]
|
9
9
|
config.autoload_paths += Dir["#{config.root}/app/overrides"]
|
10
10
|
|
11
|
-
config.paths['db/migrate'] << 'db/migrate_foreman'
|
11
|
+
config.paths['db/migrate'] << 'db/migrate_foreman' unless Gem::Version.new(SETTINGS[:version]).release < Gem::Version.new('2.2')
|
12
12
|
|
13
13
|
# Add any db migrations
|
14
14
|
initializer 'foreman_statistics.load_app_instance_data' do |app|
|
@@ -73,6 +73,18 @@ module ForemanStatistics
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
+
initializer 'foreman_statistics.apipie' do
|
77
|
+
p = Foreman::Plugin.find(:foreman_statistics)
|
78
|
+
p.apipie_documented_controllers(["#{ForemanStatistics::Engine.root}/app/controllers/foreman_statistics/api/v2/*.rb"])
|
79
|
+
Apipie.configuration.checksum_path += ['/foreman_statistics/api/']
|
80
|
+
end
|
81
|
+
|
82
|
+
initializer 'foreman_statistics.trend_counter_job' do
|
83
|
+
::Foreman::Application.dynflow.config.on_init do |world|
|
84
|
+
TrendCounterJob.spawn_if_missing(world)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
76
88
|
# Include concerns in this config.to_prepare block
|
77
89
|
config.to_prepare do
|
78
90
|
::ComputeResource.include ForemanStatistics::ComputeResourceDecorations
|
@@ -45,8 +45,9 @@ end
|
|
45
45
|
namespace :test do
|
46
46
|
desc 'Test ForemanStatistics'
|
47
47
|
Rake::TestTask.new(:foreman_statistics) do |t|
|
48
|
-
test_dir = File.
|
49
|
-
t.libs <<
|
48
|
+
test_dir = File.expand_path('../../test', __dir__)
|
49
|
+
t.libs << 'test'
|
50
|
+
t.libs << test_dir
|
50
51
|
t.pattern = "#{test_dir}/**/*_test.rb"
|
51
52
|
t.verbose = true
|
52
53
|
t.warning = false
|
Binary file
|
@@ -0,0 +1,258 @@
|
|
1
|
+
# foreman_statistics
|
2
|
+
#
|
3
|
+
# This file is distributed under the same license as foreman_statistics.
|
4
|
+
#
|
5
|
+
msgid ""
|
6
|
+
msgstr ""
|
7
|
+
"Project-Id-Version: version 0.0.1\n"
|
8
|
+
"Report-Msgid-Bugs-To: \n"
|
9
|
+
"PO-Revision-Date: 2014-08-20 08:54+0100\n"
|
10
|
+
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
11
|
+
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
12
|
+
"Language: \n"
|
13
|
+
"MIME-Version: 1.0\n"
|
14
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
15
|
+
"Content-Transfer-Encoding: 8bit\n"
|
16
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17
|
+
|
18
|
+
#: ../app/controllers/foreman_statistics/api/v2/statistics_controller.rb:12
|
19
|
+
msgid "Get statistics"
|
20
|
+
msgstr ""
|
21
|
+
|
22
|
+
#: ../app/controllers/foreman_statistics/api/v2/trends_controller.rb:20
|
23
|
+
msgid "List of trends counters"
|
24
|
+
msgstr ""
|
25
|
+
|
26
|
+
#: ../app/controllers/foreman_statistics/api/v2/trends_controller.rb:25
|
27
|
+
msgid "Show a trend"
|
28
|
+
msgstr ""
|
29
|
+
|
30
|
+
#: ../app/controllers/foreman_statistics/api/v2/trends_controller.rb:29
|
31
|
+
msgid "Create a trend counter"
|
32
|
+
msgstr ""
|
33
|
+
|
34
|
+
#: ../app/controllers/foreman_statistics/api/v2/trends_controller.rb:42
|
35
|
+
msgid "Delete a trend counter"
|
36
|
+
msgstr ""
|
37
|
+
|
38
|
+
#: ../app/helpers/foreman_statistics/trends_helper.rb:6
|
39
|
+
msgid "Environment"
|
40
|
+
msgstr ""
|
41
|
+
|
42
|
+
#: ../app/helpers/foreman_statistics/trends_helper.rb:6
|
43
|
+
msgid "Operating system"
|
44
|
+
msgstr ""
|
45
|
+
|
46
|
+
#: ../app/helpers/foreman_statistics/trends_helper.rb:7
|
47
|
+
msgid "Model"
|
48
|
+
msgstr ""
|
49
|
+
|
50
|
+
#: ../app/helpers/foreman_statistics/trends_helper.rb:7
|
51
|
+
msgid "Facts"
|
52
|
+
msgstr ""
|
53
|
+
|
54
|
+
#: ../app/helpers/foreman_statistics/trends_helper.rb:7
|
55
|
+
msgid "Host group"
|
56
|
+
msgstr ""
|
57
|
+
|
58
|
+
#: ../app/helpers/foreman_statistics/trends_helper.rb:7
|
59
|
+
msgid "Compute resource"
|
60
|
+
msgstr ""
|
61
|
+
|
62
|
+
#: ../app/helpers/foreman_statistics/trends_helper.rb:14
|
63
|
+
msgid "Trend of the last %s days."
|
64
|
+
msgstr ""
|
65
|
+
|
66
|
+
#: ../app/jobs/foreman_statistics/trend_counter_job.rb:20
|
67
|
+
msgid "Trend Counter Job"
|
68
|
+
msgstr ""
|
69
|
+
|
70
|
+
#: ../app/models/concerns/foreman_statistics/general_setting_decorations.rb:12
|
71
|
+
msgid "Max days for Trends graphs"
|
72
|
+
msgstr ""
|
73
|
+
|
74
|
+
#: ../app/models/concerns/foreman_statistics/general_setting_decorations.rb:12
|
75
|
+
msgid "Max trends"
|
76
|
+
msgstr ""
|
77
|
+
|
78
|
+
#: ../app/services/foreman_statistics/statistics.rb:6
|
79
|
+
msgid "Architecture Distribution"
|
80
|
+
msgstr ""
|
81
|
+
|
82
|
+
#: ../app/services/foreman_statistics/statistics.rb:7
|
83
|
+
msgid "Environment Distribution"
|
84
|
+
msgstr ""
|
85
|
+
|
86
|
+
#: ../app/services/foreman_statistics/statistics.rb:8
|
87
|
+
msgid "Host Group Distribution"
|
88
|
+
msgstr ""
|
89
|
+
|
90
|
+
#: ../app/services/foreman_statistics/statistics.rb:9
|
91
|
+
msgid "Compute Resource Distribution"
|
92
|
+
msgstr ""
|
93
|
+
|
94
|
+
#: ../app/services/foreman_statistics/statistics.rb:10
|
95
|
+
msgid "Number of CPUs"
|
96
|
+
msgstr ""
|
97
|
+
|
98
|
+
#: ../app/services/foreman_statistics/statistics.rb:11
|
99
|
+
msgid "Hardware"
|
100
|
+
msgstr ""
|
101
|
+
|
102
|
+
#: ../app/services/foreman_statistics/statistics.rb:12
|
103
|
+
msgid "Average Memory Usage"
|
104
|
+
msgstr ""
|
105
|
+
|
106
|
+
#: ../app/services/foreman_statistics/statistics.rb:13
|
107
|
+
msgid "Average Swap Usage"
|
108
|
+
msgstr ""
|
109
|
+
|
110
|
+
#: ../app/services/foreman_statistics/statistics.rb:14
|
111
|
+
msgid "Class Distribution"
|
112
|
+
msgstr ""
|
113
|
+
|
114
|
+
#: ../app/services/foreman_statistics/statistics.rb:15
|
115
|
+
msgid "Location Distribution"
|
116
|
+
msgstr ""
|
117
|
+
|
118
|
+
#: ../app/services/foreman_statistics/statistics.rb:16
|
119
|
+
msgid "Organization Distribution"
|
120
|
+
msgstr ""
|
121
|
+
|
122
|
+
#: ../app/services/foreman_statistics/statistics/count_numerical_fact_pair.rb:22
|
123
|
+
msgid "free memory"
|
124
|
+
msgstr ""
|
125
|
+
|
126
|
+
#: ../app/services/foreman_statistics/statistics/count_numerical_fact_pair.rb:26
|
127
|
+
msgid "used memory"
|
128
|
+
msgstr ""
|
129
|
+
|
130
|
+
#: ../app/views/foreman_statistics/trends/_empty_data.html.erb:1 ../app/views/foreman_statistics/trends/show.html.erb:2
|
131
|
+
msgid "Trends for %s"
|
132
|
+
msgstr ""
|
133
|
+
|
134
|
+
#: ../app/views/foreman_statistics/trends/_empty_data.html.erb:4
|
135
|
+
msgid "No data for this trend."
|
136
|
+
msgstr ""
|
137
|
+
|
138
|
+
#: ../app/views/foreman_statistics/trends/_form.html.erb:4
|
139
|
+
msgid "Please Select"
|
140
|
+
msgstr ""
|
141
|
+
|
142
|
+
#: ../app/views/foreman_statistics/trends/_hosts.html.erb:7
|
143
|
+
msgid "Show Host"
|
144
|
+
msgstr ""
|
145
|
+
|
146
|
+
#: ../app/views/foreman_statistics/trends/edit.html.erb:1
|
147
|
+
msgid "Edit Trend %s"
|
148
|
+
msgstr ""
|
149
|
+
|
150
|
+
#: ../app/views/foreman_statistics/trends/edit.html.erb:8
|
151
|
+
msgid "Fact Name"
|
152
|
+
msgstr ""
|
153
|
+
|
154
|
+
#: ../app/views/foreman_statistics/trends/edit.html.erb:9 ../app/views/foreman_statistics/trends/edit.html.erb:30
|
155
|
+
msgid "Display Name"
|
156
|
+
msgstr ""
|
157
|
+
|
158
|
+
#: ../app/views/foreman_statistics/trends/edit.html.erb:43
|
159
|
+
msgid "Cancel"
|
160
|
+
msgstr ""
|
161
|
+
|
162
|
+
#: ../app/views/foreman_statistics/trends/edit.html.erb:44
|
163
|
+
msgid "Submit"
|
164
|
+
msgstr ""
|
165
|
+
|
166
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:2 ../app/views/foreman_statistics/trends/welcome.html.erb:1 ../app/views/foreman_statistics/trends/welcome.html.erb:6 ../lib/foreman_statistics/engine.rb:63
|
167
|
+
msgid "Trends"
|
168
|
+
msgstr ""
|
169
|
+
|
170
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:3 ../app/views/foreman_statistics/trends/welcome.html.erb:10
|
171
|
+
msgid "Add Trend Counter"
|
172
|
+
msgstr ""
|
173
|
+
|
174
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:9
|
175
|
+
msgid "Name"
|
176
|
+
msgstr ""
|
177
|
+
|
178
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:10
|
179
|
+
msgid "Action"
|
180
|
+
msgstr ""
|
181
|
+
|
182
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:16
|
183
|
+
msgid "Show Trends"
|
184
|
+
msgstr ""
|
185
|
+
|
186
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:19
|
187
|
+
msgid "Edit"
|
188
|
+
msgstr ""
|
189
|
+
|
190
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:20
|
191
|
+
msgid "Delete all the trend history for %s?"
|
192
|
+
msgstr ""
|
193
|
+
|
194
|
+
#: ../app/views/foreman_statistics/trends/index.html.erb:28
|
195
|
+
msgid "Last update:"
|
196
|
+
msgstr ""
|
197
|
+
|
198
|
+
#: ../app/views/foreman_statistics/trends/new.html.erb:1
|
199
|
+
msgid "Create Trend"
|
200
|
+
msgstr ""
|
201
|
+
|
202
|
+
#: ../app/views/foreman_statistics/trends/show.html.erb:7
|
203
|
+
msgid "last %s day"
|
204
|
+
msgid_plural "last %s days"
|
205
|
+
msgstr[0] ""
|
206
|
+
msgstr[1] ""
|
207
|
+
|
208
|
+
#: ../app/views/foreman_statistics/trends/show.html.erb:8
|
209
|
+
msgid "Number of Hosts"
|
210
|
+
msgstr ""
|
211
|
+
|
212
|
+
#: ../app/views/foreman_statistics/trends/show.html.erb:16
|
213
|
+
msgid "Hosts"
|
214
|
+
msgstr ""
|
215
|
+
|
216
|
+
#: ../app/views/foreman_statistics/trends/welcome.html.erb:7
|
217
|
+
msgid "Trends in Foreman allow you to track changes in your infrastructure over time. It allows you to track both Foreman related information and to any fact. The Trend pages give a graph of how the number of hosts with that value have changed over time, and list the current hosts."
|
218
|
+
msgstr ""
|
219
|
+
|
220
|
+
#: ../app/views/foreman_statistics/trends/welcome.html.erb:8
|
221
|
+
msgid "Learn more about this in the documentation."
|
222
|
+
msgstr ""
|
223
|
+
|
224
|
+
#: ../lib/foreman_statistics/engine.rb:69 ../webpack/src/Router/StatisticsPage/StatisticsPage.js:8
|
225
|
+
msgid "Statistics"
|
226
|
+
msgstr ""
|
227
|
+
|
228
|
+
#: ../webpack/src/Components/StatisticsChartsList/index.js:14
|
229
|
+
msgid "No data available"
|
230
|
+
msgstr ""
|
231
|
+
|
232
|
+
#: ../webpack/src/Components/StatisticsChartsList/index.js:15
|
233
|
+
msgid "Expand the chart"
|
234
|
+
msgstr ""
|
235
|
+
|
236
|
+
#: ../webpack/src/Router/StatisticsPage/Statistics/Statistics.js:13
|
237
|
+
msgid "No Charts To Load"
|
238
|
+
msgstr ""
|
239
|
+
|
240
|
+
#: action_names.rb:2
|
241
|
+
msgid "Action with sub plans"
|
242
|
+
msgstr ""
|
243
|
+
|
244
|
+
#: action_names.rb:3
|
245
|
+
msgid "Import facts"
|
246
|
+
msgstr ""
|
247
|
+
|
248
|
+
#: action_names.rb:4
|
249
|
+
msgid "Import Puppet classes"
|
250
|
+
msgstr ""
|
251
|
+
|
252
|
+
#: action_names.rb:5
|
253
|
+
msgid "Remote action:"
|
254
|
+
msgstr ""
|
255
|
+
|
256
|
+
#: gemspec.rb:2
|
257
|
+
msgid "Statistics and Trends for Foreman gives users overview of their infrastructure."
|
258
|
+
msgstr ""
|