Vault Dashboard ideas please!

It’s a toss up. I was keeping it short because those logfile lines are already very long. But if the prefix string was more readable, the messages themselves could be shorter - a bit more work changing them all though.

3 Likes

Awesome initiative. A piece of information I would like to see (and SAFE may need to add logging for it) are received changes in the consensus for PUT/SAFE price, or at least the sectional view of it.

2 Likes

An xyz colormap of chunks stored in the vault based on different criteria such as number of times a chunk has been requested, the age of the chunk, how much safecoin each chunk has earned, how long it’s been since the chunk was requested etc. The chunks could also be arranged on the screen by xor address, (use every even bit to make x coordinate and ever odd bit for y coordinate).

7 Likes

A long time ago I computed vaults (x, y) coordinates this way in Rust in https://github.com/Thierry61/vault_coordinates/blob/master/src/main.rs.

For chunks stored in your vault you have to take into account that their x and y ranges are limited by your section boundaries, so you have to pan and zoom accordingly.

But I don’t know if displaying pixels on a terminal based screen is feasible.

3 Likes

I like dashboards that have the ability to show all the information, but also default to the high overview which is what is most wanted by most people.

But what I hate is where dashboards do not allow finding out details information that is available. For instance one decent VPN (paid for) provider had a dashboard what showed current bandwidth being used. It was very useful for determining comms issues such as videos lagging since one glance showed if high usage was happening because of another program downloading updates or something. But they removed it and now the dashboard has little else and not useful anymore

5 Likes

It would be nice to have this too to show the vaults you are connected to. Different colors for chunk transfers between your vault and theirs, the age of the neighboring vaults, etc. A “vault map” of your local neighborhood or section… might be fun to make it look like radar sweep graphics.

4 Likes

We’ve got a great list of suggested metrics and insightful comments on how to create a great dashboard, thank you @davidpbrown, @dirvine, @Knosis, @JimCollinson, @mav, @drehb, @dask, @jlpell and @neo. I’ve added everything mentioned to the OP, and a couple more thoughts as notes for myself arising from the comments which were very helpful.

It’s not to late to add to this list, but I also have a mini challenge to help me home in on the key areas for each of you. If you’re up for it, re-read the original post and reply with your suggestions for the following parts of the dashboard (v1).

>>> It’ll help if you copy the following into your replies and edit it: <<<

To clarify, I’m suggesting we fit two bar (or line) charts in the larger box at the top (hence Graph1 top middle, and Graph 2 top right), and asking whether these should be arranged vertically or horizontally. My disk space example is not the best, so while it’s quite nice to show disk use things as a two colour bar, I’m changing it to “eg. Number of GETs / PUTs / relayed chunks / other messages over the last hour”).

### Status Summary - top left
The five most important numeric values to list in are:

### Graph1 - top middle
Vertical/Horizontal?
Bars showing the following comparisons (eg. Number of GETs / PUTs / relayed chunks / other messages over the last hour):

### Graph2 - top right
Vertical/Horizontal?
Bars showing the following comparisons (eg. Number of GETs / PUTs / relayed chunks / other messages over the last hour):


### Timeline - across middle
The two most important values to show together along the horizontal timeline are:
3 Likes

No. 1 Relative capacity of the vault. Customise for % or Used/total bar graph or figures or both
No.2 Earnings (Total so far, last 24 hours)
No. 3 Number successful GETs and maybe unsuccessful ones with breakup like above.

Maybe the breakup could be total, last month, last week, last 24hours.

EDIT: Sorry just realise you wanted it in a special format. Its late here and if needed will redo

1 Like

bit confused that you’re now suggesting three elements at top; so, below suits just two and I’m not quite settled on what’s suggested and where… the ideal of a network map for the local section is nice for detailing number of elders and reducing detail on the main page.

Three elements perhaps obviously are [Vault; Network; and System], suggesting the state of the vault; the place in the network; and the stress on the local system.

