Release notes¶
Here you can find the release notes for Kanzi Monitor.
1.41.0¶
First release of Kanzi Monitor for Kanzi 4.1. Compatible with Kanzi 4.1.0. A source-only distribution package is available for building the plugin from source against any supported Kanzi 4.1.x version.
Features¶
Kanzi Monitor introspects a stock Kanzi 4.1 application out of the box: it resolves the host scene graph and frame timing through the Kanzi 4.1 Domain (Domain::getScreens() / Domain::getFramesPerSecond()), with no injected Application or host-side registration.
Command Processor Service¶
Local console for interactive command-line access over stdin/stdout, a remote console over TCP sockets, and a serial console over serial ports (UART; Windows COM ports and POSIX serial devices).
Built-in commands for application control, scene graph inspection, and diagnostics, plus support for custom application-defined commands.
kzinforeports the build configuration (Debug, Profiling, or Release).
Trace Service¶
Profiling data collection with configurable sample buffers and collection intervals.
Output driven by a named writer registry: writers register under a name and are selected through the
ActiveWritersconfiguration key (defaultchrometrace), switchable at runtime viaoverwatch.writers/overwatch.activatewriter/overwatch.deactivatewriter. Built-in writers:chrometrace— Chrome Trace Format JSON.perfetto— native Perfetto protobuf (.perfetto-trace): typed counters and debug annotations, the canonical input format for Perfetto UI and Android Performance Analyzer, via a hand-rolled encoder with no external dependency.perfetto-producer— streams events to the platform tracing daemon (Androidtraced, Linuxperfetto) so Kanzi work appears alongside ATrace and SurfaceFlinger in a single system timeline. Requires building with-DKZMONITOR_PERFETTO_PRODUCER=ON(Android binaries ship with it on).
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.
Log Service¶
In-memory log buffer with on-screen presentation; the buffer size is configurable at runtime (
overwatch.logconfig).Console access to log entries, category filtering in the Monitor Web UI, and KanziLog trace pipeline diagnostics for troubleshooting missing log entries.
Performance Service¶
Runtime performance statistics and counters with the 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.
Resource inspection with CPU/GPU memory usage and metadata, including texture type / cubemap descriptors (type, face count, dimensions, format, mipmap levels) through
resinfoandoverwatch.resourceinfo.Texture and render-pass output preview, with per-face cubemap preview (
overwatch.texturepreview face=<n>); screenshot capture through scheduled framebuffer readback.Font and glyph cache inspection (
fontinfo/overwatch.fonts/overwatch.glyphcachepreview): font identity, style, metrics, and a live glyph-atlas preview, plus runtime glyph cache size control (overwatch.setglyphcachesize) for pressure testing.Real-time performance metrics (FPS, frame times, render statistics); DataSource inspection including
DataObjectListnodes; log entry access and trace control; graphics backend information; build configuration throughoverwatch.status.
Platform support¶
Windows (MSVC 2022)
Android
QNX 710
Linux
Tools¶
Monitor Web UI — browser-based GUI for remote inspection and debugging: live scene graph browsing, property editing, resource and texture preview, screen capture, render pass visualization, performance monitoring, and trace capture. This release adds a Fonts tab (font identity/metrics, live glyph-atlas preview, editable glyph cache size), a View in Perfetto button on the Trace tab, a Logs category filter with an editable buffer size, and Screen-tab overlay controls (PerformanceInfo level, Monitor UI visibility, BasicUI screen, font scale). All platform packages include a prebuilt standalone executable.
MCP Server — Model Context Protocol server that exposes the Overwatch command set as structured tools for AI assistants such as Claude Code and Claude Desktop. New this release:
get_fonts,get_font_glyph_cache_preview,set_glyph_cache_size,get_log_config/set_log_buffer_size, and afaceparameter onget_texture_preview.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.
Example project¶
The example application under
examples/monitor_example/is compatible with, and uses, the application templates from Kanzi 4.1.0. See the Kanzi 4.1.0 SDK documentation for details on the new template structure.
Changes since 1.40.0¶
A “what changed since the previous minor” recap. This is a notification only — see Migration guides for how to adapt, and the main docs for how to use.
Added: font and glyph cache inspection; runtime glyph cache size control; Perfetto trace output (
perfetto/perfetto-producer) and an embedded Perfetto UI in the Web UI; cubemap / texture-type resource inspection; build-configuration reporting; Web UI log category filtering; runtime log buffer size control. (See Features above.)Removed: the Application-injection API —
setApplication(C++), thesetNativeRuntime/setNativeApplicationJNI handshakes, theNodeRegisteringScreenEnabledoverride, and theregisterRoot/registerNativeViewRootview-root hook (the scene graph is now resolved viaDomain::getScreens()); the Android Monitor AAR (Kanzi Monitor exposes no Java API); theappfpsmetric and theappquitcommand (usefpsandquit).Changed: trace output is selected through the
ActiveWriterswriter registry — the publicSampleCollector::registerWriterTask()/clearWriterTasks()symbols are removed (register viaTraceWriterRegistry); theapp-prefixed commands are retired (appfpsinfo→fpsinfo).Fixed: the Web UI “Connected” indicator no longer stays green after the application exits; RemoteConsole sets
SO_REUSEADDRso port 56000 is reusable immediately after a restart; screenshot-capture timeouts report an actionable hint andtake_screenshotcompletes in a single call; texture-preview GPU readback uses the texture’s native pixel format (fixing corrupted HDR and cubemap previews); Android trace output writes to the app’s internal storage (Context.getFilesDir()) instead of/sdcard/, removing the external-storage permission requirement; the frame-duration trigger key is now spelledWritingOnFrameDurationThreshold(the 1.40.0 misspellingWritingOnFrameDurationTresholdremains a deprecated alias); the non-functional graphics API call logging commands (graphicslog/overwatch.graphicslogand theset_graphics_logging/get_graphics_loggingMCP tools) — carried over from the 1.9.x line but dead on Kanzi 4.x, which dropped the underlying engine API — are removed, so they no longer appear available when they cannot work.