topk(1, kube_job_created{job_name=~"some-cron-job.+"}) == on(job_name) group_right kube_job_status_succeededkube_job_created
kube_job_created{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579306020",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1579306021
kube_job_created{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579392420",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1579392432
kube_job_created{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579478820",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1579478825
kube_job_created{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579565220",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1579565232
...kube_job_status_succeeded
kube_job_status_succeeded{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579306020",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1
kube_job_status_succeeded{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579392420",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1
kube_job_status_succeeded{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579478820",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1
kube_job_status_succeeded{endpoint="http",instance="100.106.0.21:8080",job="kube-state-metrics",job_name="some-cronjob-1579565220",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1
...time() - kube_job_created{job_name=~"some-cron-job-.+"} < 3600{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580200800",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 3199.5999999046326
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580201400",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 2607.5999999046326
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580202000",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 2000.5999999046326time() - kube_job_created{job_name=~"some-cronjob.+"} < 3600 * on(job_name) group_right kube_job_status_succeeded{job_name=~"some-cronjob.+"}Error executing query: invalid parameter 'query': parse error at char 142: vector matching only allowed between instant vectorstime() - kube_job_created{job_name=~"some-cronjob.+"} * on(job_name) group_right kube_job_status_succeeded{job_name=~"some-cronjob.+"}
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1576761000",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1580204721.851
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580199000",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 5719.851000070572
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580199600",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 5112.851000070572Hey Brian, many thanks for your response. I thought the operator intends to compare the labels, not the values. If I use * the query works fine.
I have one follow-up question for that. The query I have right now only tells me about the result of the last job. I now want to extend that to give me the results of all jobs of the last x hours.I use the following query to get all jobs that were created up to one hour agotime() - kube_job_created{job_name=~"some-cron-job-.+"} < 3600which results in{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580200800",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 3199.5999999046326
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580201400",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 2607.5999999046326
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580202000",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 2000.5999999046326If I try to use that query as the left part of my original query like thistime() - kube_job_created{job_name=~"some-cronjob.+"} < 3600 * on(job_name) group_right kube_job_status_succeeded{job_name=~"some-cronjob.+"}which results in the following errorError executing query: invalid parameter 'query': parse error at char 142: vector matching only allowed between instant vectorsI guess the left part of the query is not an instant vector anymore, but I don't know what other type it is then? To me, it still looks like an instant vector (see the result above).
If I omit the <3600, the query works again, but I'm not sure how to interpret the result then. The result looks like that:time() - kube_job_created{job_name=~"some-cronjob.+"} * on(job_name) group_right kube_job_status_succeeded{job_name=~"some-cronjob.+"}
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1576761000",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 1580204721.851
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580199000",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 5719.851000070572
{endpoint="http",instance="100.118.0.24:8080",job="kube-state-metrics",job_name="some-cronjob-1580199600",namespace="some-namespace",pod="prometheus-operator-kube-state-metrics",service="prometheus-operator-kube-state-metrics"} 5112.851000070572The kube_job_status_succeeded value of the first job (some-cronjob-1576761000) is 0, but in the result above the value is 1580204721.851. Just for my understanding, shouldn't this also be 0, because it multiplies something with 0?