Will elders earn significantly different to other vaults?.. that tempts suggestion of the time that it’s been as elder… and is there a way to estimate time till it becomes an elder?

Status Summary - top left

The five most important numeric values to list in are:

  • Vault name=location & size - eg /dev/sda1 500GB
  • Vault state [elder or noob or initialising; or whatever other]
  • Vault uptime
  • Network peers & location section name (could be just total sum and leave detail for the map of local section)
  • Safecoin [total (+pending)]

Graph1 - top middle?

Vertical/Horizontal?
Bars showing the following comparisons (eg disk space allocated, used):

  • Safecoin earnings over time as motivator.
  • Count down to becoming an Elder; or count up from being an Elder (if those are a real prospect for all vaults - otherwise perhaps becomes a negative tease??)

Graph2 - top right

Vertical/Horizontal?
Bars showing the following comparisons (eg disk space allocated, used):

  • Vault space used/total
  • Network throughput total upload/download
  • CPU/RAM current and ?max for process in case that is peaking on occasion??

Timeline - across middle

The two most important values to show together along the horizontal timeline are:

  • Network throughput total upload/download
    I think this more important than safecoin, as the activity perhaps will be erratic and the pattern might be more useful to encourage thinking on what resources are provided and how those are performing?

?

3 Likes

perhaps off topic but I wonder the motivation for users to not turn vaults off and on frequently.

If there was a status that is trusted and not new; so, a state between new and elder, that perhaps could encourage that vaults are not turned off.

Many vaults perhaps will be started by those who have not read the manual and understanding the importance of effort to always be connected, perhaps important… and then ontopic this dashboard could communicate that…

1 Like

I’ve added this, so hopefully a bit clearer:

To clarify, I’m suggesting we fit two bar (or line) charts in the larger box at the top (hence Graph1 top middle, and Graph 2 top right), and asking whether these should be arranged vertically or horizontally. My disk space example is not the best, so while it’s quite nice to show disk use things as a two colour bar, I’m changing it to “eg. Number of GETs / PUTs / relayed chunks / other messages over the last hour”).

Your suggestions look fine as they are though.

You make a good point about educating users here which I’ve missed, and will add to the OP. I’m not sure how vdash can help with the specific point (encouraging uptime) so open to ideas on that. FYI there are three states (Infant, Adult, Elder).

Maybe we should annotate those: Infant (waiting to earn) / Adult (earning) / Elder (earning most). Might help a bit, but how to convey the need to not shut things down - I could display a message on starting vdash or in the help, but that could better be done by the Safe App which most people will be using to run a vault.

3 Likes

The other motivator would be a leaderboard but I don’t know if that information will be communicated in section or across sections. Some visibility of what the normal is and the vaults relative position to that might be very useful… I seem to recall a long while back talk of reward being geared to the normal but how the network resolves what that is or if it’s changed now, I don’t know.

Longest uptime and most productive [name kudos].sorted-desc

2 Likes

If the vaults go offline the intent is that they lose age and get demoted. From this earning rates may also go down significantly. All of this gives pressure to stay online 24/7 to become an elder.

I would vote against MaidSafe incorporating gathering statistics off other vaults to allow the dashboard to show where a vault ranks within a section or whole network.

For one it opens a privacy leak no matter how little.

Also as importantly it means that a theory could go around that restarting the vault will eventually get your comparative stats up. Without the measure then there cannot be that theory based on actual figures. Restarting vaults too much unnecessarily will hurt the network due to bandwidth and having to relocate chunks so often

Also reduces unnecessary competitiveness and people thinking their 1 coin a week earning vault is not worth the trouble and just not participate. I imagine that a fair percentage of vaults will be below average (actually 49.99%) and people do not usually like to think their vault/car/whatever is below the 10% mark of everyone else.

Imagine over 3 months the lowest 10% just give up. This would hurt the network.

I am assuming for the above that there is some minimum performance vaults have to meet.

4 Likes

Wouldn’t vault age be ok? Although maybe not ok if you want to protect the elders from out of band. Not an issue if vault ip address is protected though.

