Skip to content

Commit 6cdb613

Browse files
rgarciaclaude
andcommitted
feat(examples): add browser-telemetry example
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 320b693 commit 6cdb613

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

examples/browser_telemetry.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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()

0 commit comments

Comments
 (0)