kernel-shark: Optimize the command line options used by the capture dialog
Do not include all events belonging to a given system if the whole system
is selected. Add only the name of the system instead. Do not specify a
plugin if the selected plugin is "nop".
Link: http://lore.kernel.org/linux-trace-devel/20190709155650.2345-4-y.karadz@gmail.com
Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
diff --git a/kernel-shark/src/KsCaptureDialog.cpp b/kernel-shark/src/KsCaptureDialog.cpp
index 7f8cf64..d422e99 100644
--- a/kernel-shark/src/KsCaptureDialog.cpp
+++ b/kernel-shark/src/KsCaptureDialog.cpp
@@ -143,23 +143,14 @@
QStringList argv;
argv << "record";
- argv << "-p" << _pluginsComboBox.currentText();
- if (_eventsWidget.all()) {
+ if (_pluginsComboBox.currentText() != "nop")
+ argv << "-p" << _pluginsComboBox.currentText();
+
+ if (_eventsWidget.all())
argv << "-e" << "all";
- } else {
- QVector<int> evtIds = _eventsWidget.getCheckedIds();
- tep_event *event;
-
- for (auto const &id: evtIds) {
- event = tep_find_event(_localTEP, id);
- if (!event)
- continue;
-
- argv << "-e" + QString(event->system) +
- ":" + QString(event->name);
- }
- }
+ else
+ argv << _eventsWidget.getCheckedEvents(true);
argv << "-o" << outputFileName();
argv << _commandLineEdit.text().split(" ");