In development. Every screenshot here is a real build recording a real machine. The Steam page is still in review.
SystemChart
Coming to Steam

Sixty ticks a minute.
Kept for a year.

SystemChart is a 1 Hz recorder for your whole PC. Every tick it writes down fifty-two readings from the processor, the graphics card, memory, drives, the network and the wall socket. Nothing is averaged away. So when something goes wrong, the second it started is still there.

See how it works When you can get it No account. Nothing leaves your machine.
Tick rate
1 Hz
Readings a tick
52
Ticks a day
86,400
Per reading
2.8 B
A day of history
22 MB
While it runs
0.8 %
Price
Free
The SystemChart overview page showing an hour of processor load against fixed effort levels, with a live hardware ticker down the right.

Overview

A flight recorder for the machine you are sitting at.

Task Manager shows you this second. That helps right up to the moment the problem passes, and the problem always passes. The stutter happened during the match. The temperature spiked while you were downstairs. The machine has been slower since an update nobody wrote down.

SystemChart takes a tick every second and keeps it. All fifty-two readings, at full resolution, for as long as you have room. No averages. No five minute summaries. Every part of the machine lands on the same beat, so any moment can be read straight down the page.

The counters it reads are ones Windows and your drivers already keep, so it makes no work of its own. It measures what it costs anyway, and shows you on the Capture page.

1 Hz

The tick rate

Sixty ticks a minute. 86,400 a day. Every part of the machine read on the same beat.

52

Readings a tick

Processor, graphics, memory, drives, network and power, plus a set for every application and every game.

22 MB

A day of ticks

About 2.8 bytes a reading. Pick a budget of 1, 5, 10 or 20 GB. When it fills, the oldest ticks fall off the end.

0.8 %

What a tick costs

Measured on a real machine. Capture stays under one per cent. The window adds about half a per cent while it is open.

0

Accounts. Servers. Uploads.

A SQLite file on your disk and a port on loopback. Diagnostics go nowhere until you press the button that sends them.

Idle, the recorder eases to a tick every five seconds and comes straight back the moment anything happens. Set it to a flat 1 Hz and it never eases at all. Games always get the full rate.

Reading it

Charts built for signals.

Candles, envelopes, distributions and ranked screeners all move across to a machine without much trouble. So do moving averages, rate of change and dispersion, which describe any signal at all.

RSI and MACD do not, and they are missing on purpose. Both assume a price set by an auction. A processor at 100 per cent is not overbought. It is busy.

Ticks nobody captured are marked on every chart. Nine hours asleep looks like nine hours asleep.

The graphics page: load and clock, temperature against fan speed, board power against its limit, and a distribution of time spent at each load.
The graphics page during and after a game session.

Attribution

Every percentage point has an owner.

A processor at 60 per cent is a fact with nobody attached to it. On every tick SystemChart walks the process list and writes down what each application was taking: processor, memory, disk and video memory. Each measure gets ranked on its own, because the biggest memory holder is hardly ever the biggest processor user.

Tag the applications you care about and they get written down on every tick, whether or not they make the cut that second. Each one gets a page showing what it costs to leave running.

The processor page, with load, clock, a breakdown by application, and time spent in kernel against user code.
The processor page, broken down by the applications that caused it.

Every tick

Fifty-two readings, sixty times a minute.

Fifty-two data points about the machine itself, plus a set for every application and a set for every game. Graphics telemetry comes off the card where the card reports it. Where the card stays quiet, vendor neutral counters take over and the rest is left blank.

Processor 17

  • load.avg / min / max
  • freq.ghz
  • cores.busy, cores.p, cores.e
  • time.kernel, time.user
  • time.dpc, time.interrupt
  • ctxsw, queue, threads

Graphics 7

  • load.avg
  • temp.c
  • power.w
  • clock.core, clock.mem
  • fan.pct
  • vram.mb

Memory 8

  • used.gb, commit.gb
  • cache.gb
  • faults, hardfaults
  • pool.paged.gb
  • pool.nonpaged.gb

Drives 6

  • load.avg
  • read.mbps, write.mbps
  • latency.ms
  • iops, queue
  • free space per volume

Network 8

  • rx.mbps, tx.mbps
  • util.pct, link.mbps
  • packets
  • errors, discards

Power 6

  • watts.cpu, watts.gpu
  • watts.platform
  • watts.psu
  • load.avg at the wall
  • cost at your tariff

Per application

  • cpu.pct
  • mem.mb
  • io.mbps
  • vram.mb

Per game

  • fps.avg, fps.low
  • frametime.ms
  • frametime.worst
  • gpu.busy
  • stutter.pct

Frames are the exception. They are counted as the game presents them, at its rate and not the recorder's, so a session at 240 Hz is measured at 240 Hz.

Assistant

Ask it what happened.

SystemChart answers questions about your machine through a model you choose and pay for. Your key, your account, your bill. It ships with no key of its own, which makes a model running on the same machine an ordinary choice here.

Every number in an answer came out of a tool that measured it against your recorded ticks. The model has no other route to a figure. Under each answer sits the list of tools it ran, so you can go and check.

It can put what it is describing on screen too. Ask for twenty minutes and you get twenty minutes.

