Release notes¶
Here you can find the release notes for Kanzi Monitor.
1.9.1¶
Compatible with Kanzi 3.9.4 through 3.9.15.
New features¶
Extended Kanzi version compatibility¶
Kanzi Monitor now supports Kanzi 3.9.4 through 3.9.15, extending the minimum supported version from 3.9.8 to 3.9.4.
All version-dependent features are automatically version-guarded. On older Kanzi versions, some features are gracefully disabled:
Kanzi < 3.9.6: Auto-focus for the on-screen UI overlay is not available. The overlay UI is fully functional without it.
Kanzi < 3.9.8: FPS measurement uses the
Application::getFramesPerSecond()fallback instead of theFrameTimeQueue-based calculation.Kanzi < 3.9.10:
overwatch.allresourcesis not available (requiresgetAllResources()API). Resource details (overwatch.resourceinfo), texture preview, framebuffers, and render pass commands work on all versions using the loaded-resources fallback.Kanzi < 3.9.13: Glyph cache generation counter is not available in font inspection.
Font and glyph cache inspection¶
The
fontinfocommand shows all active FontRuntime instances with font identity (family, file), style definition (size, style, weight, layout, rendering), glyph cache state (texture dimensions, GPU memory, generation), and which nodes use each font.The Overwatch service exposes font data through two new commands:
overwatch.fontsreturns all active FontRuntimes as JSON with style, glyph cache, metrics, and node info.overwatch.glyphcachepreviewreturns a base64-encoded RGBA preview of a glyph cache texture.
The Monitor Web UI adds a Fonts tab for browsing active fonts, viewing font identity and style details, font metrics (line height, ascender, descender), glyph cache memory, and live glyph atlas texture preview.
The MCP server adds
get_fontsandget_font_glyph_cache_previewtools for AI-assisted font inspection.When the node tree is not available, all font inspection interfaces show an informational message instead of empty results.
Runtime glyph cache size control¶
overwatch.setglyphcachesize <width> <height>sets the glyph cache texture size for newly created caches at runtime, enabling glyph cache pressure testing without recompiling the application.The command is gated behind the
OverwatchPropertyChangeEnabledconfiguration flag. A warning is logged when the cache size is set below 128x128.overwatch.fontsincludes aconfiguredGlyphCacheSizefield when the size has been overridden, and auniqueCacheCountfield showing the number of distinct glyph cache textures. GPU memory totals are deduplicated when multiple fonts share the same cache.The Monitor Web UI Fonts tab shows the current glyph cache size as editable inputs, with visual feedback on change.
The MCP server adds a
set_glyph_cache_sizetool.
Graphics API call logging¶
The
graphicslogcommand toggles graphics API call logging at runtime. Usage:graphicslog [0|1] [dump]. When enabled, all OpenGL API calls are logged to the application’s registered loggers (console, file sinks, LogService).The optional
dumpparameter enables full GL state dumps on every draw call, showing framebuffer state, viewport, vertex attributes, shader program details (active attributes, uniforms with current values), and texture bindings.The Overwatch service adds
overwatch.graphicslogwith frame-count limiting:overwatch.graphicslog 1 dump 5captures 5 frames of GL calls with state dumps, then auto-disables.The Monitor Web UI Logs tab includes graphics logging controls with an on/off toggle, state dump checkbox, and optional frame count.
The MCP server adds
set_graphics_loggingandget_graphics_loggingtools.Frame boundary markers (
--- RenderStage entered: Frame N ---) are automatically injected into the log stream when graphics logging is active, making it easy to identify per-frame GL call sequences.Includes a workaround for a Kanzi engine bug where GL state dump only works when the internal vendor is set to Chromium.
Build configuration and diagnostics reporting¶
The
kzinfocommand now reports the build configuration (Debug, Profiling, or Release) and whether the graphics logging backend is available.The
overwatch.statusJSON response includesbuildConfigandgraphicsLogAvailablefields for programmatic access. The Monitor Web UI uses these to surface build context.
Log category filtering¶
The Monitor Web UI Logs tab adds a category filter dropdown to show or hide log entries by category (e.g.
generic,debug). Filters apply to both the on-screen display and the downloaded .txt file.
Configurable log buffer size¶
overwatch.logconfigqueries or sets the in-memory log buffer size at runtime. Usage:overwatch.logconfig maxentries <count>. The default size is 100 entries.The MCP server adds
set_log_buffer_sizeandget_log_configtools for programmatic access.
Example application: glyph cache stress testing¶
The example application
CustomPerformanceToolsplugin includes aglyphcachestresscommand that cycles mixed Latin and CJK text through allTextBlocknodes in the scene to provoke glyph cache flush conditions.Usage:
glyphcachestress [interval_ms] [node_filter]. Useglyphcachestress stopto restore original text and show a summary.The command requires
OverwatchPropertyChangeEnabled = 1and a CJK-capable font for full effect. It works on Kanzi 3.9.4 and later.This command demonstrates how to implement custom diagnostic commands using the Kanzi Monitor Command Processor service API.
Notable fixes¶
Fixed Web UI Resources tab stuck on “Loading details…” and corresponding MCP tools timing out on Kanzi versions before 3.9.10. Resource details (
overwatch.resourceinfo), texture preview (overwatch.texturepreview), framebuffer list (overwatch.framebuffers), render pass tree (overwatch.renderpasses), and render pass preview (overwatch.renderpasspreview) now work on all supported Kanzi versions.Fixed RemoteConsole crash on Android and embedded platforms caused by a shared
SocketStreamBufrace condition. The input reading thread (recv) and main thread (send) shared the same internal buffer pointers with no synchronization. Split into separateSocketReadBufandSocketWriteBufwith independent buffers. Backported from 1.40.0 (KZMON-232).Fixed CMake platform packages (QNX, Linux) missing tools directory. Packages now include the full tools tree: RemoteConsoleClient and SerialConsoleClient (source + prebuilt binaries), Monitor Web UI (source + standalone executable), and MCP server.
1.9.0¶
Initial release of Kanzi Monitor for Kanzi 3.9. Compatible with Kanzi 3.9.8 through 3.9.15. A source-only distribution package is available for building the plugin from source against any supported Kanzi 3.9.x version.
Features¶
Command Processor Service¶
Local console for interactive command-line access over stdin/stdout.
Remote console for command access over TCP sockets.
Serial console for command access over serial ports (UART). Supports Windows COM ports and POSIX serial devices.
Built-in commands for application control, scene graph inspection, and diagnostics.
Support for custom application-defined commands.
Trace Service¶
Profiling data collection with configurable sample buffers and collection intervals.
JSON trace export compatible with the Perfetto trace viewer.
Configurable automatic trace output on exit, on timer, or when frame duration exceeds a threshold.
UI Service¶
On-screen overlay with basic, report, and control screen modes.
Configurable font scaling for high-DPI devices.
Touch and key input support.
Log Service¶
In-memory log buffer with on-screen presentation.
Console access to log entries.
KanziLog trace pipeline diagnostics for troubleshooting missing log entries.
Performance Service¶
Runtime performance statistics and counters with PerformanceInfo profiling category.
Performance metric watchers that trigger commands when thresholds are crossed.
Overwatch Service¶
JSON-based remote introspection of the scene graph, resources, rendering, data sources, and performance.
Scene graph browsing with configurable depth limiting.
Property querying and modification for any node in the scene graph.
Resource inspection with CPU/GPU memory usage and detailed metadata.
Texture preview and render pass output preview.
Screenshot capture with scheduled framebuffer readback.
Real-time performance metrics including FPS, frame times, and render statistics.
DataSource inspection including
DataObjectListnodes with item data.Log entry access and trace profiling control.
Graphics backend information including GPU vendor, renderer, and extension list.
Tools¶
Monitor Web UI — browser-based GUI for remote inspection and debugging of Kanzi applications. Connects over TCP or serial and offers live scene graph browsing, property editing, resource and texture preview, screen capture, render pass visualization, performance monitoring, and trace capture. All platform packages include a prebuilt standalone executable.
MCP Server — Model Context Protocol server that enables AI assistants such as Claude Code and Claude Desktop to inspect and control a running Kanzi application. Connects over TCP or serial and exposes all Overwatch commands as structured tools.
RemoteConsoleClient — command-line TCP client for the remote console. Prebuilt for Windows and Linux.
SerialConsoleClient — command-line serial client for the serial console. Prebuilt for Windows and Linux.
Platform support¶
Windows (MSVC 2017/2019)
Android (NDK + AAR)
QNX (700/710)
Linux