Per thread event visualization from logfile using Kibana


Log records of the following shape produced by a multi-threaded application are pushed to my elasticsearch index 'log':

[2015-10-09T09:52:18.928] [Debug] [00000x2934 0x000026c0] [Visualization]: updated rendering
[2015-10-09T09:52:19.966] [Debug] [00000x2934 0x000013a0] [Database]: Query request accepted

The two hexadecimal entries are process and thread ID.

A document in the elasticsearch index looks like this:

    "_index": "log",
    "_type": "record",
    "_id": "AVBXUnCah58TK-z65dea",
    "_score": 1,
    "_source": {
        "process": "00000x2934",
        "severity": "Debug",
        "thread": "0x000026c0",
        "recordId": 1,
        "timestamp": "2015-10-09T09:52:18.928",
        "message": "updated rendering",
        "channel": "Visualization"

How can I create a Kibana visualization that has a time range as X axis and on its Y axis it has entries for the different thread IDs (in my application there is a thread pool with a fixed number of threads, <= 10). There should be a point (X/Y) for such an event with appropriate information (message or channel).

To make it short: How can I visualize the chronology of a multithreaded application by its events using this search index and Kibana?

One additional note: If there is an easy solution without Kibana, I am also okay with that. It doesn't need to be real-time.

asked on Stack Overflow Oct 11, 2015 by Daniel

1 Answer


I feel Gantt Chart might be useful to you. You can have one entry in Y axis per thread and visualize its function in each time frame. This is not available in Kibana4 as of now , but we can expect this in the future.

answered on Stack Overflow Oct 12, 2015 by Vineeth Mohan

User contributions licensed under CC BY-SA 3.0