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.
- 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
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.
The tick rate
Sixty ticks a minute. 86,400 a day. Every part of the machine read on the same beat.
Readings a tick
Processor, graphics, memory, drives, network and power, plus a set for every application and every game.
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.
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.
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.
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.
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.
Put to gpt-5.4-mini through Azure AI Foundry. The reply is unedited.
Tools it ran
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.
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.
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.
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.
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.
| Surface | Free | Pro 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.
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.