def apply_feature_gates(merged_settings, connect_reply, existing_config)
gated_features = {
'transaction_tracer.enabled' => 'collect_traces',
'slow_sql.enabled' => 'collect_traces',
'error_collector.enabled' => 'collect_errors',
'analytics_events.enabled' => 'collect_analytics_events',
'custom_insights_events.enabled' => 'collect_custom_events',
'error_collector.capture_events' => 'collect_error_events'
}
gated_features.each do |config_key, gate_key|
if connect_reply.has_key?(gate_key)
allowed_by_server = connect_reply[gate_key]
requested_value = ungated_value(config_key, merged_settings, existing_config)
effective_value = (allowed_by_server && requested_value)
merged_settings[config_key] = effective_value
end
end
end