File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ """Example: stream live browser telemetry events from a session."""
2+
3+ from kernel import Kernel
4+
5+
6+ def main () -> None :
7+ client = Kernel ()
8+
9+ # Enable telemetry capture when creating the browser.
10+ browser = client .browsers .create (telemetry = {"enabled" : True })
11+
12+ try :
13+ # Telemetry is a default direct-to-VM routing subresource, so the stream
14+ # connects straight to the browser VM automatically.
15+ stream = client .browsers .telemetry .stream (browser .session_id )
16+
17+ # Make a few browser activity calls to generate events. The "api" telemetry
18+ # category emits an event per VM API call, so events arrive within ~1s.
19+ for _ in range (3 ):
20+ client .browsers .curl (browser .session_id , url = "https://example.com" , method = "GET" )
21+
22+ # Print a few events, then stop so we don't wait on the 15s keepalive.
23+ for count , message in enumerate (stream , start = 1 ):
24+ print (message .seq , message .event .type )
25+ if count >= 3 :
26+ break
27+ finally :
28+ client .browsers .delete_by_id (browser .session_id )
29+
30+
31+ if __name__ == "__main__" :
32+ main ()
You can’t perform that action at this time.
0 commit comments