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 > [email protected] 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 <[email protected]> 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 >>> [email protected] 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 <[email protected]> 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 [email protected]. >>>>> 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 [email protected]. >>> >> 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 >> > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/24b3018c-c77e-42ab-8b7e-6e5009b01d87n%40googlegroups.com.

