If I understand you correctly, you say you want to record "absolute cost over the last polling interval" - you said "(price*dt)" but I think you mean "(charging_rate*dt)". As I tried to explain, this doesn't work well for prometheus, where the same metric can be scraped concurrently by multiple clients at arbitrary points in time.
I think you should consider the following for Prometheus metrics:
1. A counter, like a taxi meter, which increments with absolute money (e.g. dollars) as you spend it
2. A gauge, which represents the current charging rate (e.g. dollars per hour)
Option 1 is by far the best. In principle, if you want to find the amount spent in the current financial year, you simply subtract the value of this counter at the start of the financial year from the current value. Some extra care is needed if there is any chance of the counter being reset; the prometheus functions rate() and increase() take account of that.
Setting aside money for the moment, this is how calculations around traffic bandwidth are done (from counters of bytes passing through an interface). It also allows you easily to calculate usage over arbitrary periods. You *don't* want this counter to reset at the start of the financial year for example; that makes the data less useful. You want it to reset as little as possible, preferably never.
The only problem with counters is that prometheus uses float64 values, which have reducing accuracy as the value gets larger. But with 52 bits of precision, you should be able to get to $45 trillion with one-cent accuracy :-)
Option 2 is problematic. To find the absolute cost over a given time period, you have to integrate over that period. If the rate changes, you may be wrongly apportioning the old and new rates to a given timeslot - although that may not be a major problem if the sampling interval is small. It's possible to do integration using recording rules summing the previous value with the current value, but that's risky and you need to be extremely careful about missing scrapes. If I wanted up-to-the-second cost estimates, and the supplier only gave an instantaneous "rate of charging" value, then I'd be inclined to integrate it myself in my own exporter - i.e. write a "taxi meter" exporter.
Really, I'd say the most important design consideration is where the data is coming from: you should keep it as close to the source of truth as possible. In the case of AWS for example, they provide detailed daily reports with line items showing exactly how much you've used for each resource and how much it cost. I wouldn't attempt to second-guess these using my own metrics.