Hi Steven,
the idea is that the unit is a fundamental property of the metric. I.e. you can't change the unit of an existing timeseries, otherwise you'd need to change all values.
The key that points to a timeseries (i.e. the metric) is all the information that intrinsically describes the data within that timeseries.
So the unit is such a fundamental property of the actual data, that if you would want to track the same "thing", but in a different unit, you would use a new timeseries with a different metric (key) for it.
Your example didn't specify what the "measured value" would be, but I assume something like a response time.
You actually can use a numeric value (in say, unit=ms) as the value, and also none/unknown as a value, in case the service is down.
As for geo coordinates, I think there's 3 scenarios:
* lat/long is always intrinsic to the metric -> include lat/long as tags in the metric, so that different values of lat/long mean a different timeseries
* lat long is always extrinsic to the metric -> include lat/long as metadata tags in the metric, so that we keep using the same metric & timeseries but update the metadata for new lat/long values.
* intrinsic or extrinsic is hard to say, or may change over time, or is use case (information need) dependent -> instead of using timeseries metrics, doing this as logs where every tag field is always explicit in every record, is a model that maps cleaner to these use cases, and you can do analytics over your logs in a way that maps to the given information need.