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/651714ad-7d18-4caf-a19e-6b322610a1bdn%40googlegroups.com.

