Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesiTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
To monitor Selenium Grid, use its UI, /status, or GraphQL to check current health and sessions; use OpenTelemetry traces to follow a request across Grid components and find where it slowed or failed. These are complementary views: status data describes what is happening now, while traces show how a particular request moved through the system.
Choose the right view: current state or request history
Selenium Server is instrumented with OpenTelemetry tracing. A trace represents a request’s journey across services; its spans record timed operations, and events add timestamped context within spans. GraphQL, the Grid UI, and /status answer a different question: what capacity, nodes, slots, and sessions are currently available?
| Monitoring need | Use | What it shows |
|---|---|---|
| Check whether Grid is responding and inspect a quick status view | Grid UI or /status |
Grid status information. Use GraphQL when you need structured fields. |
| Inspect capacity, nodes, slots, and active sessions | GraphQL | Values such as maxSession and sessionCount, node status and slots, and session capabilities, start time, node, and duration. |
| Understand the path and timing of a request | OpenTelemetry trace | Spans and events across the Grid components that handled the request. |
The Selenium Grid overview describes Grid as routing WebDriver commands to remote browser instances so scripts can run on remote machines. That routing makes a trace especially useful when a failure crosses component boundaries.
Check active sessions and Grid capacity with GraphQL
Use the Grid UI or /status for a quick check. Query GraphQL when you want machine-readable capacity and session details—for example, to distinguish a full Grid from one with available slots, or to see which node owns a session.
#1 Best Overall
The documented GraphQL fields include maxSession and sessionCount, node status and slot information, and session details such as capabilities, start time, node information, and duration. Consult Selenium’s GraphQL query support documentation for query examples and the schema used by your deployment.
Give sessions useful names
Set the se:name capability to a recognizable test or job label, and add other appropriate se: metadata. Selenium documents that this metadata can be viewed in the UI and queried with GraphQL. Names such as a suite and test identifier make it easier to connect a live session to a CI job; avoid putting secrets or personal data in capability values.
Rank #2
Trace a failed request across Grid
When a session-creation request or WebDriver command fails, inspect its trace to see which operations occurred and where time was spent. The relevant roles depend on how Grid is deployed. A fully distributed Grid may include a Router, New Session Queue, Distributor, Node, Session Map, and Event Bus; a standalone or Hub/Node deployment has different boundaries. Interpret spans in the context of the roles actually running.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Identify the request and time window. Use the failing test, session name, and approximate timestamp to narrow the logs or trace results.
- Inspect the trace’s spans and events. Follow the request through the components shown, looking for the operation where the error appears or the timing changes.
- Correlate with live Grid state. Query GraphQL or inspect the UI for the relevant node, slots, and session details. This can help distinguish a request-path problem from current capacity or node state.
- Check the deployed topology. Do not expect every deployment to show the same component sequence; standalone, Hub/Node, and distributed modes separate responsibilities differently.
Selenium’s observability guide describes tracing across Grid modes and explains traces, spans, events, console output, and Jaeger.
Rank #3
Enable trace output and configure a backend
The current Selenium observability guide says tracing is enabled by default. For direct local inspection, set logging to FINE to see the documented console traces and event logs. For collection, filtering, querying, and visualization, Selenium presents Jaeger as a trace backend.
Because configuration flags and behavior can change between Selenium Server versions, use the help output from the server you actually run rather than copying a configuration from a different release. Selenium’s configuration help documents runtime help commands, including info config and info tracing, for inspecting configuration and tracing instructions.
Rank #4
- Run the deployed Selenium Server’s
info tracingcommand and follow its output for the tracing options supported by that version. - Run
info configto inspect the current implementation’s configuration help when a flag or behavior is unclear. - Choose console output for a direct inspection workflow, or configure the documented Jaeger route when you need a queryable trace interface.
- Set logging to FINE when you need the documented console trace and event details, then reproduce the request and correlate the output with the failing test.
Check the exact command syntax accepted by your installed Selenium Server; the documentation’s runtime-help approach is intended to account for differences between releases.
Prometheus and newer Selenium telemetry features
Selenium’s article about Selenium Grid 4.41.0 describes a Session Event API and a native Prometheus metrics endpoint as features of that release. Treat these as version-bound: verify that the deployed server is 4.41.0 or otherwise confirms the feature in its own documentation and configuration help before building dashboards or integrations around it. The available documentation here does not establish a full compatibility matrix across releases, so do not assume the endpoint exists on every Selenium 4 installation.
Best Value
Common monitoring problems and fixes
- No trace details appear in the console: the documented console trace and event output is visible at FINE logging level. Check the server’s logging configuration and confirm you are inspecting the process handling the request.
- A configuration flag is rejected or has no effect: flags and behavior can vary by version. Run
info configandinfo tracingon the deployed server and use the options those commands report. - A GraphQL result does not identify a test clearly: add a useful
se:nameand suitablese:metadata when creating the session, then query or view that metadata in GraphQL or the UI. - A trace seems to omit a component: compare the trace with the actual deployment topology. Not every Grid mode has the same component boundaries.
- You cannot find the Prometheus endpoint: confirm the deployed release and its configuration help. The cited Prometheus feature is described for Grid 4.41.0, not established here as universal across Selenium 4.
Or skip the browser setup
If your monitoring workflow also needs clean website screenshots for reports or test artifacts, ScreenshotNeo offers a one-request screenshot API. For example, this cURL request saves a WebP capture; replace the target URL as needed. See the ScreenshotNeo documentation for request options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo and get 1,000 free screenshots a month with no card.
Recommended Free Tools
Frequently Asked Questions
Can GraphQL show which node is running a session?
Yes. Selenium’s documented GraphQL session data includes node information; the query examples and schema are in the official GraphQL documentation.
Does Selenium tracing require Jaeger?
No. The guide describes console traces and event logs at FINE level for direct inspection, and presents Jaeger as a backend for collecting and querying traces.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

