Two new virtual-table groups expose the JVM classloader hierarchy inside the platform's observability catalog. The parent loader and each child loader appear as rows in the root table; drilling into a row returns the loader's loaded-class list, its classpath URL entries, and per-loader resource counts from dedicated child tables — the same navigation pattern already used for cache and schema catalogs, so operators work with a single mental model across all three surfaces.
What the tree exposes
- Parent and child loader rows. The bootstrap and platform classloaders appear at the root alongside any child loaders registered by the platform's isolated-library mechanism, each with its type, delegation parent, and a live count of loaded classes.
- Three child detail tables per loader. Loaded-class names with module and source-JAR coordinates; classpath URL entries in resolution order; and an aggregate row-count summary. Each table is reachable by drilling into the parent row from the catalog browser.
- Catalog-style navigation. The structure mirrors the
cache.catalogtree — the same browser that navigates cache entries navigates classloader state without additional tooling.
Diagnostic applications
- Class-loading conflicts surface immediately. When two child loaders hold different versions of the same class, both rows appear in the loaded-class detail with their respective source JARs — no heap dump required.
- Classpath drift detection. Operators diff the URL list between deployments to confirm which JARs changed without inspecting the filesystem directly.
- Consistent permission model. Classloader state is governed by the same credential and role model that governs data access; no separate JMX connection or console access is required.
The classloader tree is read-only and refreshes on every query against the virtual tables. Combined with the cache observability tree from the same sprint, operators can trace a slow-path request from its SQL execution plan through its cache misses to the classloader that resolved the library under load — all through the platform's SQL interface.