1 Like

The elders need this info so it is exposed to at least the elders. And one could argue that people would not want to restart an elder. So maybe a special section for elders in the dashboard.

If the dashboard for elders did not show this then someone would mod the code and expose it for a modded dashboard anyhow. So may as well show it.

If users who have an elder node can see this information about the section then they may want to keep their node up longer because they feel more special/wanted.

1 Like

12 posts were merged into an existing topic: How short is a “short period of downtime”?

Sorry to take a while to get back.

Status Summary - top left

The five most important numeric values to list in are:

  • Vault info like @davidpbrown but with net interface. e.g. 500GB in /dev/sda1/safe_1/ @ eno3
  • State and uptime can be combined (e.g. Adult : 1w2d3h4m)
  • Safe earned (maybe balance)
  • Numb of unread SAFE mails :slight_smile:
  • Current SAFE/PUT ratio

Graph1 - top middle

Vertical/Horizontal?
I wouldn’t add another graph in the middle, rather keep it simpler

Graph2 - top right

Vertical.

  • Space Used/Allocated

Timeline - across middle

The two most important values to show together along the horizontal timeline are:

  • Network throughput
  • CPU, memory use.
2 Likes

No worries about the short delay (writing the code is taking time too!), and thanks very much for responding.

It’s good to get so much specific input from everyone. What I do in the short term will be a mix of the ideas here, plus what is available in the logfiles, and to some extent what is most interesting to code (as this is a Rust learning project as well as a practical tool).

In the medium term this topic is a good quick reference to help develop the initial specification of the dashboard, and input for Maidsafe should they want to provide an API for metrics such as proposed by @mav.

One thing that many have asked for is resource monitoring (bandwidth, CPU, disk space) for obvious reasons. Most of that will come after my work using the logfile because obtaining those stats requires adding a new module to the application. Initially, I’m going to focus on what I can get from the logfile and have been spending some time looking at what is and isn’t there. There’s quite a lot I don’t understand yet, but yesterday I found how to gather a lot of detail on vault activity, and think I’ll see what I can do with that first.

For example, I could try making a timeline composed of a two or three part vertical bar per time slot showing GETs/PUTs/Other activity. I’m not sure if that will work with the graphics, so it will be exploring several ideas at once. Later I can look at how to bring things like bandwidth and CPU load into this so both can be compared, and earnings when these are available.

I’m writing code to extract the vault activity from the log at the moment, but it may take me a while to get those into a graph for the timeline as I’ve not tried coding anything like that yet.

I’m thinking that vdash may have a secondary function of helping understand what is in the logfile, and that this of course helps the more primary function of providing vault monitoring using the information I find in there. So I may spend time on the secondary aspect before continuing with the primary. Maybe I will add a dash board page that is more about showing what’s in the logfile in terms of messages, and the things they reveal (such as vault IDs). For example, league tables of peer IDs, activity messages, etc

If anyone has time to look through the logging and make suggestions, please do as I think I may well miss some useful nuggets, there’s so many different things in there.

FYI I’m currently setting the logging level to ‘debug’ although most detail is available with level ‘info’, and I turn logging down to ‘error’ for quinn which is just too chatty! Info on how to set vault log levels is included in the vdash README.

Anyway, thanks again everyone. I’ll publish an early version of the app with instructions on how to play with it before long I hope.

EDIT: thank you @jlpell for tidying up the topic, it helps me if we keep it focused while linking to relevant discussions that go into more depth. Better get coding!

5 Likes

I had an attempt at a trivial tweak to vdash - the itch to be scratched is the order of PUTS GETS and ERRORS in the Status box does not match the order as shown in the timeline. So I thought " How hard can this be?"
To which the answer is “Harder than you thought, ya clown”

GitHub - safenetwork-community/vdash: Safe Network Vault Dashboard builds OK but will only load a single logfile and even when it displays that, the order of PUTS and GETS still troubles my OCD.
Im going to stick to bash, I think.

Sorry @happybeing

4 Likes