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.
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.
User contributions licensed under CC BY-SA 3.0