-
Notifications
You must be signed in to change notification settings - Fork 217
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
Collect diagnostic informations #1300
Conversation
🙃 This wealth of output is a dream 🙃 A few "first impressions" from my side:
Next step: We should test the diagnostics output on different OSes (-> vagrant VMs?) to see how it works "in the wild" PS: Please bear with my many renaming proposals, that's a typical "linguistics disease" 😉 |
Thanks for your feedback.
Totally agree. I also suspect that there are some edge cases. I found a lot while wrangeling with Travis. ;)
"App" is a markting buzz-word. ;) I don't see a recursion or redundancy. There is everything collected related directly to Back In Time that is why I used the key
Sorry, this is misleading. The
That elements still have a
Yes, that is quit tricky and for a first shoot I used the simplest approach. I also know that discussions on SO. I would recommend to keep it now as it is and improve this later. You could open an Issue for that.
Done.
I don't see what you mean. Maybe you misinterpreted the
I still tested some of them.
I like that. Everything is fine. This is the new output:
|
ACK
I see your point. IMHO I would drop the
Correct, I didn't realize this :-)
At least we as developers (and hopefully new developers) will read this so I think literate names and clear sub groups
Absolutely OK (minimal viable product for now), no urgent need to improve this
👍
Gotcha, I was blinded ;-)
I will also do some more tests when I return from vacation. |
And finally I want to show an example of my proposed changes to make it comparable (eg. regarding readability):
PS: I have written so much above now but don't want to forget to say thank you for your great work for this PR! |
Very well and nice ideas.
|
Thanks a lot! I've just committed #1295, so you could now integrate this with the new However, if I understand correctly, this would introduce the "regression" that the Also, please add a line to CHANGES. Thanks! |
Right. We want to improve that in a next step.
Nearly correct. But even #1295 doesn't show the users user-callback path. An instance of I will improve that in a next step via implementing the Config class as a Singleton. That is very easy but I would like to do that in a separate PR. Then we can get the current
Done. |
FYI: I'm planing to implement the |
FYI: Of course it will take longer. ;) As I had already feared there are multiple instances of |
* Integrate extended diagnostics (#1300 with #1295) * Add user-callback path to collect_diagnostics() * Remove TravisCI test failure workaround (was fixed with #1305). * Correct some typos in comments * Diagnostics: Add local and global config file info. Rename "config-version" to "latest-config-version" by @aryoda and @buhtzz
Related to #1295
Introducing the module
backintime.diagnostics
incommon/diagnostics.py
.Collect information' useful for debuging about Bit, the operating system, used packages and "external" comandline tools. The result is a nested
dict
.This is an example output
Limitations and notes
Path for config file and user-callback scripts are missing. This is because there is no elegant way to access the existing
backintime.Config
instance. I will later add a PR implementing that class as singleton.I assume that the information's about
Qt
are collected on a "usual" system. But I had problems doing this on TravisCI. I will work on that "problem".The function
backintime.diagnostics.get_git_repository_info()
is quit redundant tobackintime.tools.gitRevisionAndHash()
. I won't touch it yet. Of course IMHO my code is cleaner, more modern (usingpathlib
instead ofos.path
) and does handle the edge case (happens on TravisCI) having "detached head".Personal notes
This took me longer than I thought. TravisCI was driving me nuts! The code was IMHO quit elegant and tests on my local machine all green. But on Travis not. Depending on the OS and environment of Travis a lot of problems occurred and I needed to modify the code. More on that on
bit-dev
list.It was a good idea to first create a PR in my own repo against
buhtzz/backintime:master
to test how Travis reacts.