manticoresoftware / manticoresearch

Easy to use open source fast database for search | Good alternative to Elasticsearch now | Drop-in replacement for E in the ELK soon
https://manticoresearch.com
GNU General Public License v3.0
8.94k stars 496 forks source link

UX Improvement: Client Oriented Crash Handler #1573

Open AbstractiveNord opened 11 months ago

AbstractiveNord commented 11 months ago

Is your feature request related to a problem? Please describe. Currently ManticoreSearch provide developer oriented log on crashes. This is bunch of deep technical information which doesn't contain straightforward instruction for usual users. Usually, that data can't help user a lot.

Describe the solution you'd like Improve crash handler by writing debugging data into specialized files and write simple instruction for user, like

Crash metadata: some data Send this message to Github Issue Crash Template Upload crash.zip to our write-only S3 via link

Of course, in case of Kubernetes production deployment, there may be required some type of bypass or something. May not.

Describe alternatives you've considered Continue boilerplate chain

  1. user with problem asks for help in telegram chat or forum
  2. then discussion goes to Github Issue page
  3. user manually collect and upload related files

Additional context Is it possible to catch:

sanikolaev commented 11 months ago

doesn't contain straightforward instruction for usual users

It actually does, each crash is supposed to have this:

Please, create a bug report in our bug tracker (https://github.com/manticoresoftware/manticore/issues)
and attach there:
a) searchd log, b) searchd binary, c) searchd symbols.
Look into the chapter 'Reporting bugs' in the manual
(https://manual.manticoresearch.com/Reporting_bugs)

Didn't yours have this? Maybe this block isn't visible enough?

AbstractiveNord commented 11 months ago

doesn't contain straightforward instruction for usual users

It actually does, each crash is supposed to have this:

Please, create a bug report in our bug tracker (https://github.com/manticoresoftware/manticore/issues)
and attach there:
a) searchd log, b) searchd binary, c) searchd symbols.
Look into the chapter 'Reporting bugs' in the manual
(https://manual.manticoresearch.com/Reporting_bugs)

Didn't yours have this? Maybe this block isn't visible enough?

Yes, this block is easy to miss for newbies. Usually this block is significant smaller than stacktrace. Also, this instruction isn't so simple, as it may be. For example, if new user just playing with ManticoreSearch, there no list of simple, machine-like actions to do.

User should know, where to look for log, binary, should know what is symbols. By the way, user should have some knowledge for gdb, very small thanks for documentation link provided, but still. Even if user knows about it, that is manual job, which may be automated even with simple bash script. Is it possible to make instruction block bigger, collect interested files, pack it into archive and make simple, clear statements for user: ManticoreSearch is crashed, data about crash is collected and saved there, please, upload it via that URL.

sanikolaev commented 10 months ago

Here's what we can do:

sanikolaev commented 10 months ago

If someone wants to contribute by making a PR with the script, the core team will be glad to assist.