View Issue Details

IDProjectCategoryView StatusLast Update
0005651GNUnetotherpublic2020-10-29 11:22
Reporteric.rbow Assigned Toschanzen  
Status acknowledgedResolutionopen 
Summary0005651: CLI list output lack sorting
DescriptionConfusing me most often:

$ gnunet-transport -in
Peer `3969': tcp tcp.
Peer `7WRD': tcp tcp.
Peer `DSTJ': tcp tcp.
Peer `Y1TA': tcp tcp.

$ gnunet-statistics
          nse # nodes in the network (estimate): 203
          nse # flood messages transmitted: 12
    transport # requests to create session with invalid address: 10
    transport # Addresses given to ATS: 14
           fs # query messages sent to other peers: 704
         core # bytes of messages of type 1007 received: 104
    transport # bytes transmitted via TCP: 20183531
    transport # address revalidations started: 55
     hostlist # valid HELLOs downloaded from hostlist servers: 18
           fs # query plan entries: 972
          ats # reservation requests processed: 798
    transport # PONGs unicast via reliable transport: 4
          nse # peers connected: 5
           fs # GET requests received (from other peers): 8260
         core # bytes of messages of type 137 received: 62192

$ gnunet-peerinfo
    Expires: sam fév 16 12:25:25 2019 udp:10:0

    Expires: end of time tcp:12:0
    Expires: end of time tcp:24:0
    Expires: end of time http_client:34:0
    Expires: end of time http_client:59:0
    Expires: end of time https_client:35:0
    Expires: end of time https_client:60:0

    Expires: dim mar 17 05:55:35 2019 udp:10:0

    Expires: dim mar 17 06:40:08 2019 udp:22:0
    Expires: jeu mar 14 05:37:17 2019 udp:22:0
    Expires: jeu mar 14 02:50:44 2019 udp:22:0
    Expires: mer mar 13 15:12:49 2019 udp:22:0
    Expires: dim mar 10 09:47:23 2019 udp:22:0

^-- this one is extra-naughty because it is un-|sort-able.

$ gnunet-config --list
The following sections are available:

Runners-up: ats, cadet, identity.
TagsNo tags attached.



2019-03-20 23:55

developer   ~0014227

I think these are several tickets in one.
You are asking for output which can be sorted and filtered.
You are also asking for sorted output in general.
And you are asking for it for several subsystems and binaries.


2019-03-21 09:29

reporter   ~0014228

My main concern is "listings that could be reasonably expected to be sorted, should be". Indeed, it is about user experience, not binaries.

Maybe there is some order already and this is a documentation issue. I simply don't know how to approach this yet.


2019-04-01 14:00

developer   ~0014242

I think we have to sort in 2 categories here. The output of what I call usage() function in my own applications is as far as as I remember the product of two functions: 1 is generic, shared command line functions, 2 is specific command line functions which aren't shared between applications.


2019-04-01 14:01

developer   ~0014243

Nevermind, this was about output of command line functions, not the output of the listing of the functions.

Christian Grothoff

2019-06-21 21:24

manager   ~0014562

Fixing any of these will require quite a bit of extra work as the APIs for various reasons don't return sorted lists, and sorting the output before printf'ing would require buffering everything in memory first. That'll increase memory consumption (bad on embedded systems, extra failure cases) *and* require quite a bit of extra code. So I'm a bit torn whether this is a good idea. Sure, it improves UX a bit, but really in the end command-line tools are more for developers and not "picky" users.

Christian Grothoff

2019-06-21 21:24

manager   ~0014563

I should clarify: i'm asking for further opinions here.


2019-06-22 19:27

reporter   ~0014568

I agree on the API part. Embedded makes things this this messy.

CLI output is a sure way to troubleshoot your node when the things go unexpected ways. I'm pretty sure tools are obliged to remove unnecessary "unexpectedness". Especially in dire times when you need your answers fast and with as little noise as possible.

An alternative would be a very UX-intensive CLI to all the APIs provided by the GNUnet node. Perhaps it *is* the way to go. Especially if written in a more high-level language.

Issue History

Date Modified Username Field Change
2019-03-16 18:06 ic.rbow New Issue
2019-03-20 23:55 nikita Note Added: 0014227
2019-03-21 09:29 ic.rbow Note Added: 0014228
2019-04-01 14:00 nikita Note Added: 0014242
2019-04-01 14:01 nikita Note Added: 0014243
2019-06-05 19:01 Christian Grothoff Target Version => 0.11.6
2019-06-21 21:24 Christian Grothoff Note Added: 0014562
2019-06-21 21:24 Christian Grothoff Note Added: 0014563
2019-06-21 21:25 Christian Grothoff Status new => feedback
2019-06-22 19:27 ic.rbow Note Added: 0014568
2019-06-22 19:27 ic.rbow Status feedback => new
2019-07-07 21:25 Christian Grothoff Target Version 0.11.6 =>
2020-10-29 11:22 schanzen Assigned To => schanzen
2020-10-29 11:22 schanzen Status new => acknowledged