Skip to content
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

Add ability storing of webdriver console and network logs after failing tests #8926

Merged
merged 28 commits into from
Mar 5, 2018

Conversation

musienko-maxim
Copy link
Contributor

@musienko-maxim musienko-maxim commented Feb 27, 2018

What does this PR do?

Some selenium tests fails only on CI infrastructure in multithread mode. But reason of failing is not clear. We need more information for clarifying reasons. Storing javascript console of webdriver and sequence of requests/responses after fallen test can help for this

What issues does this PR fix or reference?

#8857
@dmytro-ndp @vparfonov @Ohrimenko1988

@musienko-maxim
Copy link
Contributor Author

ci-build

@benoitf benoitf added status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. kind/task Internal things, technical debt, and to-do tasks to be performed. labels Feb 27, 2018
@@ -93,6 +94,10 @@
@Named("tests.htmldumps_dir")
private String htmldumpsDir;

@Inject
@Named("tests.webDriverLogsDir")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use the same test properties naming pattern, please: tests.webDriverLogsDir > tests.webdriverlogs_dir

try {
String testReference = getTestReference(result);
String filename = NameGenerator.generate(testReference + "_", 4) + ".log";
Path webdriverLogDirectory = Paths.get(webDriverLogsDir, filename);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webdriverLogDirectory > webdriverLogsDirectory

@codenvy-ci
Copy link

webDrivers.forEach(webDriver -> getWebDriverLog(result, webDriver));
}

