Get started
Your first metric in about a minute. Make a key below and every command on this page gets it filled in.
Make a key
A key is 16 random bytes in hex. It is made here, in your browser: nothing is sent anywhere until you use it. The same key is used by the playground.
Or in a terminal:
openssl rand -hex 16
Send a value
One request: the item / is the main value, /_name the title.
curl "{ORIGIN}/set/KEY?/=21.5&/_name=My%20first%20metric"
The answer is 200 with an empty body, at once.
Watch it
Open the page of the channel: {ORIGIN}/ch/CHANNEL_ID. Send another value with step 2 and see it come in. The page is public: send the link to anyone.
Add items
A channel has any number of items; the names are paths. Several items go in one request, a form is easier to encode than the query:
curl -X POST "{ORIGIN}/set/KEY" \
-d "/cpu=37" -d "/cpu/_name=CPU, %" \
-d "/mem=61" -d "/mem/_name=Memory, %"
The page lists the items beside the chart; a click shows one. Numbers are kept as a history, text is shown as it is.
Send it all the time
A loop or a cron job does it. The load of a Linux machine every 5 seconds:
while true; do
curl -s "{ORIGIN}/set/KEY?/load=$(cut -d' ' -f1 /proc/loadavg)" > /dev/null
sleep 5
done
The CPU and the memory from Python:
import time, psutil, requests # pip install psutil requests
while True:
requests.post("{ORIGIN}/set/KEY", data={
"/cpu": psutil.cpu_percent(),
"/mem": psutil.virtual_memory().percent,
})
time.sleep(5)
Windows, ESP32, JavaScript and more: the playground has them with your key, the examples - ready-made scripts.
Read it back
The API answers JSON:
curl -s --compressed "{ORIGIN}/get/CHANNEL_ID"
The history, the formats and the limits are in the reference.