Skip to content

Commit 506b896

Browse files
michellewzhangandrewshie-sentry
authored andcommitted
chore(replay): remove event type FCP (#97693)
- closes https://linear.app/getsentry/issue/REPLAY-590/get-rid-of-fcp-logs - remove the FCP event type and its log message from the replay breadcrumb summaries, as it's deprecated
1 parent f6efb54 commit 506b896

File tree

4 files changed

+2
-61
lines changed

4 files changed

+2
-61
lines changed

src/sentry/replays/lib/summarize.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -319,11 +319,6 @@ def as_log_message(event: dict[str, Any]) -> str | None:
319319
duration = event["data"]["payload"]["data"]["size"]
320320
rating = event["data"]["payload"]["data"]["rating"]
321321
return f"Application largest contentful paint: {duration} ms and has a {rating} rating at {timestamp_ms}"
322-
case EventType.FCP:
323-
timestamp_ms = timestamp * 1000
324-
duration = event["data"]["payload"]["data"]["size"]
325-
rating = event["data"]["payload"]["data"]["rating"]
326-
return f"Application first contentful paint: {duration} ms and has a {rating} rating at {timestamp_ms}"
327322
case EventType.HYDRATION_ERROR:
328323
return f"There was a hydration error on the page at {timestamp}"
329324
case EventType.RESOURCE_XHR:

src/sentry/replays/usecases/ingest/event_parser.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class EventType(Enum):
9393
CLICK = 1
9494
CONSOLE = 2
9595
DEAD_CLICK = 3
96-
FCP = 4
96+
# FCP = 4 deprecated
9797
FEEDBACK = 5
9898
HYDRATION_ERROR = 6
9999
LCP = 7
@@ -191,8 +191,6 @@ def which(event: dict[str, Any]) -> EventType:
191191
elif op == "web-vital":
192192
if payload["description"] == "largest-contentful-paint":
193193
return EventType.LCP
194-
elif payload["description"] == "first-contentful-paint":
195-
return EventType.FCP
196194
elif payload["description"] == "cumulative-layout-shift":
197195
return EventType.CLS
198196
else:
@@ -413,13 +411,11 @@ def as_trace_item_context(event_type: EventType, event: dict[str, Any]) -> Trace
413411
"event_hash": uuid.uuid4().bytes,
414412
"timestamp": float(event["data"]["payload"]["startTimestamp"]),
415413
}
416-
case EventType.LCP | EventType.FCP | EventType.CLS:
414+
case EventType.LCP | EventType.CLS:
417415
payload = event["data"]["payload"]
418416

419417
if event_type == EventType.CLS:
420418
category = "web-vital.cls"
421-
elif event_type == EventType.FCP:
422-
category = "web-vital.fcp"
423419
else:
424420
category = "web-vital.lcp"
425421

tests/sentry/replays/unit/lib/test_summarize.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -239,20 +239,6 @@ def test_as_log_message() -> None:
239239
}
240240
assert as_log_message(event) is not None
241241

242-
event = {
243-
"type": 5,
244-
"timestamp": 0.0,
245-
"data": {
246-
"tag": "performanceSpan",
247-
"payload": {
248-
"op": "web-vital",
249-
"description": "first-contentful-paint",
250-
"data": {"size": 0, "rating": "good"},
251-
},
252-
},
253-
}
254-
assert as_log_message(event) is not None
255-
256242
event = {
257243
"type": 5,
258244
"timestamp": 0.0,

tests/sentry/replays/unit/test_event_parser.py

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -691,16 +691,6 @@ def test_which() -> None:
691691
}
692692
assert which(event) == EventType.LCP
693693

694-
event = {
695-
"type": 5,
696-
"timestamp": 0.0,
697-
"data": {
698-
"tag": "performanceSpan",
699-
"payload": {"op": "web-vital", "description": "first-contentful-paint"},
700-
},
701-
}
702-
assert which(event) == EventType.FCP
703-
704694
event = {
705695
"type": 5,
706696
"timestamp": 0.0,
@@ -1196,32 +1186,6 @@ def test_as_trace_item_context_lcp_event() -> None:
11961186
assert "event_hash" in result and len(result["event_hash"]) == 16
11971187

11981188

1199-
def test_as_trace_item_context_fcp_event() -> None:
1200-
event = {
1201-
"type": 5,
1202-
"timestamp": 1753712471.43,
1203-
"data": {
1204-
"tag": "performanceSpan",
1205-
"payload": {
1206-
"op": "web-vital",
1207-
"description": "first-contentful-paint",
1208-
"startTimestamp": 1674298825.0,
1209-
"endTimestamp": 1674298825.0,
1210-
"data": {"rating": "needs-improvement", "size": 512, "value": 2000},
1211-
},
1212-
},
1213-
}
1214-
1215-
result = as_trace_item_context(which(event), event)
1216-
assert result is not None
1217-
assert result["attributes"]["category"] == "web-vital.fcp"
1218-
assert result["attributes"]["duration"] == 0
1219-
assert result["attributes"]["rating"] == "needs-improvement"
1220-
assert result["attributes"]["size"] == 512
1221-
assert result["attributes"]["value"] == 2000
1222-
assert "event_hash" in result and len(result["event_hash"]) == 16
1223-
1224-
12251189
def test_as_trace_item_context_cls_event() -> None:
12261190
event = {
12271191
"type": 5,

0 commit comments

Comments
 (0)