Skip to content

Commit 9bd5c20

Browse files
committed
feat(telemetry): split frontend setup from build duration in export event
Time `build.setup_frontend` separately from `build.build` and skip additional keys already present in defaults so callers can't overwrite them.
1 parent e0b43a3 commit 9bd5c20

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

reflex/utils/export.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,9 @@ def _time_phase(name: str) -> Iterator[None]:
8080
if frontend:
8181
with _time_phase("compile_duration"):
8282
prerequisites.get_compiled_app(prerender_routes=prerender_routes)
83-
with _time_phase("build_duration"):
83+
with _time_phase("setup_duration"):
8484
build.setup_frontend(Path.cwd())
85+
with _time_phase("build_duration"):
8586
build.build()
8687
if zipping:
8788
with _time_phase("zip_duration"):
@@ -103,6 +104,7 @@ def _time_phase(name: str) -> Iterator[None]:
103104
detail=detail,
104105
duration=time.monotonic() - start,
105106
compile_duration=phase_durations.get("compile_duration"),
107+
setup_duration=phase_durations.get("setup_duration"),
106108
build_duration=phase_durations.get("build_duration"),
107109
zip_duration=phase_durations.get("zip_duration"),
108110
)

reflex/utils/telemetry.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ def _prepare_event(event: str, **kwargs) -> _Event | None:
293293
"status",
294294
"duration",
295295
"compile_duration",
296+
"setup_duration",
296297
"build_duration",
297298
"zip_duration",
298299
]
@@ -301,6 +302,8 @@ def _prepare_event(event: str, **kwargs) -> _Event | None:
301302
properties = event_data["properties"].copy()
302303

303304
for key in additional_keys:
305+
if key in properties:
306+
continue
304307
if key in kwargs and kwargs[key] is not None:
305308
properties[key] = kwargs[key]
306309

0 commit comments

Comments
 (0)