|
22 | 22 | from sentry_sdk.consts import SPANDATA
|
23 | 23 | from sentry_sdk.integrations.django import DjangoIntegration
|
24 | 24 | from sentry_sdk.integrations.django.signals_handlers import _get_receiver_name
|
| 25 | +from sentry_sdk.integrations.django.caching import _get_span_description |
25 | 26 | from sentry_sdk.integrations.executing import ExecutingIntegration
|
26 | 27 | from tests.integrations.django.myapp.wsgi import application
|
27 | 28 | from tests.integrations.django.utils import pytest_mark_django_db_decorator
|
@@ -1035,20 +1036,20 @@ def test_cache_spans_middleware(
|
1035 | 1036 |
|
1036 | 1037 | (first_event, second_event) = events
|
1037 | 1038 | assert len(first_event["spans"]) == 1
|
1038 |
| - assert first_event["spans"][0]["op"] == "cache" |
| 1039 | + assert first_event["spans"][0]["op"] == "cache.get_item" |
1039 | 1040 | assert first_event["spans"][0]["description"].startswith(
|
1040 | 1041 | "get views.decorators.cache.cache_header."
|
1041 | 1042 | )
|
1042 | 1043 | assert first_event["spans"][0]["data"] == {"cache.hit": False}
|
1043 | 1044 |
|
1044 | 1045 | assert len(second_event["spans"]) == 2
|
1045 |
| - assert second_event["spans"][0]["op"] == "cache" |
| 1046 | + assert second_event["spans"][0]["op"] == "cache.get_item" |
1046 | 1047 | assert second_event["spans"][0]["description"].startswith(
|
1047 | 1048 | "get views.decorators.cache.cache_header."
|
1048 | 1049 | )
|
1049 | 1050 | assert second_event["spans"][0]["data"] == {"cache.hit": False}
|
1050 | 1051 |
|
1051 |
| - assert second_event["spans"][1]["op"] == "cache" |
| 1052 | + assert second_event["spans"][1]["op"] == "cache.get_item" |
1052 | 1053 | assert second_event["spans"][1]["description"].startswith(
|
1053 | 1054 | "get views.decorators.cache.cache_page."
|
1054 | 1055 | )
|
@@ -1077,20 +1078,20 @@ def test_cache_spans_decorator(sentry_init, client, capture_events, use_django_c
|
1077 | 1078 |
|
1078 | 1079 | (first_event, second_event) = events
|
1079 | 1080 | assert len(first_event["spans"]) == 1
|
1080 |
| - assert first_event["spans"][0]["op"] == "cache" |
| 1081 | + assert first_event["spans"][0]["op"] == "cache.get_item" |
1081 | 1082 | assert first_event["spans"][0]["description"].startswith(
|
1082 | 1083 | "get views.decorators.cache.cache_header."
|
1083 | 1084 | )
|
1084 | 1085 | assert first_event["spans"][0]["data"] == {"cache.hit": False}
|
1085 | 1086 |
|
1086 | 1087 | assert len(second_event["spans"]) == 2
|
1087 |
| - assert second_event["spans"][0]["op"] == "cache" |
| 1088 | + assert second_event["spans"][0]["op"] == "cache.get_item" |
1088 | 1089 | assert second_event["spans"][0]["description"].startswith(
|
1089 | 1090 | "get views.decorators.cache.cache_header."
|
1090 | 1091 | )
|
1091 | 1092 | assert second_event["spans"][0]["data"] == {"cache.hit": False}
|
1092 | 1093 |
|
1093 |
| - assert second_event["spans"][1]["op"] == "cache" |
| 1094 | + assert second_event["spans"][1]["op"] == "cache.get_item" |
1094 | 1095 | assert second_event["spans"][1]["description"].startswith(
|
1095 | 1096 | "get views.decorators.cache.cache_page."
|
1096 | 1097 | )
|
@@ -1121,16 +1122,49 @@ def test_cache_spans_templatetag(
|
1121 | 1122 |
|
1122 | 1123 | (first_event, second_event) = events
|
1123 | 1124 | assert len(first_event["spans"]) == 1
|
1124 |
| - assert first_event["spans"][0]["op"] == "cache" |
| 1125 | + assert first_event["spans"][0]["op"] == "cache.get_item" |
1125 | 1126 | assert first_event["spans"][0]["description"].startswith(
|
1126 | 1127 | "get template.cache.some_identifier."
|
1127 | 1128 | )
|
1128 | 1129 | assert first_event["spans"][0]["data"] == {"cache.hit": False}
|
1129 | 1130 |
|
1130 | 1131 | assert len(second_event["spans"]) == 1
|
1131 |
| - assert second_event["spans"][0]["op"] == "cache" |
| 1132 | + assert second_event["spans"][0]["op"] == "cache.get_item" |
1132 | 1133 | assert second_event["spans"][0]["description"].startswith(
|
1133 | 1134 | "get template.cache.some_identifier."
|
1134 | 1135 | )
|
1135 | 1136 | assert second_event["spans"][0]["data"]["cache.hit"]
|
1136 | 1137 | assert "cache.item_size" in second_event["spans"][0]["data"]
|
| 1138 | + |
| 1139 | + |
| 1140 | +@pytest.mark.parametrize( |
| 1141 | + "method_name, args, kwargs, expected_description", |
| 1142 | + [ |
| 1143 | + ("get", None, None, "get "), |
| 1144 | + ("get", [], {}, "get "), |
| 1145 | + ("get", ["bla", "blub", "foo"], {}, "get bla"), |
| 1146 | + ( |
| 1147 | + "get_many", |
| 1148 | + [["bla 1", "bla 2", "bla 3"], "blub", "foo"], |
| 1149 | + {}, |
| 1150 | + "get_many ['bla 1', 'bla 2', 'bla 3']", |
| 1151 | + ), |
| 1152 | + ( |
| 1153 | + "get_many", |
| 1154 | + [["bla 1", "bla 2", "bla 3"], "blub", "foo"], |
| 1155 | + {"key": "bar"}, |
| 1156 | + "get_many ['bla 1', 'bla 2', 'bla 3']", |
| 1157 | + ), |
| 1158 | + ("get", [], {"key": "bar"}, "get bar"), |
| 1159 | + ( |
| 1160 | + "get", |
| 1161 | + "something", |
| 1162 | + {}, |
| 1163 | + "get s", |
| 1164 | + ), # this should never happen, just making sure that we are not raising an exception in that case. |
| 1165 | + ], |
| 1166 | +) |
| 1167 | +def test_cache_spans_get_span_description( |
| 1168 | + method_name, args, kwargs, expected_description |
| 1169 | +): |
| 1170 | + assert _get_span_description(method_name, args, kwargs) == expected_description |
0 commit comments