question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[UI] Improve App background statuses feedback

See original GitHub issue

Preflight Checklist

  • I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Problem Description

Relying on progress bar to make sure that all background services are up/running could be a danger zone. If something went really bad and the process bar was detached (hidden) and you than you notice something isn’t working… you might need to dig into the logs, access the VM and do a bunch of manual process to double check if everything is working.

Proposed Solution

  • Provide a health check endpoint/feature for each services loaded on background e.g: K8s cluster healthz check ( kubectl healthz curl -k https://localhost:6443/livez?verbose)
  • Add a visual system status on the UI (could be a HTML element, but an element that receive a list with all statuses from the services)

Additional Information

Motivator: Currently our E2E tests rely on .progress class element. We’re assuming after the progress bar being detached from the page, it means that all services were properly loaded (k3s, k8s api, VM, and etc). So far, it is working, but it will be much better to have feature that we can ensure all the services were loaded properly or not, without rely on a HTML element (visible/hidden states).

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:8 (8 by maintainers)

github_iconTop GitHub Comments

2reactions
rak-phillipcommented, Jan 12, 2022

I think it would make sense to fit in a red/yellow/green status indicator. I imagine that it could include a dropdown with a status check for each of our services, so that we could easily see where a warning or failure occurred. Making use of a status file could provide us with all the information we need to get a quick heads up about the state of our system, while clicking on any given service could open the respective log for further troubleshooting.

1reaction
janduboiscommented, Jan 12, 2022

I was wondering if it would make sense to write a JSON file with status information to disk (in the log directory) every time the status changes?

To avoid race conditions between writing and reading the file, the data should always be written to a temp file, which then gets renamed to the canonical name. If the rename fails, the error is ignored because the canonical file is probably locked by somebody reading it.

This file could both be used to wait until RD reaches a specific state, and also for inspecting the last state when the app hangs or crashes.

Not sure if this would be helpful for CI and/or QA.

PS: I just noticed that this issue has a [UI] tag in the subject, so this comment is probably off-topic. 😄

Read more comments on GitHub >

github_iconTop Results From Across the Web

Improving Your App's Performance - Apple Developer
Model, measure, and boost the performance of your app by using a continuous-improvement cycle.
Read more >
Background optimization | Android Developers
Optimizing your apps to run on low-memory devices, or in low-memory conditions, can improve performance and user experience. Removing dependencies on background ......
Read more >
A Comprehensive Guide to Notification Design - Toptal
Better Usability Through Better Notification Design ... Notifications serve an essential function in product usability. “Visibility of system status” is number ...
Read more >
10 Tips to Improve UX/UI Design of Web App - TechMagic
Thorough research · Demographic characteristics. They include gender, age, profession, family status, lifestyle, and all related. · Interests and ...
Read more >
Visibility of System Status (Usability Heuristic #1)
Appropriate feedback for a user action is perhaps the most basic guideline of user-interface design. It serves to keep users informed of the ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found