Skip to content

Commit

Permalink
Fix Problem with livemetrics when a trigger is created (Bugzilla 1505…
Browse files Browse the repository at this point in the history
…343)
  • Loading branch information
Alberto Gutierrez authored and aljesusg committed Nov 2, 2017
1 parent f6be42f commit f58fb2c
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -137,17 +137,25 @@ def convert_to_group_conditions(miq_alert)
case eval_method
when "mw_accumulated_gc_duration" then generate_mw_gc_condition(eval_method, options)
when "mw_heap_used", "mw_non_heap_used" then generate_mw_jvm_conditions(eval_method, options)
when *MW_DATASOURCE then generate_mw_generic_threshold_conditions(options, mw_datasource_metrics_by_column[eval_method])
when *MW_MESSAGING then generate_mw_generic_threshold_conditions(options, mw_messaging_topic_metrics_by_column[eval_method])
when *MW_WEB_SESSIONS,
*MW_DATASOURCE,
*MW_MESSAGING,
*MW_TRANSACTIONS then generate_mw_generic_threshold_conditions(eval_method, options)
*MW_TRANSACTIONS then generate_mw_generic_threshold_conditions(options, mw_server_metrics_by_column[eval_method])
end
end

def mw_server_metrics_by_column
MiddlewareServer.live_metrics_config['middleware_server']['supported_metrics_by_column']
end

def mw_datasource_metrics_by_column
MiddlewareDatasource.live_metrics_config['middleware_datasource']['supported_metrics_by_column']
end

def mw_messaging_topic_metrics_by_column
MiddlewareMessaging.live_metrics_config['middleware_messaging_jms_topic']['supported_metrics_by_column']
end

def generate_mw_gc_condition(eval_method, options)
c = ::Hawkular::Alerts::Trigger::Condition.new({})
c.trigger_mode = :FIRING
Expand Down Expand Up @@ -190,11 +198,11 @@ def generate_mw_threshold_condition(data_id, operator, threshold)
c
end

def generate_mw_generic_threshold_conditions(eval_method, options)
def generate_mw_generic_threshold_conditions(options, data_id)
::Hawkular::Alerts::Trigger::GroupConditionsInfo.new(
[
generate_mw_threshold_condition(
mw_server_metrics_by_column[eval_method],
data_id,
convert_operator(options[:mw_operator]),
options[:value_mw_threshold].to_i
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,14 @@
miq_alert_condition[:conditions][:options][:value_mw_garbage_collector] = 100
MW_WEB_SESSIONS.each do |condition|
miq_alert_condition[:conditions][:eval_method] = condition
definition = MiddlewareServer.live_metrics_config['middleware_server']['supported_metrics_by_column'][condition]
expect(definition).not_to be_nil
expect(subject).to receive(:generate_mw_generic_threshold_conditions).with(
condition,
:mw_operator => "<",
:value_mw_garbage_collector => 100
{
:mw_operator => "<",
:value_mw_garbage_collector => 100
},
definition
)
subject.send(:convert_to_group_conditions, miq_alert_condition)
end
Expand All @@ -113,10 +117,14 @@
miq_alert_condition[:conditions][:options][:value_mw_garbage_collector] = 100
MW_DATASOURCE.each do |condition|
miq_alert_condition[:conditions][:eval_method] = condition
definition = MiddlewareDatasource.live_metrics_config['middleware_datasource']['supported_metrics_by_column'][condition]
expect(definition).not_to be_nil
expect(subject).to receive(:generate_mw_generic_threshold_conditions).with(
condition,
:mw_operator => "<",
:value_mw_garbage_collector => 100
{
:mw_operator => "<",
:value_mw_garbage_collector => 100
},
definition
)
subject.send(:convert_to_group_conditions, miq_alert_condition)
end
Expand All @@ -133,15 +141,18 @@
mw_ms_topic_non_durable_subscription_count
mw_ms_topic_subscription_count
).freeze

miq_alert_condition[:conditions][:options][:mw_operator] = "<"
miq_alert_condition[:conditions][:options][:value_mw_garbage_collector] = 100
MW_MESSAGING.each do |condition|
miq_alert_condition[:conditions][:eval_method] = condition
definition = MiddlewareMessaging.live_metrics_config['middleware_messaging_jms_topic']['supported_metrics_by_column'][condition]
expect(definition).not_to be_nil
expect(subject).to receive(:generate_mw_generic_threshold_conditions).with(
condition,
:mw_operator => "<",
:value_mw_garbage_collector => 100
{
:mw_operator => "<",
:value_mw_garbage_collector => 100
},
definition
)
subject.send(:convert_to_group_conditions, miq_alert_condition)
end
Expand All @@ -156,15 +167,18 @@
mw_tx_resource_rollbacks
mw_tx_aborted
).freeze

miq_alert_condition[:conditions][:options][:mw_operator] = "<"
miq_alert_condition[:conditions][:options][:value_mw_garbage_collector] = 100
MW_TRANSACTIONS.each do |condition|
miq_alert_condition[:conditions][:eval_method] = condition
definition = MiddlewareServer.live_metrics_config['middleware_server']['supported_metrics_by_column'][condition]
expect(definition).not_to be_nil
expect(subject).to receive(:generate_mw_generic_threshold_conditions).with(
condition,
:mw_operator => "<",
:value_mw_garbage_collector => 100
{
:mw_operator => "<",
:value_mw_garbage_collector => 100
},
definition
)
subject.send(:convert_to_group_conditions, miq_alert_condition)
end
Expand Down

0 comments on commit f58fb2c

Please sign in to comment.