Skip to Content
This documentation is provided with the HEAT environment and describes this HEAT instance.
DevelopersRunnerssystem-utilssystem-utils (platform runner)

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

TemplatePurposeLimitationsDetails
capture-discoveryAgnostic 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-extractScoped 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-dataserviceConvert 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-jsRun 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-envelopeBuild $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-dimensionPersist $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-dimensionPersist v1 facade JSON and create a Legacy dimension.No $heat-dataservice. New work should use Next paths.heat-system-legacy-dimension
cluster-reportSnapshot Kubernetes cluster usage into JSON.Needs cluster API access. High output volume on frequent static refresh.cluster-report
cluster-usage-historyAppend bounded CPU and memory timelines from historical cluster-report outputs.Requires cluster-report parent. Max 60 snapshots.cluster-usage-history
heat-workspace-group-countBucket workspace items and emit heatWorkspaceGroupCountV1 bar series for charts.Platform Resource Monitor style graphs. v1 filter ops only.heat-workspace-group-count
project-metricsEmit project-level session count metrics as JSON.Valid projectId or projectName required. Not a dashboard publisher.project-metrics
session-dimension-queryQuery 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-queryQuery 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-writerIngest 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-queryRun 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-sweepIndex 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-exportStream 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-retentionExpire 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 namePurpose
heat-capture-discoveryCapture discovery dashboard (agnostic profiler)
heat-capture-mainline-scopedCapture discovery leaf plus scoped protobuf extract mainline
system-tabular-dashboard-autodetect-nextCSV autodetect with suggested layout
sample-arbex-composable-dashboardArbex sample with ComposableChart
sample-arbex-legacy-dashboardSample: 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-nextResource Monitor static dashboard
heat-system-node-output-indexSystem pipeline: lazily indexes NodeOutput blob content (retrievability, md5, size, mime, rich hint) into NodeOutputContentIndex via a timeboxed, memory-bounded sweep.
heat-system-session-exportSystem 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-retentionSystem pipeline: expires session-export artefacts past their retention TTL and deletes their blobs from the HEAT Managed Object Store.
bulk-analytics-ingest-referenceCSV output discovery and bulk analytics ingest
bulk-analytics-arbex-sampleFull bulk pipeline: query, writer, SQL query, Arbex dashboard

See Bulk analytics for the full workflow guide.

Opens your browser's print dialog. Choose "Save as PDF" as the destination.