Any suggestion of using kibana to create a burndown chart?


(Peng Chen) #1

Hi,
I'm looking to see if it's possible to create burn down chart with Kibana. So for a burndown chart, it can be defined as open issue of the day(time), which means count or sum specified fields, aggregate with time/date, and filter out the resolved ones of each day/time.
Is it possible to provide some suggestion or example to see if this is achievable?


(Peter Pisljar) #2

Burnout charts are not available out of the box, but you might be able to achieve the same with timelion or tsvb ?

If i understand correctly, you want a date histogram (with daily interval). For metric you want to select sum of some field. Now the only problem this has is that its not filtering out the resolved ones ?
add a query to the query bar with something like status: resolved


(Peng Chen) #3

Thanks for the suggestions, I will try this and let you know


(Peng Chen) #4

Hi Peter,
Sorry I have been reading docs and still have trouble to figure out a clue how to construct the query. Logically it can be calculated in following steps:

  1. get the date range, interval by day, so here is what I did, seems working:
    {
    "aggs": {
    "updated_over_time": {
    "date_histogram": {
    "field": "updated",
    "interval": "day"
    }
    }
    }
    }

it give me buckets like this:
"buckets": [
{
"key_as_string": "2015-09-30T00:00:00.000Z",
"key": 1443571200000,
"doc_count": 1
},

  1. Compare all the documents with field "Created" against the data range, if the created date is smaller that date in each data range bucket, then it counted, if created date is larger than the date in each bucket, then it's not counted.
    I'm kind of stuck here, couldn't figure out a way to use the key in bucket as a variable for comparasion.

  2. Compare all documents with field "resolved" against the data range, if resolved date is larger than the date in each bucket, then it's counted.

  3. Use the total created count to deduct the resolved count in each bucket, this will be opened issue count in that bucket, and this number can be used to create the burndown.

I tried to figure out a way to achieve this by reading the doc, but really have no clue. Is it possible to give me some hint or point me to the learning source?

Thanks!


(Peng Chen) #5

Post some progress here:
I manage to get 2 date_histogram, 1 is accumulated count for created issues by day, the other is accumulated count for resolved issues by day, is there way to have created issue - resolved issue, then the remaining ones should be the opened ones by day.


resolved


(Peng Chen) #6

Sorry for the spam, reply to this thread again, so I tried to
GET _search
{
"size": 0,
"aggs": {
"result": {
"terms": {
"script": "'trick'"
},
"aggs": {
"updated_dates":{
"date_histogram": {
"field": "updated",
"interval": "day"
}
},

    "created_count_byDay": {
      "date_histogram": {
        "field": "created",
        "interval": "day"
      },
      "aggs": {
        "created_count": {
          "value_count": {
            "field": "issuetype.name.keyword"
          }
        },
        "cumulative_count_created": {
          "cumulative_sum": {
            "buckets_path": "created_count"
          }
        }
      }
    },
    "resolved_count_byDay": {
      "date_histogram": {
        "field": "resolutiondate",
        "interval": "day"
      },
      "aggs": {
        "resolved_count": {
          "value_count": {
            "field": "issuetype.name.keyword"
          }
        },
        "cumulative_count_resolved": {
          "cumulative_sum": {
            "buckets_path": "resolved_count"
          }
        }
      }
    },
    "final_result": {
      "bucket_script": {
        "buckets_path": {
          "resolvedByDay": "resolved_count_byDay>cumulative_count_resolved",
          "createdByDay" : "created_count_byDay>cumulative_count_created"
        },
        "script": "params.createdByDay - params.resolvedByDay"
      }
    }
  }
}

}
}
but it give me
"buckets_path must reference either a number value or a single value numeric metric aggregation, got: java.lang.Object[]"
Is there any way to merge the 2 multi buckets?


(Peng Chen) #7

Issue resolved with timelion


(system) #8

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.