Skip to content

#15033 Telemetry: Add graphics environment to events - #15034

Merged
magnesj merged 1 commit into
devfrom
telemetry-graphics-environment
Oct 26, 2026
Merged

magnesj merged 1 commit into
devfrom
telemetry-graphics-environment

Conversation

@magnesj

@magnesj magnesj commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Related to #15033. Most Linux crash reports are now aborts inside the GL driver during a widget repaint, and the crash reports carry nothing about the driver or display setup.

Changes

  • New RiaGraphicsEnvironmentTools collects:
    • Display environment (no GL context needed): Qt runtime version, QPA platform, session type, desktop, X11 display kind (local/localhost/remote, never the host name), Wayland flag, names of remote-access env variables (SSH, VirtualGL, ThinLinc, VNC), GL-related env overrides, and known remote display servers running on the host (rgsender for HP RGS, PCoIP, VNC, ThinLinc, NoMachine).
    • OpenGL context info: GL_VENDOR, GL_RENDERER, GL_VERSION (includes the NVIDIA driver version), GLSL version, context version/profile.
  • RiaOpenTelemetryManager::setGraphicsInfo() stores these, and they are attached to crash events and regular events as graphics.* attributes.
  • The display environment is set in main() before app.started (GUI mode only).
  • GL info is captured once in RiuViewer::onWidgetOpenGLReady(), where the viewer's context is current, so no extra context is created. A one-off app.opengl_initialized event gives a baseline of drivers in sessions that do not crash.

Testing

  • Built on Rocky 8.10 with Qt 6.6.3. Ran on xcb and Wayland and printed the collected attributes with a temporary log line (since removed).
  • Remote display server detection was checked with a stand-in process named rgsender. The real process names, including RGS's, still need to be confirmed on a client RGS node.
  • clang-format was not available locally.

Follow-up

The CSV export used for the weekly stacktrace reports needs the graphics.*, os.name, and crash.signal columns.

@magnesj
magnesj marked this pull request as ready for review October 25, 2026 20:05
Most Linux crash reports are aborts inside the GL driver during a widget
repaint, and the reports carry no information about the driver or display
setup. Attach GL vendor/renderer/version, Qt platform, display server and
remote display server (e.g. HP RGS) to crash and regular events, and report
the OpenGL driver once per session in app.opengl_initialized.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@magnesj
magnesj force-pushed the telemetry-graphics-environment branch from 317905b to 958ddbd Compare October 25, 2026 20:05
@magnesj
magnesj merged commit 648c20c into dev Oct 26, 2026
23 checks passed
@magnesj
magnesj deleted the telemetry-graphics-environment branch October 26, 2026 05:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant