-
Notifications
You must be signed in to change notification settings - Fork 255
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
SSH #359
base: master
Are you sure you want to change the base?
Conversation
db9e69e
to
4708a99
Compare
ad512da
to
a52b519
Compare
Thank you for this nice addition, it seems that README.md may need an update (or is this actually a draft implementation so "too early for that")? |
b42ef40
to
80b6728
Compare
weird, somehow the ui on the mainwindow got changed, but I didn't touch that file. |
@milianw I'm wondering where this has gone, the requested changes seem to have been done. |
src/perfrecordssh.h
Outdated
|
||
class QFile; | ||
|
||
class PerfRecordSSH : public PerfRecord |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add some basic documentation on how this is implemented. basically just something that says we overload a bunch of API to disable features and then use an external ssh process to communicate with another machine to remote control the perf session there
src/ssh.h
Outdated
class QStringList; | ||
class QProcessEnvironment; | ||
|
||
QStringList assembleSSHArguments(const QString& deviceName, const QStringList& command); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add basic api documentation to all of these
related to #12 |
Solving the conflicts would be nice; the reason I'm asking for it is that this would trigger CI, which now creates an AppImage which then can be used to test the feature before it is integrated. |
04a8c5c
to
7b84340
Compare
I've tested that with the generated appimage and when doing "test connection and save" I always just get an empty error message: with stderr having
How to debug this issue? (note: Side note: the configuration dialog is named "Paths and Architecture Settings" which is getting even more wrong after applying this, I've created #436 to tackle that. |
6ded45e
to
46759d0
Compare
@GitMensch |
a2e4a03
to
97c6a8e
Compare
Rechecked with hotspot-v1.3.0-374-g97c6a8e-x86_64.AppImage - still the same result (empty error + that message in stderr). |
5744272
to
9dada8c
Compare
c0ad183
to
673f977
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
only had time for the first patch for now
df88ae9
to
4a48461
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we also need some basic test coverage for this, maybe for starters a manual test binary that we can invoke manually to run some tests
then integrate that into the docker images somehow?
b05d3b6
to
d3e1b24
Compare
This change makes it more usable by making the usage easier. Simply add the edit widget as a child using addChild and be done. Now you only need to call saveCurrentConfig and be done. Restoring and saving are handled by the widget.
you can edit you devices, copy your ssh key and select you ssh binary on this page device are stored directly in a KConfigGroup, the deviceList property of Settings is only there to pass the devices around to other widgets
Changes to existing logic: RecordHost now saved the client app args RecordHost no longer differentiate between local and remote when setting the output file name, since the file is always saved on the host New class RemoteDevice, this class handles communication between the host and the remote device. It does this by using a multiplexed ssh connection. This is faster since we only need to do authentification once and can then reuse the existing connection.
There is some logic left from the time before RecordHost. This patch removes these fragments
this patch finally runs perf via ssh on a remote device perf is run with -o - to stream the recording to the host in this case stderr contains the output of the program run
using coroutines allows use async io without having to deal with multithreading
These patches allow hotspot to run
perf record
on remote devices via ssh. The recording data is streamed directly to hotspot without storing it on the device.fixes #12