private static final String TEST_STREAM = "Profile.cfg";
private static final String CREATE_PROFILE_SCENARIO_NAME = "ProfileTest";
- private static final String SESSION_NAME = "_control_view_test_profile";
+ private static final String SESSION_NAME = String.valueOf(System.nanoTime());
@Override
protected String getTestStream() {
// Save and load feature will only work on a Linux remote
assumeTrue(IS_LINUX);
+ fProxy.setSessionName(getSessionName());
fProxy.setTestFile(fTestFile);
fProxy.setScenario(INIT_SCENARIO_NAME);
// Disable saving of profiles
fProxy.setProfileName(null);
fProxy.deleteProfileFile();
+ fProxy.setSessionName(null);
testDisconnectFromNode();
}
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output><sessions><session><name>_control_view_test_profile</name><path>/home/eedbhu/lttng-traces/_control_view_test_profile-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output></command>
+<command><name>list</name><output><sessions><session><name>${sessionname}</name><path>/home/eedbhu/lttng-traces/${sessionname}-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output></command>
</COMMAND_OUTPUT>
<COMMAND_INPUT>
-lttng --mi xml list _control_view_test_profile
+lttng --mi xml list ${sessionname}
</COMMAND_INPUT>
<COMMAND_RESULT>
0
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output><sessions><session><name>_control_view_test_profile</name><path>/home/eedbhu/lttng-traces/_control_view_test_profile-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>SYSCALL</type><enabled>true</enabled><filter>false</filter></event><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusion>false</exclusion></event></events></channel></channels></domain><domain><type>UST</type><buffer_type>PER_UID</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>0</read_timer_interval><output_type>MMAP</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><exclusion>false</exclusion></event></events></channel></channels></domain></domains></session></sessions></output></command>
+<command><name>list</name><output><sessions><session><name>${sessionname}</name><path>/home/eedbhu/lttng-traces/${sessionname}-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>SYSCALL</type><enabled>true</enabled><filter>false</filter></event><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusion>false</exclusion></event></events></channel></channels></domain><domain><type>UST</type><buffer_type>PER_UID</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>0</read_timer_interval><output_type>MMAP</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><exclusion>false</exclusion></event></events></channel></channels></domain></domains></session></sessions></output></command>
</COMMAND_OUTPUT>
</SCENARIO>
<SCENARIO>
<COMMAND_OUTPUT>
</COMMAND_OUTPUT>
<COMMAND_INPUT>
-lttng --mi xml load -i ${userhome}/.lttng/sessions/_control_view_test_profile.lttng -f
+lttng --mi xml load -i ${userhome}/.lttng/sessions/${sessionname}.lttng -f
</COMMAND_INPUT>
<COMMAND_RESULT>
0
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>load</name><output><load><session><name>*</name></session><path>/home/eedbhu/.lttng/sessions/_control_view_test_profile.lttng</path></load></output><success>true</success></command>
+<command><name>load</name><output><load><session><name>*</name></session><path>/home/eedbhu/.lttng/sessions/${sessionname}.lttng</path></load></output><success>true</success></command>
</COMMAND_OUTPUT>
<COMMAND_INPUT>
lttng --mi xml list -k
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output><sessions><session><name>_control_view_test_profile</name><path>/home/eedbhu/lttng-traces/_control_view_test_profile-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output></command>
+<command><name>list</name><output><sessions><session><name>${sessionname}</name><path>/home/eedbhu/lttng-traces/${sessionname}-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output></command>
</COMMAND_OUTPUT>
<COMMAND_INPUT>
-lttng --mi xml list _control_view_test_profile
+lttng --mi xml list ${sessionname}
</COMMAND_INPUT>
<COMMAND_RESULT>
0
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output><sessions><session><name>_control_view_test_profile</name><path>/home/eedbhu/lttng-traces/_control_view_test_profile-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusion>false</exclusion></event><event><name>*</name><type>SYSCALL</type><enabled>true</enabled><filter>false</filter></event></events></channel></channels></domain><domain><type>UST</type><buffer_type>PER_UID</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>0</read_timer_interval><output_type>MMAP</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><exclusion>false</exclusion></event></events></channel></channels></domain></domains></session></sessions></output></command>
+<command><name>list</name><output><sessions><session><name>${sessionname}</name><path>/home/eedbhu/lttng-traces/${sessionname}-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusion>false</exclusion></event><event><name>*</name><type>SYSCALL</type><enabled>true</enabled><filter>false</filter></event></events></channel></channels></domain><domain><type>UST</type><buffer_type>PER_UID</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>8388608</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>0</read_timer_interval><output_type>MMAP</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval></attributes><events><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><filter>false</filter><exclusion>false</exclusion></event></events></channel></channels></domain></domains></session></sessions></output></command>
</COMMAND_OUTPUT>
<COMMAND_INPUT>
-lttng --mi xml start _control_view_test_profile
+lttng --mi xml start ${sessionname}
</COMMAND_INPUT>
<COMMAND_RESULT>
0
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>start</name><output><sessions><session><name>_control_view_test_profile</name><enabled>true</enabled></session></sessions></output><success>true</success></command>
+<command><name>start</name><output><sessions><session><name>${sessionname}</name><enabled>true</enabled></session></sessions></output><success>true</success></command>
</COMMAND_OUTPUT>
<COMMAND_INPUT>
-lttng --mi xml stop _control_view_test_profile
+lttng --mi xml stop ${sessionname}
</COMMAND_INPUT>
<COMMAND_RESULT>
0
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>stop</name><output><sessions><session><name>_control_view_test_profile</name><enabled>false</enabled></session></sessions></output><success>true</success></command>
+<command><name>stop</name><output><sessions><session><name>${sessionname}</name><enabled>false</enabled></session></sessions></output><success>true</success></command>
</COMMAND_OUTPUT>
<COMMAND_INPUT>
-lttng --mi xml destroy _control_view_test_profile
+lttng --mi xml destroy ${sessionname}
</COMMAND_INPUT>
<COMMAND_RESULT>
0
</COMMAND_RESULT>
<COMMAND_OUTPUT>
<?xml version="1.0" encoding="UTF-8"?>
-<command><name>destroy</name><output><sessions><session><name>_control_view_test_profile</name><path>/home/eedbhu/lttng-traces/_control_view_test_profile-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output><success>true</success></command>
+<command><name>destroy</name><output><sessions><session><name>${sessionname}</name><path>/home/eedbhu/lttng-traces/${sessionname}-20151203-134849</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output><success>true</success></command>
</COMMAND_OUTPUT>
</SCENARIO>
private LTTngToolsFileShell fShell = null;
private String fTestFile = null;
private String fScenario = null;
+ private String fSessionName = null;
@Override
public void connect(IProgressMonitor monitor) throws ExecutionException {
if (shell == null) {
shell = new LTTngToolsFileShell();
if ((fTestFile != null) && (fScenario != null)) {
+ shell.setSessionName(fSessionName);
shell.loadScenarioFile(fTestFile);
shell.setScenario(fScenario);
fShell = shell;
}
}
+ public void setSessionName(String sessionName) {
+ fSessionName = sessionName;
+ }
+
public void deleteProfileFile() {
if (fShell != null) {
fShell.deleteProfileFile();
private final static String LTTNG_USER_HOME_PATTERN = "\\$\\{userhome\\}";
+ private final static String SESSION_NAME_PATTERN = "\\$\\{sessionname\\}";
+
private final static String USER_HOME = System.getProperty("user.home");
private final static Pattern LTTNG_SAVE_MI_PATTERN = Pattern.compile("lttng\\s+--mi xml\\s+save\\s+-f");
private String fScenario;
private String fProfileName = null;
private File fProfileFile = null;
+ private String fSessionName = null;
private final Map<String, Map<String, ICommandResult>> fScenarioMap = new HashMap<>();
private final Map<String, Integer> fSessionNameMap = new HashMap<>();
// Update
input = input.replaceAll(LTTNG_USER_HOME_PATTERN, USER_HOME);
+ // Update session variable
+ if (fSessionName != null) {
+ input = input.replaceAll(SESSION_NAME_PATTERN, fSessionName);
+ }
+
// Handle instances of 'lttng list
// <session"-command
Matcher matcher = LTTNG_LIST_SESSION_PATTERN.matcher(strLine);
while (isComment(strLine)) {
strLine = br.readLine();
}
+
+ // Update session variable
+ if (fSessionName != null) {
+ strLine = strLine.replaceAll(SESSION_NAME_PATTERN, fSessionName);
+ }
+
// lines of output/error output
if (errorOutput != null && inErrorOutput) {
errorOutput.add(strLine);
}
}
+ public void setSessionName(String sessionName) {
+ fSessionName = sessionName;
+ }
+
}