From 1a1da89f55ddf6c06056eb8396190c62e1720e2c Mon Sep 17 00:00:00 2001
From: Feanil Patel <feanil@edx.org>
Date: Thu, 14 Jan 2021 09:56:01 -0500
Subject: [PATCH] Drop setting attributes for the size of each cookie.

Setting a new metric per cookie name resulted in a lot of metrics
getting added to New Relic.  In some cases, this was causing other
more important metrics to not get registered.
---
 openedx/core/lib/request_utils.py            |  7 ++-----
 openedx/core/lib/tests/test_request_utils.py | 11 -----------
 2 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/openedx/core/lib/request_utils.py b/openedx/core/lib/request_utils.py
index 660584b5f2f..2dbc9151ffe 100644
--- a/openedx/core/lib/request_utils.py
+++ b/openedx/core/lib/request_utils.py
@@ -152,11 +152,8 @@ class CookieMonitoringMiddleware(MiddlewareMixin):
             max_group_cookie_name = max_cookie_name
             max_group_cookie_size = max_cookie_size
 
-        for name, size in cookie_names_to_size.items():
-            attribute_name = 'cookies.{}.size'.format(name)
-            set_custom_attribute(attribute_name, size)
-            log.debug(u'%s = %d', attribute_name, size)
-
+        # Only log the groups because adding an arbitrary number of individual cookies pushes too many
+        # metrics into NR and results in other metrics getting dropped potentially.
         for name, size in cookie_groups_to_size.items():
             attribute_name = 'cookies.{}.group.size'.format(name)
             set_custom_attribute(attribute_name, size)
diff --git a/openedx/core/lib/tests/test_request_utils.py b/openedx/core/lib/tests/test_request_utils.py
index d79f8aa174e..e3b63bf9f35 100644
--- a/openedx/core/lib/tests/test_request_utils.py
+++ b/openedx/core/lib/tests/test_request_utils.py
@@ -114,14 +114,6 @@ class RequestUtilTestCase(unittest.TestCase):
         middleware.process_request(mock_request)
 
         mock_set_custom_attribute.assert_has_calls([
-            call('cookies.a.size', 100),
-            call('cookies._b.size', 13),
-            call('cookies._c_.size', 13),
-            call('cookies.a.b.size', 10),
-            call('cookies.a.c.size', 10),
-            call('cookies.b..size', 13),
-            call('cookies.b_a.size', 15),
-            call('cookies.b_c.size', 15),
             call('cookies.a.group.size', 20),
             call('cookies.b.group.size', 43),
             call('cookies.max.name', 'a'),
@@ -149,9 +141,6 @@ class RequestUtilTestCase(unittest.TestCase):
         middleware.process_request(mock_request)
 
         mock_set_custom_attribute.assert_has_calls([
-            call('cookies.a.size', 10),
-            call('cookies.b_a.size', 15),
-            call('cookies.b_c.size', 20),
             call('cookies.b.group.size', 35),
             call('cookies.max.name', 'b_c'),
             call('cookies.max.size', 20),
-- 
GitLab