-
Notifications
You must be signed in to change notification settings - Fork 47
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
Use an alternative server to solve caching issues & frozen dashboards (replace thin with puma/webrick/unicorn) #47
Comments
The main problem atm is that the Dashing gem itself depends on thin in various hardcoded paths. Unless someone forks and patches that, you cannot solve this and other problems. |
Since someone asked on Icinga Camp - Smashing as a fork of Dashing does not solve the problem. Their repository doesn't contain valuable fixes in this regard, and technically is more or less the same. For the time being, this is an unsolved problem. |
Worth reading: https://medium.com/@whale_eat_squid/why-http-2-isnt-the-answer-35ba28ad8dc3 According to @LordHepipud Microsoft doesn't have SSE enabled in its browsers (IE, edge) but Chrome, etc. seem to work flawlessly. Edge on Android works too. |
OptionsPumaWhile researching a bit for #62 I've found different other problems with streaming servers, e.g. Puma in combination with the Sinatra framework. Related note - Dashing runs as Sinatra app in a server (thin hardcoded), alternative servers to be evaluated. Thin + Sinatra use the Eventmachine library to support http long polling / streaming, which doesn't work on Windows with Edge/IE as SEE (server sent events) are not implemented by MS. http://thelazylog.com/long-polling-with-puma-rails-4-and-server-sent-events/
Dashing and Pumasinatra/sinatra#1035 (comment) provides detailed insights on the problems with implementing Puma and Sinatra streaming. That explains why Dashing did not implement it any sooner, or why there's no development effort in this regard. Shopify/dashing#677 (comment) also mentions SSE problems without a relation to either Thin, Puma, etc. so #62 clearly is a separate issue. If one would want to use Puma, which seems to work stable, needs to use an unreleased branch. UnicornUnicorn doesn't seem to be an alternative, as many threads suggest to not go for websockets et al. Discourse implements Unicorn, but doesn't use websockets. https://samsaffron.com/archive/2015/12/29/websockets-caution-required RailsI'm toying with the idea to make use of this project: https://github.com/gottfrois/dashing-rails This would require more overhead with Rails and Redis, on the other hand it might solve a bunch of problems.
Still a no-go until #62 is resolved. SmashingSmashing/smashing#64 got rejected for using Puma. Reasoning is the above linked PR on Dashing and issues with Sinatra. Smashing/smashing#93 makes it even more clear that it is not Puma, but Sinatra related. And that is the inner core of what Dashing depends on being an app for it. ConclusionStreaming in Sinatra seems broken, SEE is not supported by MS, Puma as an alternative doesn't work, Smashing doesn't implement any of these changes for that very reason. We'll have to wait and see. |
New candiate maybe? |
Thanks. My new strategy is to focus and enhance Icinga Web 2 dashboards, adopted in the way Dashing has its advantages. The disadvantages for Dashing are clearly the Ruby framework, dependencies and the websocket "thing". Therefore I'll doubt that there will be much changes to this project in the future. |
I've left the Icinga project after some discussions, just in case you are wondering where the web dashboards would be in the future. In the future I'll be working on Prometheus and other open source projects in the cloud native area. Dashing is something which will be replaced by Grafana, and likewise, GitLab dashboards too. |
Expected Behavior
Possibly works on all clients with no more "frozen" dashboards.
Current Behavior
Possible Solution
Replace the dashing gem with a different server.
I fear that dashing code changes are required which are not part of this project, but upstream (which is dead, and smashing does not have this sort of patches, see Smashing/smashing#31 for example).
Context
This is the working issue for #15 #29 #7
References:
Possible additional fixes:
The text was updated successfully, but these errors were encountered: