Module: QaServer

Extended by:
ActiveSupport::Autoload, Deprecation
Defined in:
app/models/qa_server/scenarios.rb,
lib/qa_server.rb,
lib/qa_server/engine.rb,
lib/qa_server/version.rb,
lib/qa_server/configuration.rb,
app/models/qa_server/term_scenario.rb,
app/models/qa_server/search_scenario.rb,
app/loggers/qa_server/scenario_logger.rb,
app/models/qa_server/authority_status.rb,
app/models/qa_server/performance_cache.rb,
app/models/qa_server/authority_scenario.rb,
app/models/qa_server/performance_history.rb,
app/presenters/qa_server/fetch_presenter.rb,
app/services/qa_server/database_migrator.rb,
app/models/qa_server/scenario_run_history.rb,
app/models/qa_server/scenario_run_summary.rb,
app/controllers/qa_server/fetch_controller.rb,
app/controllers/qa_server/usage_controller.rb,
app/models/qa_server/scenario_run_registry.rb,
app/presenters/qa_server/navmenu_presenter.rb,
lib/generators/qa_server/install_generator.rb,
app/validators/qa_server/scenario_validator.rb,
app/controllers/qa_server/homepage_controller.rb,
app/models/qa_server/authority_status_failure.rb,
app/presenters/qa_server/check_status_presenter.rb,
app/services/qa_server/authority_lister_service.rb,
app/services/qa_server/authority_loader_service.rb,
app/services/qa_server/scenarios_loader_service.rb,
app/validators/qa_server/term_scenario_validator.rb,
app/controllers/qa_server/check_status_controller.rb,
app/presenters/qa_server/authority_list_presenter.rb,
app/presenters/qa_server/monitor_status_presenter.rb,
app/services/qa_server/authority_validator_service.rb,
app/validators/qa_server/search_scenario_validator.rb,
app/controllers/qa_server/authority_list_controller.rb,
app/controllers/qa_server/monitor_status_controller.rb,
app/services/qa_server/performance_graphing_service.rb,
app/services/qa_server/performance_calculator_service.rb,
app/services/qa_server/performance_graph_data_service.rb,
app/controllers/qa_server/authority_validation_controller.rb,
app/models/concerns/qa_server/performance_history_data_keys.rb

Overview

This module sets up the hash keys for performance data and allows them to be used across all classes setting and reading from the performance data hash.

Defined Under Namespace

Modules: MonitorStatus, PerformanceHistoryDataKeys Classes: AssetsGenerator, AuthorityListController, AuthorityListPresenter, AuthorityListerService, AuthorityLoaderService, AuthorityScenario, AuthorityStatus, AuthorityStatusFailure, AuthorityValidationController, AuthorityValidatorService, CheckStatusController, CheckStatusPresenter, ConfigGenerator, Configuration, DatabaseMigrator, Engine, FetchController, FetchPresenter, HomepageController, Install, ModelsGenerator, MonitorStatusController, MonitorStatusPresenter, NavmenuPresenter, PerformanceCache, PerformanceCalculatorService, PerformanceGraphDataService, PerformanceGraphingService, PerformanceHistory, ScenarioLogger, ScenarioRunHistory, ScenarioRunRegistry, ScenarioRunSummary, ScenarioValidator, Scenarios, ScenariosLoaderService, SearchScenario, SearchScenarioValidator, TermScenario, TermScenarioValidator, UsageController

Constant Summary collapse

VERSION =
'5.5.0'

Class Method Summary collapse

Class Method Details

.cache_expiryFloat

Returns number of seconds until cache should expire.

Returns:

  • (Float)

    number of seconds until cache should expire



49
50
51
# File 'lib/qa_server.rb', line 49

def self.cache_expiry
  monitoring_expires_at - current_time
end

.config {|Qa::Configuration| ... } ⇒ Qa::Configuration

Exposes the Questioning Authority configuration

Yields:

  • (Qa::Configuration)

    if a block is passed

Returns:

  • (Qa::Configuration)

See Also:

  • for configuration options


22
23
24
25
26
27
28
# File 'lib/qa_server.rb', line 22

def self.config(&block)
  @config ||= QaServer::Configuration.new

  yield @config if block

  @config
end

.current_timeActiveSupport::TimeWithZone

Returns current DateTime in the configured preferred_time_zone_name.

Returns:

  • (ActiveSupport::TimeWithZone)

    current DateTime in the configured preferred_time_zone_name



31
32
33
# File 'lib/qa_server.rb', line 31

def self.current_time
  Time.now.in_time_zone(QaServer.config.preferred_time_zone_name)
end

.current_time_sFloat

Returns current DateTime in seconds.

Returns:

  • (Float)

    current DateTime in seconds



36
37
38
# File 'lib/qa_server.rb', line 36

def self.current_time_s
  current_time.to_f
end

.log_agent_info(request) ⇒ Object



53
54
55
56
57
58
59
60
61
62
# File 'lib/qa_server.rb', line 53

def self.log_agent_info(request)
  return if !Qa.config.respond_to?(:suppress_ip_data_from_log) || Qa.config.suppress_ip_data_from_log
  user_agent = request.respond_to?(:user_agent) && !request.user_agent.nil? ? ::UserAgent.parse(request.user_agent) : nil
  return Rails.logger.info("{browser: UNKNOWN, browser_version: UNKNOWN, platform: UNKNOWN, os: UNKNOWN}") if user_agent.nil?
  browser = user_agent.browser
  browser_version = user_agent.version
  platform = user_agent.platform
  os = user_agent.os
  Rails.logger.info("{browser: #{browser}, browser_version: #{browser_version}, platform: #{platform}, os: #{os}}")
end

.monitoring_expires_atActiveSupport::TimeWithZone

Returns DateTime at which cache should expire.

Returns:

  • (ActiveSupport::TimeWithZone)

    DateTime at which cache should expire



41
42
43
44
45
46
# File 'lib/qa_server.rb', line 41

def self.monitoring_expires_at
  offset = QaServer.config.hour_offset_to_expire_cache
  offset_time = current_time
  offset_time = offset_time.tomorrow unless (offset_time + 5.minutes).hour < offset
  offset_time.beginning_of_day + offset.hours - 5.minutes
end