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

Why is the DOI of a logging statement is 0? #217

Open
khatchad opened this issue May 8, 2019 · 10 comments
Open

Why is the DOI of a logging statement is 0? #217

khatchad opened this issue May 8, 2019 · 10 comments
Assignees
Labels
bug Something isn't working question Further information is requested urgent

Comments

@khatchad
Copy link
Member

khatchad commented May 8, 2019

Our tool suggested, as part of a pull request, that this log level be converted from FINE to FINEST. After using both N=1,000 and N=24,000, the DOI of the logging statement is 0:

sequence subject log expression start pos log level type FQN enclosing method DOI value action new level
1557327791554 client log.fine("Polling " + url) 2942 FINE org.openqa.selenium.net.UrlChecker waitUntilAvailable(long,java.util.concurrent.TimeUnit,java.net.URL[]) 0 CONVERT_TO_FINEST FINEST
1557331211590 client log.fine("Polling " + url) 2942 FINE org.openqa.selenium.net.UrlChecker waitUntilAvailable(long,java.util.concurrent.TimeUnit,java.net.URL[]) 0 CONVERT_TO_FINEST FINEST

More information about the run:

sequence repo URL SHA-1 of head N for commits number of commits processed actual number of commits average Java lines added average Java lines removed
1557327791554 https://github.com/SeleniumHQ/selenium.git 8389311401473048c215f0885dc5dc5488a311eb 1000 1000 23812 30.311 15.343
1557331211590 https://github.com/SeleniumHQ/selenium.git 8389311401473048c215f0885dc5dc5488a311eb 24000 23812 23812 30.311 15.343

Please investigate why the DOI of this log statement is 0. There are several changes to the enclosing method (listed below), so I am sure that it hasn't been 0 always. Does it start at 0, increase, and then because of decay, decrease? Or, are we losing track of it through some refactoring?

Here are some changes that involve the enclosing method. They are listed from most recent to least recent:

  1. SeleniumHQ/selenium@715f012
  2. SeleniumHQ/selenium@f782d2b
  3. SeleniumHQ/selenium@6fc11aa
  4. SeleniumHQ/selenium@3db6451
@khatchad khatchad added the question Further information is requested label May 8, 2019
@khatchad
Copy link
Member Author

khatchad commented May 10, 2019 via email

@yiming-tang-cs
Copy link
Contributor

What do the axes mean here?

Updated.

This was referenced May 21, 2019
@khatchad khatchad added bug Something isn't working urgent labels Sep 5, 2019
@khatchad
Copy link
Member Author

khatchad commented Sep 5, 2019

This has been opened way too long and should be fixed ASAP.

@yiming-tang-cs
Copy link
Contributor

For now, if a method is not analyzed before, it should not be considered by the tool. The only 0 in the candidate CSV represents that the enclosing method is analyzed before but its analysis is in a very early commit.

The current results (N = 24000):
results_original_decay.zip

@yiming-tang-cs
Copy link
Contributor

yiming-tang-cs commented Sep 25, 2019

The method was analyzed but its DOI value became 0 due to decay, like the cases you mentioned above. The charts below track the DOI value changes for the method waitUntilAvailable().

Decay = 0.0085:
image

Decay = 0.00053125
image

For these methods, lowering decay could fix this issue. It is fixed by #232

@yiming-tang-cs
Copy link
Contributor

These are DOI values of candidates for selenium:

image

N = 24000, decay factor is 256. Most of their DOI values are positive now. Only a few of them are 0. The method you mentioned above has a positive DOI value now.

@yiming-tang-cs
Copy link
Contributor

This is the chart of DOI values for candidates with the original decay factor. As we can see, most of their DOI values are 0, including the method you mentioned above.

image

@yiming-tang-cs
Copy link
Contributor

Currently,

  1. when N = 1000, the log invocation mentioned above is not a candidate and is not transformed.
  2. when N = 24000, the log invocation mentioned above is transformed to INFO.

@khatchad
Copy link
Member Author

Please respond to the original PR. Explain the change that we've made and that we will follow up with a new, improved PR, but will not include the results that were already rejected by the previous PR. Make sense?

@khatchad
Copy link
Member Author

@saledouble What is the status of this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working question Further information is requested urgent
Projects
None yet
Development

No branches or pull requests

2 participants