System Utils (platform runner)
System-utils is the platform’s built-in runner, hosted inside the Core API. It executes the reserved node templates: tabular transforms, Arbex, cluster monitoring, session export and Next or Legacy dimension publishing. It does not use the separate core-utils or dashboard-utils images.
Integrator-owned Next dashboards should use dashboard-v2 on dashboard-utils. For the same tabular to $heat-dataservice transform on core-utils (single parent), see tabular-to-dataservice.
Node template selection
| Template | Purpose | Limitations | Details |
|---|---|---|---|
capture-discovery | Agnostic profiler for parent input-node uploads. Cumulative format and proto census with a discovery dashboard ($heat-dataservice). | Leaf or debug branch. Bounded window per blob. Platform capture templates. | capture-discovery |
system-protobuf-extract | Scoped protobuf extract (EntityDataEvent, EntityState, SimulationFrame) from capture input-node outputs. | Platform alternative to core-utils hydrate. Requires extractionTarget. Bounded reads. | system-protobuf-extract |
system-tabular-to-dataservice | Convert all outputs from one input-node (CSV, TSV or JSON uploads) into $heat-dataservice plus an upload summary. | system-utils graphs only. Multi-upload parent required. Not interchangeable with the core-utils single-parent node. | system-tabular-to-dataservice |
system-arbex-js | Run sandboxed JavaScript (async function run(ctx)) with optional native $heat-dataservice and layout hints. | Platform runner and Node subprocess. Not arbitrary server-side Python. Follow resource and timeout limits in the guide. | system-arbex-js |
heat-system-dataservice-envelope | Build $heat-dataservice from declarative channels and one parent JSON root. | Single parent. Platform and static pipelines. Paths supplied in config. | heat-system-dataservice-envelope |
heat-system-next-dimension | Persist $heat-dataservice and create a Next dashboard dimension. | Platform reserved. Use dashboard-v2 for integrator templates. No ui/legacy. | heat-system-next-dimension |
heat-system-legacy-dimension | Persist v1 facade JSON and create a Legacy dimension. | No $heat-dataservice. New work should use Next paths. | heat-system-legacy-dimension |
cluster-report | Snapshot Kubernetes cluster usage into JSON. | Needs cluster API access. High output volume on frequent static refresh. | cluster-report |
cluster-usage-history | Append bounded CPU and memory timelines from historical cluster-report outputs. | Requires cluster-report parent. Max 60 snapshots. | cluster-usage-history |
heat-workspace-group-count | Bucket workspace items and emit heatWorkspaceGroupCountV1 bar series for charts. | Platform Resource Monitor style graphs. v1 filter ops only. | heat-workspace-group-count |
project-metrics | Emit project-level session count metrics as JSON. | Valid projectId or projectName required. Not a dashboard publisher. | project-metrics |
session-dimension-query | Query sessions by dimension criteria. Returns grouped matches with nested matchingDimensions. | At least one filter required. Platform and static pipelines only. Pagination on distinct sessions. | session-dimension-query |
node-output-query | Query core Postgres for all matching node output IDs (no pagination). | Read-only core DB. Large JSON payloads. Platform bulk ingest only. | node-output-query |
system-bulk-tabular-writer | Ingest CSV and JSON outputs into the HEAT Bulk Analytics DB and emit heatBulkWriterCatalogV1. | Requires the analytics Postgres pod. Parent must be node-output-query. | system-bulk-tabular-writer |
system-bulk-analytics-query | Run read-only SQL against the bulk analytics DB and emit tabular JSON. | Parent bulk writer or explicit analyticsDatabase / bulkWriterNodeInstanceId. SELECT only. | system-bulk-analytics-query |
node-output-index-sweep | Index the content of stored node outputs (retrievability, size, hash, media type) in a timeboxed, memory-bounded sweep. | Platform reserved, driven by a system dashboard. | Index |
session-export | Stream one session, its template and every node output into a downloadable ZIP archive in the managed object store. | Platform reserved, driven by a system dashboard. | Index |
session-export-retention | Expire session export archives past their time to live and delete their blobs. | Platform reserved, driven by a system dashboard. | Index |
Shipped session template examples
| Template name | Purpose |
|---|---|
heat-capture-discovery | Capture discovery dashboard (agnostic profiler) |
heat-capture-mainline-scoped | Capture discovery leaf plus scoped protobuf extract mainline |
system-tabular-dashboard-autodetect-next | CSV autodetect with suggested layout |
sample-arbex-composable-dashboard | Arbex sample with ComposableChart |
sample-arbex-legacy-dashboard | Sample: input-node, system-arbex-js returns v1 facade JSON (no dataservice). heat-system-legacy-dimension persists a Legacy dimension with layoutFromParentOutput. |
heat-system-resource-monitor-next | Resource Monitor static dashboard |
heat-system-node-output-index | System pipeline: lazily indexes NodeOutput blob content (retrievability, md5, size, mime, rich hint) into NodeOutputContentIndex via a timeboxed, memory-bounded sweep. |
heat-system-session-export | System pipeline: streams a full session export (session plus template plus every node output) into a downloadable ZIP artefact in the HEAT Managed Object Store. Backs the exports surface. |
heat-system-session-export-retention | System pipeline: expires session-export artefacts past their retention TTL and deletes their blobs from the HEAT Managed Object Store. |
bulk-analytics-ingest-reference | CSV output discovery and bulk analytics ingest |
bulk-analytics-arbex-sample | Full bulk pipeline: query, writer, SQL query, Arbex dashboard |
See Bulk analytics for the full workflow guide.
Related
- Arbex API reference (scripting
run(ctx),heat.dataservice,heat.layout) - Node templates
- Node template catalog
- dashboard-v2 contract
- Next data service
- Core Utils
Opens your browser's print dialog. Choose "Save as PDF" as the destination.