private void getWebDriverLog(ITestResult result, SeleniumWebDriver webDriver) {
Copy link
Contributor

@dmytro-ndp dmytro-ndp Feb 27, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

get usually means returning something.
This method returns nothing. It stores logs of webdriver into the filesystem. So, method name should be rephrased appropriately, for example: storeWebDriverLogs

@@ -25,27 +27,115 @@
* Read and store browser logs to the test logs. Log level and type are defined in {@link
* org.eclipse.che.selenium.core.SeleniumWebDriver#doCreateDriver(URL)}
*/
@Singleton
public class BrowserLogsUtil {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class name is outdated so as it is not about just BROWSER logs, but PERFORMANCE logs as well. So, lets make the name more general: WebDriverLogsReader

@@ -25,27 +27,115 @@
* Read and store browser logs to the test logs. Log level and type are defined in {@link
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Javadocs doesn't take into account performance logs. And this class stores nothing.


/**
* read logs from browser console
*
* @return log messages from browser console
*/
public List<LogEntry> getLogs() {
public static List<LogEntry> getConsoleLogs(WebDriver seleniumWebDriver) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets name the method as readBrowserLogs

*
* @return all types of performance logs
*/
public static List<LogEntry> getPerformanceLogs(WebDriver seleniumWebDriver) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets name the method as readPerformanceLogs

/** store browser logs to the test logs */
public void storeLogs() {
getLogs().forEach(logEntry -> LOG.info("{} {}", logEntry.getLevel(), logEntry.getMessage()));
public static void storeLogsToConsoleOutput(WebDriver seleniumWebDriver) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

storeLogsToConsoleOutput > logBrowserLogs

}

/** filter data and get requests/responses that has been sent on CHE /api/ URL */
public static String getNetworkDataSentOnCheApi(WebDriver seleniumWebDriver) {
Copy link
Contributor

@dmytro-ndp dmytro-ndp Feb 27, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getNetworkDataSentOnCheApi > readCheNetworkTraffic

JsonParser jsonParser = new JsonParser();
getPerformanceLogs(seleniumWebDriver)
.forEach(
logEntry -> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest to use stream.filter() method explicitly to simplify code, of replace lambda with for-each, if statements.

* @param requestMessage json representation of the message object from the log
* @return info about request from the WebDriver
*/
private static String getRequestsSentOnChe(JsonObject requestMessage) {
Copy link
Contributor

@dmytro-ndp dmytro-ndp Feb 27, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getRequestsSentOnChe > extractCheRequests

* @param requestMessage json representation of the message object from the log
* @return info about request from the WebDriver
*/
private static String getResponsesSentOnChe(JsonObject requestMessage) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getResponsesSentOnChe > extractCheResponces

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am sorry: typo from my side: extractCheResponces > extractCheResponses

return responceInfo.toString();
}

private static boolean isLogEntryContainsApiUrl(JsonObject node) {
Copy link
Contributor

@dmytro-ndp dmytro-ndp Feb 27, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isLogEntryContainsApiUrl > isNodeFromCheTraffic

}

private static boolean isLogEntryContainsApiUrl(JsonObject node) {
return (node.get("url").isJsonNull()) ? false : node.get("url").getAsString().contains("/api/");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there could be requests to other resources with "/api/" in URL. It's more reliable to check on Che hostname as well.

*
* @return logs from browser console and requests/responses on CHE api
*/
public static String getCombinedLogs(WebDriver seleniumWebDriver) {
Copy link
Contributor

@dmytro-ndp dmytro-ndp Feb 27, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getCombinedLogs > combineBrowserAndCheTrafficLogs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This method return NetworkTraffic + WebDriver java script console logs

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understood it. But method name getCombinedLogs says nothing about content of getting logs.

Copy link
Contributor

@dmytro-ndp dmytro-ndp Feb 27, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or name it getAllLogs, and fix comment:
combine the Network and Browser logs > get all available logs of web driver.

@@ -48,6 +50,7 @@
@Inject private CodenvyEditor editor;
@Inject private TestProjectServiceClient testProjectServiceClient;
@Inject private BrowserLogsUtil browserLogsUtil;
@Inject private SeleniumWebDriver webDriver;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's better to avoid injection of WebDriver into the test. Lets inject webdriver in the same way as it was done in SeleniumWebDriverHelper class.

@@ -47,7 +48,7 @@
@Inject private ProjectExplorer projectExplorer;
@Inject private CodenvyEditor editor;
@Inject private TestProjectServiceClient testProjectServiceClient;
@Inject private BrowserLogsUtil browserLogsUtil;
@Inject private SeleniumWebDriver webDriver;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's better to avoid injection of WebDriver into the test. Lets inject webdriver in the same way as it was done in SeleniumWebDriverHelper class.

@musienko-maxim
Copy link
Contributor Author

ci-test

@codenvy-ci
Copy link

ci-test build report:
Build details
Test report
selenium tests report data
docker image: eclipseche/che-server:8926
https://github.com/orgs/eclipse/teams/eclipse-che-qa please check this report.

vparfonov and others added 6 commits March 2, 2018 17:23
Signed-off-by: Vitalii Parfonov <vparfonov@redhat.com>
…int of browser logs

Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
@dmytro-ndp
Copy link
Contributor

dmytro-ndp commented Mar 3, 2018

An example of web driver logs
Browser console logs:
---------------------
2018-03-03 04:34:00,038 WARNING http://172.19.20.32:5050/auth/realms/che/protocol/openid-connect/auth?client_id=che-public&redirect_uri=http%3A%2F%2F172.19.20.32%3A8080%2Fuser1520087579%2Fworkspace0etcnt&state=268d3025-2488-41aa-90a7-46d52078fc9b&nonce=ee508571-270e-4326-95d7-969a06b8ef07&response_mode=fragment&response_type=code&scope=openid - This page includes a password or credit card input in a non-secure context. A warning will be added to the URL bar in Chrome 56 (Jan 2017). For more information, see https://goo.gl/zmWq3m.

2018-03-03 04:34:01,815 INFO http://172.19.20.32:5050/auth/js/keycloak.js 682:28 "[KEYCLOAK] Estimated time difference between browser and server is 0 seconds"

Eclipse Che network logs:

2018-03-03 04:33:59,982 (id: 559.5) [REQUEST] GET http://172.19.20.32:8080/api/keycloak/settings
2018-03-03 04:34:00,009 (id: 559.5) [RESPONSE] 200 http://172.19.20.32:8080/api/keycloak/settings
2018-03-03 04:34:01,704 (id: 559.29) [REQUEST] GET http://172.19.20.32:8080/api/keycloak/settings
2018-03-03 04:34:01,742 (id: 559.29) [RESPONSE] 200 http://172.19.20.32:8080/api/keycloak/settings
2018-03-03 04:34:05,324 (id: 559.46) [REQUEST] GET http://172.19.20.32:8080/api/project-template/all
2018-03-03 04:34:05,324 (id: 559.47) [REQUEST] GET http://172.19.20.32:8080/api/profile/
2018-03-03 04:34:05,766 (id: 559.47) [RESPONSE] 200 http://172.19.20.32:8080/api/profile/
2018-03-03 04:34:05,767 (id: 559.51) [REQUEST] GET http://172.19.20.32:8080/api/preferences
2018-03-03 04:34:05,767 (id: 559.46) [RESPONSE] 200 http://172.19.20.32:8080/api/project-template/all
2018-03-03 04:34:05,767 (id: 559.51) [RESPONSE] 200 http://172.19.20.32:8080/api/preferences
2018-03-03 04:34:05,768 (id: 559.52) [REQUEST] GET http://172.19.20.32:8080/api/workspace/user1520087579/workspace0etcnt
2018-03-03 04:34:05,768 (id: 559.52) [RESPONSE] 200 http://172.19.20.32:8080/api/workspace/user1520087579/workspace0etcnt
2018-03-03 04:34:07,373 (id: 559.61) [REQUEST] OPTIONS http://172.19.20.32:36758/api/java/compiler-settings/all
2018-03-03 04:34:07,382 (id: 559.68) [REQUEST] OPTIONS http://172.19.20.32:36758/api/project-type
2018-03-03 04:34:07,382 (id: 559.69) [WEBSOCKET_CREATED] ws://172.19.20.32:36758/wsagent?token=machineeazkqmkzjc3i0knc2zkxo6v8wc3o3rblficb19zf082bchkka01aanj02temf0uoezcq7t52qm33zbhyqceskncm3ds1cuy6v5c1cipjk05z2j517nvo8yjxaxieivni
2018-03-03 04:34:07,383 (id: 559.70) [WEBSOCKET_CREATED] ws://172.19.20.32:36755/connect?token=machineeazkqmkzjc3i0knc2zkxo6v8wc3o3rblficb19zf082bchkka01aanj02temf0uoezcq7t52qm33zbhyqceskncm3ds1cuy6v5c1cipjk05z2j517nvo8yjxaxieivni
2018-03-03 04:34:07,402 (id: 559.76) [REQUEST] OPTIONS http://172.19.20.32:36758/api/languageserver/supported
2018-03-03 04:34:07,402 (id: 559.78) [WEBSOCKET_CREATED] ws://172.19.20.32:8080/api/websocket?token=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJlMjNGc3kzRlI5dnRUZms3TGlkX1lQOGU0cDNoY0psM20wQTRnckIzNnJJIn0.eyJqdGkiOiIwYjBkNTE3Zi01ZDhiLTQ1ZDgtYTc4OS1jODZmMWU3MmRmMDUiLCJleHAiOjE1MjAwODc5NDEsIm5iZiI6MCwiaWF0IjoxNTIwMDg3NjQxLCJpc3MiOiJodHRwOi8vMTcyLjE5LjIwLjMyOjUwNTAvYXV0aC9yZWFsbXMvY2hlIiwiYXVkIjoiY2hlLXB1YmxpYyIsInN1YiI6ImRmNGEyOTU3LWNiZWQtNGQ0YS04NzY3LTQ5YThmYTM4YjkyNSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImNoZS1wdWJsaWMiLCJub25jZSI6ImVlNTA4NTcxLTI3MGUtNDMyNi05NWQ3LTk2OWEwNmI4ZWYwNyIsImF1dGhfdGltZSI6MTUyMDA4NzY0MSwic2Vzc2lvbl9zdGF0ZSI6IjVlNGJiYTQwLWE2YTctNDlhYS05ZDJiLWE3MzdmZDJhYjg2ZiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiaHR0cDovLzE3Mi4xOS4yMC4zMjo4MDgwIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJ1bWFfYXV0aG9yaXphdGlvbiIsInVzZXIiXX0sInJlc291cmNlX2FjY2VzcyI6eyJicm9rZXIiOnsicm9sZXMiOlsicmVhZC10b2tlbiJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwicHJlZmVycmVkX3VzZXJuYW1lIjoidXNlcjE1MjAwODc1NzkiLCJlbWFpbCI6InVzZXIxNTIwMDg3NTc5QDEuY29tIn0.IIgpMWayuIfK7V0HCc4D_iF_mYD5NfKdzDuqm7tzMsTtryFMEogEIDcUXYWfi2UR7rBaiJQguQgw2G_09IZ83HqU0JezD7k412uKUPivSy-sdoz92mn6cagvD6Ljlsx3-jHYqtq7ieeL1OUWQFOXJ33JOLqStBa_Is6DuNA7JbRbJdKvgvsBSs0NGndWoNJDMj_W5krA5InOqSYfbCSCV_sDk-nZG91uU5RGDUlzruseC09bpXyjJs1I36opP5GX9-jRML9uVTjujJ_Qa56n7KrX-17WjmZQZZo8TSKodQZzg5OePeuIArSSgAYCYXcdTzCKYbp3_gY70WQpfLvDHA
2018-03-03 04:34:07,406 (id: 559.61) [RESPONSE] 200 http://172.19.20.32:36758/api/java/compiler-settings/all
2018-03-03 04:34:07,406 (id: 559.61) [RESPONSE] 200 http://172.19.20.32:36758/api/java/compiler-settings/all
2018-03-03 04:34:07,406 (id: 559.79) [REQUEST] GET http://172.19.20.32:36758/api/java/compiler-settings/all
2018-03-03 04:34:07,553 (id: 559.68) [RESPONSE] 200 http://172.19.20.32:36758/api/project-type
2018-03-03 04:34:07,553 (id: 559.68) [RESPONSE] 200 http://172.19.20.32:36758/api/project-type
2018-03-03 04:34:07,554 (id: 559.80) [REQUEST] GET http://172.19.20.32:36758/api/project-type
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"websocketIdService/getId","id":"3"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"client/subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"fileWatcher/excludes/subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"track/project-tree","params":{"type":"START","path":"/"}}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"track/git-checkout"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"track/git-index"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"event/git/subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"event:debugger:subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"event:debugger:subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"composer/subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"window/showMessage/subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics/subscribe"}
2018-03-03 04:34:07,566 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"event:debugger:subscribe"}
2018-03-03 04:34:07,567 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"mavenOutput/subscribe"}
2018-03-03 04:34:07,567 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"mavenArchetype/subscribe"}
2018-03-03 04:34:07,567 (id: 559.69) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"event:debugger:subscribe"}
2018-03-03 04:34:07,571 (id: 559.70) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"process.getProcesses","id":"1","params":{"all":false}}
2018-03-03 04:34:07,571 (id: 559.70) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"process.getProcesses","id":"2","params":{"all":false}}
2018-03-03 04:34:07,571 (id: 559.70) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","method":"connected","params":{"time":"2018-03-03T14:34:06.455451433Z","channel":"tunnel-1","tunnel":"tunnel-1","text":"Hello!"}}
2018-03-03 04:34:07,572 (id: 559.70) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","id":"1","result":[]}
2018-03-03 04:34:07,572 (id: 559.70) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","id":"2","result":[]}
2018-03-03 04:34:07,579 (id: 559.76) [RESPONSE] 200 http://172.19.20.32:36758/api/languageserver/supported
2018-03-03 04:34:07,579 (id: 559.76) [RESPONSE] 200 http://172.19.20.32:36758/api/languageserver/supported
2018-03-03 04:34:07,584 (id: 559.81) [REQUEST] GET http://172.19.20.32:36758/api/languageserver/supported
2018-03-03 04:34:07,603 (id: 559.78) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"subscribe","params":{"method":"workspace/statusChanged","scope":{"workspaceId":"workspacea2nwd5cvgp96pee8"}}}
2018-03-03 04:34:07,603 (id: 559.78) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"subscribe","params":{"method":"machine/statusChanged","scope":{"workspaceId":"workspacea2nwd5cvgp96pee8"}}}
2018-03-03 04:34:07,603 (id: 559.78) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"subscribe","params":{"method":"server/statusChanged","scope":{"workspaceId":"workspacea2nwd5cvgp96pee8"}}}
2018-03-03 04:34:07,603 (id: 559.78) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"subscribe","params":{"method":"machine/log","scope":{"workspaceId":"workspacea2nwd5cvgp96pee8"}}}
2018-03-03 04:34:07,603 (id: 559.78) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"subscribe","params":{"method":"installer/log","scope":{"workspaceId":"workspacea2nwd5cvgp96pee8"}}}
2018-03-03 04:34:07,603 (id: 559.78) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"subscribe","params":{"method":"installer/statusChanged","scope":{"workspaceId":"workspacea2nwd5cvgp96pee8"}}}
2018-03-03 04:34:07,603 (id: 559.78) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"websocketIdService/getId","id":"4"}
2018-03-03 04:34:07,603 (id: 559.82) [REQUEST] GET http://172.19.20.32:8080/api/workspace/workspacea2nwd5cvgp96pee8
2018-03-03 04:34:07,637 (id: 559.83) [REQUEST] GET http://172.19.20.32:8080/api/installer
2018-03-03 04:34:07,638 (id: 559.78) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","id":"4","result":["2143033797"]}
2018-03-03 04:34:07,749 (id: 559.79) [RESPONSE] 200 http://172.19.20.32:36758/api/java/compiler-settings/all
2018-03-03 04:34:07,787 (id: 559.69) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","id":"3","result":["1557441829"]}
2018-03-03 04:34:07,788 (id: 559.69) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","method":"fileWatcher/excludes/cleanup"}
2018-03-03 04:34:07,788 (id: 559.82) [RESPONSE] 200 http://172.19.20.32:8080/api/workspace/workspacea2nwd5cvgp96pee8
2018-03-03 04:34:07,798 (id: 559.80) [RESPONSE] 200 http://172.19.20.32:36758/api/project-type
2018-03-03 04:34:07,816 (id: 559.91) [REQUEST] OPTIONS http://172.19.20.32:36758/api/project
2018-03-03 04:34:07,866 (id: 559.81) [RESPONSE] 200 http://172.19.20.32:36758/api/languageserver/supported
2018-03-03 04:34:07,931 (id: 559.83) [RESPONSE] 200 http://172.19.20.32:8080/api/installer
2018-03-03 04:34:07,949 (id: 559.91) [RESPONSE] 200 http://172.19.20.32:36758/api/project
2018-03-03 04:34:07,952 (id: 559.91) [RESPONSE] 200 http://172.19.20.32:36758/api/project
2018-03-03 04:34:07,952 (id: 559.105) [REQUEST] GET http://172.19.20.32:36758/api/project
2018-03-03 04:34:08,368 (id: 559.105) [RESPONSE] 200 http://172.19.20.32:36758/api/project
2018-03-03 04:34:08,368 (id: 559.107) [REQUEST] GET http://172.19.20.32:8080/api/workspace/workspacea2nwd5cvgp96pee8
2018-03-03 04:34:08,370 (id: 559.107) [RESPONSE] 200 http://172.19.20.32:8080/api/workspace/workspacea2nwd5cvgp96pee8
2018-03-03 04:34:08,370 (id: 559.70) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"process.getProcesses","id":"5","params":{"all":false}}
2018-03-03 04:34:08,370 (id: 559.70) [WEBSOCKET_REQUEST] {"jsonrpc":"2.0","method":"process.getProcesses","id":"6","params":{"all":false}}
2018-03-03 04:34:08,372 (id: 559.70) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","id":"5","result":[]}
2018-03-03 04:34:08,372 (id: 559.70) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","id":"6","result":[]}
2018-03-03 04:34:08,377 (id: 559.78) [WEBSOCKET_RESPONSE] {"jsonrpc":"2.0","method":"installer/log","params":{"text":"2018/03/03 14:34:08 Start new terminal.","time":"2018-03-03T14:34:08.107680114Z","runtimeId":{"ownerId":"df4a2957-cbed-4d4a-8767-49a8fa38b925","envName":"workspace0etcnt","workspaceId":"workspacea2nwd5cvgp96pee8","ownerName":"user1520087579"},"installer":"org.eclipse.che.terminal","stream":"STDOUT","machineName":"dev-machine"}}

