Yup, Prometheus is a monitoring system, not a general use time-series
database.

Specifically, Prometheus has a "look back window" where Prometheus will
take the timestamp of your query and look back in time for samples to match.

This is fundamental to how PromQL works.

So no, what you are asking for is not possible. PromQL graph queries base
the X-axis on the input parameters of the range query. The start, end, and
step.

See the documentation on the API:
https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries

On Sun, Aug 29, 2021 at 1:09 PM Stuart Clark <stuart.cl...@jahingo.com>
wrote:

> That very much depends on whatever tool you are using to display graphs.
>
> However it is sounding like Prometheus may not be the right system
> depending on what you are trying to do. Prometheus is a metric system,
> which works by sampling the current state of a system at regular time
> periods, meaning the exact timestamp doesn't generally matter.
>
> It sounds like you are instead wanting to record events - things that
> happen at a specific period of time, not at a regular frequency. For that
> use case you should look at an event store - something like Elasticsearch,
> InfluxDB or a standard relational or no-SQL database.
>
> On 29 August 2021 11:15:44 BST, Prince <princek...@gmail.com> wrote:
>>
>> Is it possible to give a custom timestamp in Prometheus for X-axis
>> <https://stackoverflow.com/questions/68095611/is-it-possible-to-give-custom-timestamp-in-prometheus-for-x-axis>
>> ?
>> Example: I* am getting **my_metric_name *152.401 1630134000012 *at
>> metric endpoint but in Prometheus graph, I am getting the value *152.401* 
>> when
>> it is scraped, but I want it should be displayed at *1630134000012(Saturday,
>> August 28, 2021, 7:00:00.012 AM) *this time in Prometheus graph.*
>>
>> Is it possible? if yes, can you please let me know how?
>> Thank you.
>>
>> On Sunday, August 29, 2021 at 11:06:27 AM UTC+5:30 Prince wrote:
>>
>>> Thank you, understood. I have used the following:
>>>
>>> in Collect()
>>>  *  t := time.Date(2021, time.August, 28, 07, 0, 0, 12345678, time.UTC)*
>>> *    s := prometheus.MustNewConstMetric(c.metric, prometheus.GaugeValue,
>>> float64(s.value))*
>>> *    ch<- prometheus.NewMetricWithTimestamp(t,s)*
>>>
>>> *I am getting **my_metric_name 152.401 1630134000012     *(both things
>>> the value and timestamp), but I am not getting this timestamp in the x-axis
>>> of prometheus graph. Can You please let me how can I get that timestamps in
>>> The x-axis of prometheus graph?
>>>
>>> On Wednesday, August 25, 2021 at 12:49:26 PM UTC+5:30
>>> juliu...@promlabs.com wrote:
>>>
>>>> So NewMetricWithTimestamp() returns a Metric interface object that you
>>>> can then emit from a Collector's Collect() method. See this example from
>>>> cadvisor:
>>>> https://github.com/google/cadvisor/blob/19df107fd64fa31efc90e186af91b97f38d205e9/metrics/prometheus.go#L1931-L1934
>>>>
>>>> You can see more usage example here:
>>>> https://sourcegraph.com/search?q=context:global+prometheus.NewMetricWithTimestamp&patternType=literal
>>>>
>>>> In general, it seems like you are building an exporter (a process
>>>> that proxies/translates existing values into the Prometheus format, in your
>>>> case those existing values are coming from a file), so you are not
>>>> instrumenting the exporting process itself, and thus you probably don't
>>>> want to use the "NewGauge()" / "mygauge.WithLabelValues().Set()" functions
>>>> that are for direct instrumentation of a process. Instead, you'll want to
>>>> implement a Collector interface that just returns a set of proxied metrics,
>>>> as outlined here:
>>>>
>>>> *
>>>> https://pkg.go.dev/github.com/prometheus/client_golang/prometheus#hdr-Custom_Collectors_and_constant_Metrics
>>>> *
>>>> https://prometheus.io/docs/instrumenting/writing_exporters/#collectors
>>>>
>>>> On Tue, Aug 24, 2021 at 7:43 PM Prince <princ...@gmail.com> wrote:
>>>>
>>>>> Thank you, As I understood the  NewMetricWithTimestamp() takes two
>>>>> parameters one the time and the other one is metric. So as my metric name
>>>>> is go_duration, so I did this :
>>>>>
>>>>> *1st way:*
>>>>> *go func(){*
>>>>> go_duration.WithLabelValues("type").Set(12345.678)
>>>>> prometheus.NewMetricWithTimestamp(time_var, go_duration )
>>>>> *}()*
>>>>>
>>>>> *2nd way: *
>>>>> *go func(){*
>>>>>
>>>>> prometheus.NewMetricWithTimestamp(time_var,go_duration.WithLabelValues("type").Set(12345.678))
>>>>> *}()*
>>>>>
>>>>>
>>>>> Using 1st way not getting the timestamp only values are getting
>>>>> scarped.
>>>>> Using 2nd way getting error as: 
>>>>> "go_duration.WithLabelValues("type").Set(12345.678)
>>>>> used as a value"
>>>>> On Tuesday, August 24, 2021 at 10:15:57 PM UTC+5:30
>>>>> juliu...@promlabs.com wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> You should be able to use the NewMetricWithTimestamp() function for
>>>>>> this:
>>>>>> https://pkg.go.dev/github.com/prometheus/client_golang/prometheus?utm_source=godoc#NewMetricWithTimestamp
>>>>>>
>>>>>> Note that client-side timestamps should only be used in exceptional
>>>>>> circumstances, and if you still expect those timestamps to be regularly
>>>>>> updated (because otherwise Prometheus will just collect a dot here and
>>>>>> there and mostly show empty graphs). If that is not the case, consider
>>>>>> omitting the client-side timestamp and instead sending a metric that
>>>>>> includes the last-update timestamp in its sample value (like the
>>>>>> node_exporter does for the mtime metric in its "textfile" collector 
>>>>>> module:
>>>>>> https://github.com/prometheus/node_exporter/blob/b6215e649cdfc0398ca98df8e63f3773f1725840/collector/textfile.go#L38
>>>>>> )
>>>>>>
>>>>>> Regards,
>>>>>> Julius
>>>>>>
>>>>>> On Mon, Aug 23, 2021 at 2:03 PM Prince <princ...@gmail.com> wrote:
>>>>>>
>>>>>>> Hi everyone, I am new to prometheus. I am using type Gauge. I wanted
>>>>>>> to get the timestamp along with the value. It will be great if anyone 
>>>>>>> can
>>>>>>> help on this.
>>>>>>> example:
>>>>>>> go_duration.WithLabelValues("type").Set(12345.678)
>>>>>>>
>>>>>>> so here collector is getting only 12345.678, I am reading this data
>>>>>>> from a file where along with the vale there is a corresponding 
>>>>>>> timestamp is
>>>>>>> there. I want that too.
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Prometheus Developers" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to prometheus-devel...@googlegroups.com.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/prometheus-developers/f365ad0c-75b0-4bad-a75d-3980f0f61669n%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/prometheus-developers/f365ad0c-75b0-4bad-a75d-3980f0f61669n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Julius Volz
>>>>>> PromLabs - promlabs.com
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Prometheus Developers" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to prometheus-devel...@googlegroups.com.
>>>>>
>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/prometheus-developers/a69144c4-cfe1-42d8-9a46-a9fd1230f421n%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/prometheus-developers/a69144c4-cfe1-42d8-9a46-a9fd1230f421n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
>>>>
>>>> --
>>>> Julius Volz
>>>> PromLabs - promlabs.com
>>>>
>>> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Prometheus Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to prometheus-developers+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/prometheus-developers/9C1C3B56-D825-47B3-8738-BF2E502A3E67%40Jahingo.com
> <https://groups.google.com/d/msgid/prometheus-developers/9C1C3B56-D825-47B3-8738-BF2E502A3E67%40Jahingo.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prometheus-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/CABbyFmpKs_5OGusykQCt2KZdwXVsY_K1P7m0CyrfFaYrDGcHSg%40mail.gmail.com.

Reply via email to