The assistant panel open beside the charts, answering a question about whether the graphics fan follows the card temperature, with the tools it ran listed underneath the answer.
A real answer from a real model. The chips under it name every tool that was run to produce it.

Put to gpt-5.4-mini through Azure AI Foundry. The reply is unedited.

Does my graphics card fan follow the card temperature, and by how long?

Tools it ran

checked what is reported read the hardware measured two readings together

The 0.9527 and the 16 seconds came out of a function running over four hours of stored ticks. The model cannot round them, average them in its head, or produce a third figure, because it has no way to reach a number except through one of these tools.

What came back

Yes. Over the last 4 hours, GPU fan and GPU temperature moved together very closely: correlation 0.9527.

The fan followed temperature by 16 seconds, with the fan lagging behind the temperature.

I’m looking at an NVIDIA GeForce RTX 5090, and the graphics telemetry is reported from the card.

The Agent page in Settings, offering OpenAI, Azure AI Foundry, Ollama, LM Studio, Foundry Local and anything else, with endpoint, model and key fields.

Inside the application

Choose a provider, paste an endpoint and a key, and the panel opens beside your charts. A model running on the same machine needs no key at all. Ollama, LM Studio and Foundry Local are one click each.

Windows encrypts the key under your account before it goes anywhere near disk. The window that set it never gets it back.

The tool server part of the Agent settings page, showing a ready made Claude Desktop configuration block with a copy button.

Or your own assistant

SystemChart is also a Model Context Protocol server. Settings writes the whole configuration block with the real path already in it, for Claude Desktop or for VS Code, and copies it on one button.

Paste it, restart, and ask the assistant you already use about your own machine.

Twenty tools it can reach for

Summarise

  • brief
  • describe
  • machine
  • capabilities
  • capture_status

Measure

  • correlate
  • regress
  • changepoint
  • trends
  • changed

Look up

  • history
  • composition
  • applications
  • games
  • sessions
  • events

Change the view

  • show_page
  • set_timeframe
  • add_study
  • set_markup

Sixteen of these only read. The four that change something change what is on screen and stop there. None writes a tick, deletes one, or touches capture, settings or licensing. An instruction smuggled into a window title earns you a wrong answer and no wrong actions.

Your model, your bill

SystemChart ships with no key and pays for nothing. It keeps working the day this application stops being developed.

Local models are ordinary here

The subject is one machine and the machine is right there. Nothing has to leave it for an answer to come back.

Every figure is checkable

The tools that ran are named under each answer. Open the same page over the same window and the same numbers come up.

It admits what it cannot know

Ask about a window with no ticks in it and it says so. A reading that never moved gets named as such.

Setting it up

One paste, and your assistant can read the machine.

Settings writes the configuration block for you with the real path already in it, for Claude Desktop or for VS Code, and copies it on one button. Between reading about this and using it sits a paste and a restart.

The tool server only reads. A confused model, or an instruction smuggled into a window title, gets you a wrong answer and no wrong actions.

The Agent page in Settings, with providers to choose from, endpoint, model and key fields, and an explanation of what the tool server can answer.
Settings, Agent.

While you play

A frame counter, not an injected hook.

The counter is its own click through window sitting above the game. Nothing gets written into the game process, so anti-cheat has nothing to object to and antivirus has nothing to quarantine.

Ten fields to choose from and a corner to put it in. Frames get captured whether the counter is showing or not, at the game's own rate, so every session leaves a page behind with its lows, its worst frames, and how it compares to the last time you played.

The frame counter page in Settings, showing a live preview of the counter, corner selection and size.
Settings, Frame counter.

Editions

Free is the whole product.

Every tick, every page, every automatic explanation and all of your history are free and stay that way. Pro buys the tools for building your own views and making your own case with them. Nothing you captured is ever locked away, and a page built in Pro still reads without it.

SurfaceFreePro adds
Capture Every data point, the full 1 Hz tick, every storage budget, autostart, pause and resume Nothing. Capture is never gated.
Pages Overview, Capture, CPU, GPU, Memory, Drives, Network, Power, Machine Pin and rename tabs, editable copies, blank pages, the chart palette, saved layouts
Applications and games Attribution, tags, category pages, game and session pages, peer comparison Nothing
Analysis All timeframes, automatic markup, operating zones, findings, trends, what changed Manual indicators, drawing tools, custom limits, Compare, before and after, repeated experiments
Frame counter On or off, with the default counter Corner, fields, size and plate
Appearance The Redline mark Seven finishes for the window, taskbar and tray
Assistant All of it. Bring your own model. Nothing

Availability

It arrives on Steam.

Every screenshot here came off a build that has been ticking away on this machine for weeks. What is left has nothing to do with the software. The store page is in review, and it goes up the day that comes back approved.

Steam handles the install, the updates and the community. Free is the whole product and not a trial. Pro is one payment, once.

Windows 10 or 11, 64-bit Free edition is the whole product Works offline. No account to make

Community

Questions and bug reports go through Steam.

Discussions

The Steam community hub is where questions, odd hardware and what people find in their own captures will live. It opens with the store page.

Bug reports

The application builds a diagnostic report and uploads it once you agree. Logs and machine capabilities go in. Your ticks never do.

Hardware coverage

Graphics telemetry is fullest on cards that report it. Everything else works on any machine that runs Windows.