"createMoveRefactoring started in "
+ System.currentTimeMillis()
+ " ms with "
+ cmr.toString());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use please LOG.info("createMoveRefactoring started in {} " ms with " {}", System.currentTimeMillis(), cmr.toString())

"createMoveRefactoring fail in "
+ System.currentTimeMillis()
+ " ms with exception "
+ e.getMessage());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+ System.currentTimeMillis()
+ " ms with session id "
+ moveRefactoringSession);
return moveRefactoringSession;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOG.error(
"createMoveRefactoring finished in "
+ System.currentTimeMillis()
+ " ms with with RefactoringException");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"createRenameRefactoring started in "
+ System.currentTimeMillis()
+ " ms with "
+ settings.toString());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOG.error(
"createRenameRefactoring fail in "
+ System.currentTimeMillis()
+ " ms with RefactoringException: Can't find java element to rename. ");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"createRenameRefactoring finished in "
+ System.currentTimeMillis()
+ " ms with "
+ renameRefactoring.toString());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Dmytro Nochevnov added 5 commits March 5, 2018 12:31
This reverts commit 5e1ab4f.

Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
@dmytro-ndp dmytro-ndp merged commit d39ca3e into master Mar 5, 2018
@dmytro-ndp dmytro-ndp removed the status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. label Mar 5, 2018
@benoitf benoitf added this to the 6.2.0 milestone Mar 5, 2018
hkolvenbach pushed a commit to hkolvenbach/che that referenced this pull request Mar 12, 2018
…#8926)

Signed-off-by: Dmytro Nochevnov <dnochevnov@codenvy.com>
@dmytro-ndp dmytro-ndp deleted the che#8857 branch March 12, 2018 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants