View Issue Details

IDProjectCategoryView StatusLast Update
0005651GNUnetotherpublic2022-02-22 23:09
Reporteric.rbow Assigned To 
PrioritylowSeveritytweakReproducibilityalways
Status acknowledgedResolutionopen 
Summary0005651: CLI list output lack sorting
DescriptionConfusing me most often:

$ gnunet-transport -in
Peer `3969': tcp tcp.0.46.188.6.64:2086
Peer `7WRD': tcp tcp.0.47.220.150.33:2086
Peer `DSTJ': tcp tcp.0.131.159.74.67:2086
Peer `Y1TA': tcp tcp.0.80.108.54.113:2086

$ 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
Peer `ZTSX4HMFAFTKDFWBFDCBDZ3NS2MQBE11QCRTMY09H4H21HC6WJMG'
    Expires: sam fév 16 12:25:25 2019 udp:10:0

Peer `V8XXK9GAN5ZJFRFQP8MQX3D83BZTSBQVHKWWD0JPE63Z821906EG'
    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

Peer `SQHVHT879BJ4GC29YG98AV6WSWNA1MHJDBD4X13J50RP0XDPPDKG'
    Expires: dim mar 17 05:55:35 2019 udp:10:0

Peer `ZRSDS1MTQP39A9SVDHASFMFKY2NA51SHSWXZG0T72DHBKTW755F0'
    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:
consensus
peerinfo
fcfsd
uri
namestore-postgres
namestore-heap
namestore-sqlite
namestore
dns2gns
gns-proxy
gns
communicator-unix
namecache-postgres
namecache-flat
namecache-sqlite
namecache
exit
...

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

Activities

nikita

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.

ic.rbow

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.

nikita

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.

nikita

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.

ic.rbow

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.

schanzen

2022-02-22 23:09

administrator   ~0018710

This is an old bug so unassigning. IMO the UNIX way is to make it possible to pass output to "sort" whenever it makes sense to be sorted.

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
2022-02-22 23:09 schanzen Note Added: 0018710
2022-02-22 23:09 schanzen Assigned To schanzen =>