Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
FREEDOM251

Freedom251 › Blog › GraphQL

Selenium 4 Observability: Monitor Grid Health, Requests, and Test Sessions

By Freedom251 Team · · 6 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Selenium Grid’s UI or /status for a quick health check, GraphQL for structured capacity and session data, and OpenTelemetry traces to follow a request across Grid components. These tools answer different questions: live state tells you what is available now; traces help explain how a request moved through the system and where it slowed or failed.

Which Selenium Grid observability tool answers your question?

Need Use What it shows
Quickly check whether Grid is available Grid UI or /status Grid status and a visual or basic endpoint view.
Query capacity, nodes, slots, or active sessions GraphQL Structured current-state fields such as maxSession, sessionCount, node status, slots, and session details.
Understand a request’s route, timing, or failure context OpenTelemetry traces A request journey across services, represented by timed spans and timestamped events.
Inspect trace output locally Console exporter at FINE logging level Trace and event details in server logs.
Collect and query traces centrally Jaeger or another configured trace backend Searchable and visualized trace data, subject to the deployed server’s configuration.

Selenium Server is instrumented with OpenTelemetry tracing. The official Selenium observability guide describes traces as request journeys, spans as timed operations, and events as timestamped context within spans.

As an Amazon Associate I earn from qualifying purchases.

Check Grid health and current sessions

Start with the UI or status endpoint

For a quick operational check, open the Grid UI or request /status on the Grid endpoint. These are useful first checks when you need to know whether Grid is responding, but use GraphQL when you need specific fields for automation, dashboards, or a more detailed session inventory. Selenium documents the UI, /status, and GraphQL as ways to query Grid state in its getting-started guide.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Query structured capacity and session data

GraphQL can expose Grid capacity, node and slot state, and session information. Useful fields include:

  • maxSession and sessionCount for configured capacity and current session count.
  • Node status and slot data to see where capacity is available or occupied.
  • Session capabilities, start time, node information, and duration to identify where a running test is executing and how long it has been active.

Use Selenium’s GraphQL query support documentation for the current query examples and response fields. Treat these results as a view of current Grid state, not as a historical record of how a request reached that state.

Make sessions identifiable

Set the se:name capability to a useful test label, and add other suitable se: metadata when it helps distinguish runs. Selenium documents that this metadata can be viewed in the Grid UI and queried through GraphQL. Prefer stable, meaningful names such as a suite and test identifier over generic labels like “test”; avoid placing secrets or sensitive user data in metadata.

Trace a request through Grid

Understand what a trace contains

Tracing is most useful when a client command fails, stalls, or takes unexpectedly long and a current-state query cannot explain why. Follow the trace’s spans to see which services handled the request, how long each operation took, and what timestamped events were recorded. Interpret the spans in the context of the components that actually exist in your deployment.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Inspect traces in server logs

The Selenium observability guide says tracing is enabled by default and documents console traces and event logs at FINE log level. This is a practical starting point for local diagnosis: increase the relevant logging detail, reproduce the issue, and inspect the emitted trace and event context. Exact logger configuration and output can depend on the server version and deployment, so consult the running server’s configuration help rather than assuming a flag from another release still applies.

Use Jaeger for queryable traces

Selenium presents Jaeger as a backend for collecting, querying, filtering, and visualizing traces. Configure the exporter and backend using the tracing instructions reported by the deployed Selenium Server. A trace backend is more useful than console output when multiple services or test runs need to be inspected centrally; it does not replace GraphQL for a live capacity snapshot.

Follow failures across the deployed topology

Grid can be deployed as a standalone server, a Hub/Node setup, or a fully distributed system. Distributed deployments separate responsibilities across components such as the Router, New Session Queue, Distributor, Node, Session Map, and Event Bus. When diagnosing a failed session request, use the trace to follow the request through the components present in your topology, then correlate the relevant span with node, slot, or session information from GraphQL.

  1. Establish current state. Check the Grid UI or /status; use GraphQL to inspect capacity, node health, slots, and current sessions.
  2. Identify the test session. Use its session details and meaningful se:name or other se: metadata to distinguish it from concurrent runs.
  3. Find the request trace. Inspect console trace output at FINE level or use the configured trace backend.
  4. Locate the failing or slow span. Determine which Grid role handled that part of the request and compare its timing and events with the session and node data.
  5. Check the matching component. Investigate the relevant Router, queue, Distributor, Node, Session Map, or Event Bus boundary that exists in your deployment.

The Grid overview explains Grid’s remote-execution purpose and its component architecture. The tracing guide covers supported Grid modes; the amount of cross-component detail you can interpret depends on the topology you run.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify options for the Selenium Server you actually run

Tracing instructions and configuration flags can vary by version. Run the deployed server’s info config and info tracing commands to see the implementation’s current configuration and tracing help. Selenium’s configuration help, modified September 16, 2026, documents these runtime help commands. Prefer that output over copying a flag or exporter setting from an example intended for a different release.

Prometheus and the Session Event API are version-bound

The Selenium Grid 4.41.0 release article describes a Session Event API and a native Prometheus metrics endpoint. Treat these as release-specific features: verify the installed Selenium Server version and its configuration help before planning dashboards or integrations around them. The release article does not establish a complete compatibility matrix across every version, so do not assume either feature is available on an older deployment. See Selenium Grid 4.41.0: What’s New and Why It Matters.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common monitoring problems and fixes

  • The UI or /status looks healthy, but a test still fails. A health view describes current status, not the full route or history of a command. Inspect the request trace and correlate it with GraphQL session and node data.
  • GraphQL shows sessions but not why a request failed. GraphQL exposes current state. Use tracing for request path, span timing, and event context.
  • No useful trace output appears in the console. Confirm the deployed server’s FINE-level logging instructions with info tracing and reproduce the request after applying the version-appropriate configuration.
  • Trace setup instructions do not match the installed release. Run info config and info tracing on that server; configuration behavior and flags can vary by version.
  • A session is difficult to identify among concurrent runs. Add an informative se:name and suitable se: metadata, then inspect them in the UI or GraphQL.
  • A Prometheus endpoint or Session Event API is unavailable. Verify that the deployed release includes the 4.41.0 feature and check its runtime help before configuring a client or dashboard.

Or skip the browser setup

If your task is to capture a page as part of a test or debugging workflow, ScreenshotNeo offers a website screenshot API and MCP server. It is separate from Selenium Grid observability: it captures pages, rather than showing Grid health, session counts, or traces. A single request can return an image or PDF, for example:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. Cookie banners, popups, and chat widgets are removed before capture; bot checks, blank pages, and failed loads are never billed; an MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Learn about ScreenshotNeo, or sign up for the free plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does Selenium Grid observability require an external tracing service?

No. The documented console exporter provides a local inspection route; Jaeger is an option when you need to collect and query traces centrally.

Can GraphQL show how a session request moved through Grid?

GraphQL reports structured current Grid and session data. Use OpenTelemetry traces to inspect the request’s route and timing.

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.

GraphQLOpenTelemetrySelenium 4Selenium Gridtest automation

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.