Skip to content
This repository was archived by the owner on Mar 7, 2018. It is now read-only.
This repository was archived by the owner on Mar 7, 2018. It is now read-only.

Dashing Maintenance #620

Open
Open

Description

@pushmatrix

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.

  • Investigate memory leaks and performance issues
    Memory leaks are causing low-memory devices like the PI to crap out after a while. Let's take a look at where these are happening, and nip them in the bud. There are also issues with the list/number widget where raspberry PIs are not able to render them within ugly flashing on the screen. Let's see if we can optimize that.
  • Switch to Puma
    Thin is causing many issues, and we' like to investigate using Puma. One added benefit is now Dashing can run on jruby!
  • "Inbox-zero" the issues/pr list
    Let's go through the PR list and figure out which ones should be included. Also, let's close up old issues and ones that don't deal with issues in dashing itself. Non-related issues should be sent to Stack Overflow.
  • Convert app.rb to use a classful sinatra approach instead of the current classless one.
    Makes it easier to monkeypatch and extend.

Activity

  1. agassner commented on Oct 6, 2015

    @agassner

    +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

  2. pushmatrix commented on Oct 6, 2015

    @pushmatrix
    MemberAuthor

    @agassner How much memory?

  3. agassner commented on Oct 6, 2015

    @agassner
  4. pushmatrix commented on Oct 6, 2015

    @pushmatrix
    MemberAuthor

    Is your box crashing or is the browser tab crashing?

  5. agassner commented on Oct 6, 2015

    @agassner

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

  6. robacarp commented on Oct 6, 2015

    @robacarp

    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?

  7. terraboops commented on Oct 7, 2015

    @terraboops
    Contributor

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

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

  8. terraboops commented on Oct 12, 2015

    @terraboops
    Contributor
    • Add therubyracer gem in a sensible fashion to enable JS engine portability on Linux
  9. mal commented on Oct 12, 2015

    @mal

    +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! ;(

  10. MartynKeigher commented on Oct 24, 2015

    @MartynKeigher

    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

  11. robacarp commented on Oct 26, 2015

    @robacarp

    @MartynKeigher thanks, i'll have a look

  12. pushmatrix commented on Oct 27, 2015

    @pushmatrix
    MemberAuthor

    @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.

  13. davidhrbac commented on Jan 31, 2016

    @davidhrbac

    +1 for the memory leak issue.

  14. simzen85 commented on Feb 3, 2016

    @simzen85
  15. terraboops commented on Feb 3, 2016

    @terraboops
    Contributor

    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.

  16. terraboops commented on Feb 3, 2016

    @terraboops
    Contributor

    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.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions