Skip to content

Commit 3465cdd

Browse files
authored
Disable Sending of ML Events by Default (#923)
* Disable sending of ML events by default. * Override settings for ML event testing. * Update scikit-learn tests with settings overrides. * Update all scikitlearn tests with enabled settings override. * Revert Update all scikitlearn tests with enabled settings override. * Formatting.
1 parent 86f0df8 commit 3465cdd

File tree

6 files changed

+33
-7
lines changed

6 files changed

+33
-7
lines changed

newrelic/core/config.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -717,7 +717,7 @@ def default_otlp_host(host):
717717
_settings.transaction_events.attributes.include = []
718718

719719
_settings.custom_insights_events.enabled = True
720-
_settings.ml_insights_events.enabled = True
720+
_settings.ml_insights_events.enabled = False
721721

722722
_settings.distributed_tracing.enabled = _environ_as_bool("NEW_RELIC_DISTRIBUTED_TRACING_ENABLED", default=True)
723723
_settings.distributed_tracing.exclude_newrelic_header = False
@@ -894,7 +894,7 @@ def default_otlp_host(host):
894894
_settings.application_logging.local_decorating.enabled = _environ_as_bool(
895895
"NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED", default=False
896896
)
897-
_settings.machine_learning.enabled = _environ_as_bool("NEW_RELIC_MACHINE_LEARNING_ENABLED", default=True)
897+
_settings.machine_learning.enabled = _environ_as_bool("NEW_RELIC_MACHINE_LEARNING_ENABLED", default=False)
898898
_settings.machine_learning.inference_events_value.enabled = _environ_as_bool(
899899
"NEW_RELIC_MACHINE_LEARNING_INFERENCE_EVENT_VALUE_ENABLED", default=True
900900
)

tests/agent_features/conftest.py

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"debug.record_transaction_failure": True,
3131
"debug.log_autorum_middleware": True,
3232
"agent_limits.errors_per_harvest": 100,
33+
"ml_insights_events.enabled": True
3334
}
3435

3536
collector_agent_registration = collector_agent_registration_fixture(

tests/agent_features/test_ml_events.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,11 @@ def test_record_ml_event_outside_transaction_params_not_a_dict():
151151

152152
# Tests for ML Events configuration settings
153153

154-
155154
@override_application_settings({"ml_insights_events.enabled": False})
156155
@reset_core_stats_engine()
157156
@validate_ml_event_count(count=0)
158157
@background_task()
159-
def test_ml_event_settings_check_ml_insights_enabled():
158+
def test_ml_event_settings_check_ml_insights_disabled():
160159
record_ml_event("FooEvent", {"foo": "bar"})
161160

162161

tests/mlmodel_sklearn/conftest.py

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
"transaction_tracer.stack_trace_threshold": 0.0,
2424
"debug.log_data_collector_payloads": True,
2525
"debug.record_transaction_failure": True,
26+
"machine_learning.enabled": True,
27+
"machine_learning.inference_events_value.enabled": True,
28+
"ml_insights_events.enabled": True
2629
}
2730
collector_agent_registration = collector_agent_registration_fixture(
2831
app_name="Python Agent Test (mlmodel_sklearn)",

tests/mlmodel_sklearn/test_ensemble_models.py

+1
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ def _test():
197197
_test()
198198

199199

200+
200201
@pytest.mark.skipif(SKLEARN_VERSION < (1, 1, 0), reason="Requires sklearn >= 1.1")
201202
@pytest.mark.parametrize(
202203
"ensemble_model_name",

tests/mlmodel_sklearn/test_inference_events.py

+25-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
override_application_settings,
2121
reset_core_stats_engine,
2222
)
23+
from testing_support.fixtures import override_application_settings
2324
from testing_support.validators.validate_ml_event_count import validate_ml_event_count
2425
from testing_support.validators.validate_ml_events import validate_ml_events
2526

@@ -284,8 +285,15 @@ def _test():
284285
]
285286

286287

288+
disabled_inference_value_settings = {
289+
"machine_learning.enabled": True,
290+
"machine_learning.inference_events_value.enabled": False,
291+
"ml_insights_events.enabled": True
292+
}
293+
294+
295+
@override_application_settings(disabled_inference_value_settings)
287296
@reset_core_stats_engine()
288-
@override_application_settings({"machine_learning.inference_events_value.enabled": False})
289297
def test_does_not_include_value_when_inference_event_value_enabled_is_false():
290298
@validate_ml_events(numpy_str_recorded_custom_events_no_value)
291299
@validate_ml_event_count(count=1)
@@ -306,8 +314,15 @@ def _test():
306314
_test()
307315

308316

317+
disabled_ml_insights_settings = {
318+
"machine_learning.enabled": True,
319+
"machine_learning.inference_events_value.enabled": True,
320+
"ml_insights_events.enabled": False
321+
}
322+
323+
324+
@override_application_settings(disabled_ml_insights_settings)
309325
@reset_core_stats_engine()
310-
@override_application_settings({"ml_insights_events.enabled": False})
311326
def test_does_not_include_events_when_ml_insights_events_enabled_is_false():
312327
"""
313328
Verifies that all ml events can be disabled by setting
@@ -332,8 +347,15 @@ def _test():
332347
_test()
333348

334349

350+
disabled_ml_settings = {
351+
"machine_learning.enabled": False,
352+
"machine_learning.inference_events_value.enabled": True,
353+
"ml_insights_events.enabled": True
354+
}
355+
356+
357+
@override_application_settings(disabled_ml_settings)
335358
@reset_core_stats_engine()
336-
@override_application_settings({"machine_learning.enabled": False})
337359
def test_does_not_include_events_when_machine_learning_enabled_is_false():
338360
@validate_ml_event_count(count=0)
339361
@background_task()

0 commit comments

Comments
 (0)