Prometheus on a small machine is sized by the number of time series, and that number is rarely the one anybody expected: it is metrics times targets times every label value. Below it becomes disk, memory and the write load the storage has to survive.
Where the series come from
Compressed samples average about 1.7 bytes; the head block needs roughly 8 KB per active series. Both are rules of thumb - the first is stable, the second varies with label length and query load.