Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Table Panel slows down browser with large number of fields #719

Closed
bryanyork opened this issue Nov 22, 2013 · 8 comments
Closed

Table Panel slows down browser with large number of fields #719

bryanyork opened this issue Nov 22, 2013 · 8 comments

Comments

@bryanyork
Copy link

Hello,

Here's another request. The Table Panel slows down my browser considerably now that I have a large number of fields. (I have around 2700 fields!)

I think it might have something to do with autocomplete? Not sure. But it's making my Kibana dashboards almost unusable. :-(

Any pointers here?

Thanks,

-Bryan

@otisg
Copy link

otisg commented Nov 22, 2013

Out of curiosity - 2700 fields? What sort of data are you looking at with Kibana?

@bryanyork
Copy link
Author

Heh, I suppose I should start making separated indexes for this stuff. Right now I'm throwing a lot of product eventing data into this. (Which can be crazy.) In addition all Load Balancer logs etc. (We're a big property...)

The main issue is probably the fact that Kibana doesn't support nested JSON the way I want, so I flatten my nested JSON which creates A LOT more fields.

See #677 as to why I'm flattening my JSON.

@bryanyork
Copy link
Author

My gut feeling is that this is related to autocomplete, and if I can turn that off, that'd be great.

@rashidkpc
Copy link
Contributor

this is caused when Kibana tries to determine the available fields in the table. It does this by looping over the events and extracting the keys. With 2700 fields, and 100 rows in the table we're talking 270,000 keys to extract. I've been trying to figure out a more efficient way since even with 200 or so fields there's a lot of overhead to that process.

@octplane
Copy link

Also another idea I just had could be to perform some work (such as counting and flattening) inside a webworker. The huge advantage is that webworkers perform their work outside the main run loop and are not "supposed" to slow down the browser GUI. Also it's possible to pass some data to these object quite quickly in some conditions...

rashidkpc pushed a commit to rashidkpc/kibana that referenced this issue Dec 2, 2013
rashidkpc pushed a commit that referenced this issue Dec 2, 2013
Improve performance in the table. Re #719 and #732
bpezan pushed a commit to bpezan/kibana that referenced this issue Dec 4, 2013
* master:
  Moved doc task to the end of the default task chain
  removed y_as_bytes, replaced with y_format
  Remove console.log
  Closes elastic#538. Closes elastic#722
  Potential fix for elastic#621
  More small table performance improvements
  Improve performance in the table. Re elastic#719 and elastic#732
  Remove idQueue from filter and query services in dashboards
  Eliminate idQueue property from filterSrv and querySrv. Replace with binary search for smallest id. Closes elastic#730. Closes elastic#739
  Skeleton API docs
  Doc updates
  Added scratchy tasks and config.js docs
  Bytes should not be default
  Fixing unsafe html binding
  fixed numeric terms in topN query
  do not auto-enable saved filters
@xianfengyuan
Copy link

I stil see the problem with 15097 fields. Is there a way to filter the unwanted fields?

@xianfengyuan
Copy link

related issue:

#847

@tbragin
Copy link
Contributor

tbragin commented Nov 9, 2016

Judging by the date when this was filed, I believe this issue is related to Kibana 3 table panel. Refer to the following issue dealing with displaying large number of fields in a document table in Kibana 4: #6328

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants
@octplane @otisg @tbragin @rashidkpc @bryanyork @xianfengyuan and others