Shopify / dashing

The exceptionally handsome dashboard framework in Ruby and Coffeescript.
http://shopify.github.com/dashing/
MIT License
10.98k stars 1.18k forks source link

Dashing Maintenance #620

Open pushmatrix opened 8 years ago

pushmatrix commented 8 years ago

Here is an outline of the next tasks that @tylermauthe and I will be looking at for Dashing. We'll be trying to tackle one of these a week, and we'll be posting our findings here.

agassner commented 8 years ago

+1 for the memory leak issue. Running dashing in a docker container with limited memory has been quite a challenge. After a quick investigation it seems that rufus scheduler could possibly be the reason - keeping objects referenced and not allowing them to be GC'd

pushmatrix commented 8 years ago

@agassner How much memory?

agassner commented 8 years ago

@pushmatrix 512MB

pushmatrix commented 8 years ago

Is your box crashing or is the browser tab crashing?

agassner commented 8 years ago

Box(server) is crashing. Browsers are in multiple screens(separate machines) showing different dashboards and all working fine.

robacarp commented 8 years ago

hey @pushmatrix, you said you're running dashing on puma back at Shopify. I spent some time reading through the puma-related issue chatter and don't see a certain path forward (some people report success, while others don't). What method are you using to launch with puma instead of thin?

terraboops commented 8 years ago

@agassner - We're investigating memory leaks in the client side.

@pushmatrix - Maybe we should update Rufus to the latest? (#237)

terraboops commented 8 years ago
mal commented 8 years ago

+1 for server leaks

I've had to limit the server to 1 gig of memory, it now crashes every hour or so, but previously it was taking out the entire machine it's on! ;(

MartynKeigher commented 8 years ago

Hey @pushmatrix and @tylermauthe!!

Was wanting to know when the switch to PUMA is on the roadmap! This month, next month, Xmas? I'm loving dashing more and more, and as i add more and more... that need for puma is, well... ya know! ;p

That (swith to puma) along with FontAwesome 4.4 being put into the master branch are my 2 items for a HUGE +1!

FWIW: Here is a step by step I did to switch to the current master (at the time of this post) to Puma... http://pastebin.com/6LvgBFmb (cc: @robacarp)

Keep up the awesome work guys!!

://mk

robacarp commented 8 years ago

@MartynKeigher thanks, i'll have a look

pushmatrix commented 8 years ago

@robacarp I unfortunately was mistaken. I thought we were running Puma at Shopify, but it turns out we aren't :(. It was a discussion a few ops peeps had and I had thought they switched it, but didn't. Sad...

I will have to look into it further then. I'd like to have Puma in shortly. Can't give an exact date @MartynKeigher, but will look into your pastebin. Thanks for putting that together.

davidhrbac commented 8 years ago

+1 for the memory leak issue.

simzen85 commented 8 years ago

This is what dashing does to my MBP https://monosnap.com/file/xHVCgRgST7Qp7U8NjcaHS5NPVs8lbx

terraboops commented 8 years ago

Doing this helped me out, I was hitting memory caps on a Heroku free dyno: https://github.com/Shopify/dashing/wiki/How-To:-Prevent-a-job-from-overlapping-with-itself

Based on some anecdotal testing of my own, I've become convinced that the memory leak I was experiencing was related to my jobs. If you're doing something like creating an array outside your job and filling it indefinitely during your job, you're going to have problems eventually. However, I couldn't find anything obvious like that -- though it may be that a library I was using does something like that.

terraboops commented 8 years ago

Also: Sorry about the delays on Puma everyone, life happens. I took the work done in #427 and updated to the latest release here: https://github.com/tylermauthe/dashing/tree/puma_server

I will endeavour to clean up the outstanding isues (outlined in #427) by the end of Feb.