Skip to content
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

Improve report utilities #325

Open
Keith-CY opened this issue Nov 17, 2023 · 2 comments
Open

Improve report utilities #325

Keith-CY opened this issue Nov 17, 2023 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Keith-CY
Copy link
Member

Keith-CY commented Nov 17, 2023

Now neuron supports exporting debug information to analyze issues users have submitted, and most cases can be fixed because they have certain patterns, which will be facilitated by self-service debug information analysis

But the following actions are not included:

  1. cannot export the entire log of ckb node/light client because the size is huge;
  2. cannot export transactions that are not signed/submitted successfully because
    1. a transaction is too complex to be printed in log file;
    2. it's hard to determine if a transaction should be reported, e.g., a rejected transaction that is pending for a long time;
  3. cannot export blocked block/transaction because a block/transaction is too complex to be printed in log file.

For point 1, a shortcut to the directory of ckb node log can be added so users can open the folder easily when the entire log is required.

For point 2 and 3, a runtime log may be introduced so necessary information can be exported selectively.

The runtime log may keep printing real-time logs, e.g.

  1. synced transaction, a functional button could be provided to inspect the modification along with this transaction, for instance, balance update, live cells update
  2. submitted transaction with a functional button to inspect the modification of neuron's status
  3. rejected/failed to sign transaction with a functional button to dump it for analysis
  4. synced block, similar to synced transaction
  5. error, with a functional button to export its context, e.g. error tracing, wallet status(live cells, block height)

Besides, I would suggest adding interactive utilities with the runtime log to make it extensible. E.g.

  1. basic query to fetch information of an address(script info, live cells, deal cells, etc), submit a raw transaction to sign.,
  2. basic query to fetch transactions of various statuses (committed, pending, rejected)
  3. command line tool to run lumos method
  4. filters to filter log entries by specific condition
    1. log level
    2. keyword
    3. type
    4. range
    5. freeze/lock to disable printing more logs(I found a term of it, "Now Mode")
  5. real-time statistic, shows the difference in status introduced by those logs, e.g cell count, address count, block count, transaction count, during this launch

Some examples:

image
image

@yanguoyu @homura @devchenyan @WhiteMinds @zhangyouxin do you have more ideas to improve debug/report?

@Keith-CY Keith-CY added the documentation Improvements or additions to documentation label Nov 17, 2023
@Keith-CY Keith-CY added this to Neuron Nov 17, 2023
@Danie0918 Danie0918 moved this to 🆕 New in Neuron Nov 17, 2023
@Danie0918 Danie0918 moved this from 🆕 New to 📫Hold On in Neuron Nov 26, 2023
@Keith-CY
Copy link
Member Author

Keith-CY commented Jan 8, 2024

Why is this issue marked Hold on @Danie0918

@Danie0918
Copy link
Contributor

Why is this issue marked Hold on @Danie0918

This one is based on prioritization and has no plans to start yet.

I'll start on the next version.

@Danie0918 Danie0918 moved this from 📫Hold On to 📌Planning in Neuron Jul 8, 2024
@Danie0918 Danie0918 moved this from 📌Planning to 🎨 Designing in Neuron Jul 8, 2024
@Danie0918 Danie0918 moved this from 🎨 Designing to 📌Planning in Neuron Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Status: 📌Planning
Development

No branches or pull requests

3 participants