I never looked into it really closely but one of the reasons I moved from Prometheus to InfluxDB was Prometheus wants to timestamp observations at time-of-collect, while all my (batch) jobs want to publish an observation with a stated timestamp.

Prometheus metrics exposition format supports user-defined timestamps [1]. There is an alternative time series database - VictoriaMetrics - which supports data ingestion in Influx line protocol, while providing Prometheus querying API with PromQL [2].

[1] https://godoc.org/github.com/prometheus/client_golang/promet...

[2] https://github.com/VictoriaMetrics/VictoriaMetrics/