heroku/umpire

Smaller ranges (<300) don't consistently return results

mikehale opened this issue · 0 comments

This seems to be an issue with how umpire is querying librato.

For example querying librato directly produces data (with count in the query):

$ curl -n 'https://metrics-api.librato.com/v1/metrics/midgard.requests.event.5xx?count=1&resolution=1&source=com.heroku.midgard.*' | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   520  100   520    0     0   2453      0 --:--:-- --:--:-- --:--:--  2488
{
  "measurements": {
    "com.heroku.midgard.770036": [
      {
        "measure_time": 1456956060,
        "value": 1,
        "count": 120,
        "min": 1,
        "max": 1,
        "sum": 120,
        "sum_squares": 1
      }
    ]
  },
  "resolution": 1,
  "source_display_names": {},
  "name": "midgard.requests.event.5xx",
  "display_name": null,
  "type": "gauge",
  "attributes": {
    "l2met_type": "counter",
    "display_min": 0,
    "created_by_ua": "l2met/304fb673f7ad0e048ae519b030b1dbbf52bdbc36",
    "summarize_function": "sum",
    "aggregate": false,
    "display_stacked": false,
    "gap_detection": false
  },
  "description": null,
  "period": 1,
  "source_lag": null
}

However umpire does not see anything:

$ curl -in 'https://umpire.herokai.com/check?backend=librato&empty_ok=true&metric=midgard.requests.event.5xx:sum:sum&range=60&max=0&source=com.heroku.midgard.*'
HTTP/1.1 200 OK
Server: Cowboy
Date: Wed, 02 Mar 2016 22:07:49 GMT
Connection: keep-alive
Strict-Transport-Security: max-age=31536000
Content-Type: application/json;charset=utf-8
X-Content-Type-Options: nosniff
Content-Length: 94
Via: 1.1 vegur

{"error":"no values for metric in range","request_id":"718fda3d-ca23-4d38-be79-b974e9ab746a"}