Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 33 additions & 95 deletions src/sentry/relay/config/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,23 @@ def _should_extract_abnormal_mechanism(project: Project) -> bool:
)


def _browser_name_one_of(*args):
"""Returns a condition that matches if an event
or span's browser name is one of the options in `args`.

For events and V1 spans, this checks the `event.contexts.browser.name` field.
For V2 spans, it checks the `span.attributes.browser.name.value` field.
"""
return {
"op": "or",
"inner": [
{"op": "eq", "name": field, "value": browser}
for field in ["event.contexts.browser.name", "span.attributes.browser.name.value"]
for browser in args
],
}


def _get_desktop_browser_performance_profiles(
organization: Organization,
) -> list[dict[str, Any]]:
Expand Down Expand Up @@ -348,11 +365,7 @@ def _get_desktop_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Chrome",
},
"condition": _browser_name_one_of("Chrome"),
},
{
"name": "Firefox",
Expand Down Expand Up @@ -386,11 +399,7 @@ def _get_desktop_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Firefox",
},
"condition": _browser_name_one_of("Firefox"),
},
{
"name": "Safari",
Expand Down Expand Up @@ -424,11 +433,7 @@ def _get_desktop_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Safari",
},
"condition": _browser_name_one_of("Safari"),
},
{
"name": "Edge",
Expand Down Expand Up @@ -462,11 +467,7 @@ def _get_desktop_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Edge",
},
"condition": _browser_name_one_of("Edge"),
},
{
"name": "Opera",
Expand Down Expand Up @@ -500,11 +501,7 @@ def _get_desktop_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Opera",
},
"condition": _browser_name_one_of("Opera"),
},
{
"name": "Chrome INP",
Expand All @@ -517,21 +514,7 @@ def _get_desktop_browser_performance_profiles(
"optional": False,
},
],
"condition": {
"op": "or",
"inner": [
{
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Chrome",
},
{
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Google Chrome",
},
],
},
"condition": _browser_name_one_of("Chrome", "Google Chrome"),
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This case is the only reason the function takes multiple arguments to begin with.

},
{
"name": "Edge INP",
Expand All @@ -544,11 +527,7 @@ def _get_desktop_browser_performance_profiles(
"optional": False,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Edge",
},
"condition": _browser_name_one_of("Edge"),
},
{
"name": "Opera INP",
Expand All @@ -561,11 +540,7 @@ def _get_desktop_browser_performance_profiles(
"optional": False,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Opera",
},
"condition": _browser_name_one_of("Opera"),
},
]

Expand Down Expand Up @@ -606,11 +581,7 @@ def _get_mobile_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Chrome Mobile",
},
"condition": _browser_name_one_of("Chrome Mobile"),
},
{
"name": "Firefox Mobile",
Expand Down Expand Up @@ -644,11 +615,7 @@ def _get_mobile_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Firefox Mobile",
},
"condition": _browser_name_one_of("Firefox Mobile"),
},
{
"name": "Safari Mobile",
Expand Down Expand Up @@ -682,11 +649,7 @@ def _get_mobile_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Mobile Safari",
},
"condition": _browser_name_one_of("Mobile Safari"),
},
{
"name": "Edge Mobile",
Expand Down Expand Up @@ -720,11 +683,7 @@ def _get_mobile_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Edge Mobile",
},
"condition": _browser_name_one_of("Edge Mobile"),
},
{
"name": "Opera Mobile",
Expand Down Expand Up @@ -758,11 +717,7 @@ def _get_mobile_browser_performance_profiles(
"optional": True,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Opera Mobile",
},
"condition": _browser_name_one_of("Opera Mobile"),
},
{
"name": "Chrome Mobile INP",
Expand All @@ -775,16 +730,7 @@ def _get_mobile_browser_performance_profiles(
"optional": False,
},
],
"condition": {
"op": "or",
"inner": [
{
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Chrome Mobile",
},
],
},
"condition": _browser_name_one_of("Chrome Mobile"),
},
{
"name": "Edge Mobile INP",
Expand All @@ -797,11 +743,7 @@ def _get_mobile_browser_performance_profiles(
"optional": False,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Edge Mobile",
},
"condition": _browser_name_one_of("Edge Mobile"),
},
{
"name": "Opera Mobile INP",
Expand All @@ -814,11 +756,7 @@ def _get_mobile_browser_performance_profiles(
"optional": False,
},
],
"condition": {
"op": "eq",
"name": "event.contexts.browser.name",
"value": "Opera Mobile",
},
"condition": _browser_name_one_of("Opera Mobile"),
},
]

Expand Down
Loading
Loading