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

Question: API to analysis feature #161

Closed
szikszail opened this issue Jun 26, 2017 · 3 comments
Closed

Question: API to analysis feature #161

szikszail opened this issue Jun 26, 2017 · 3 comments
Assignees
Labels

Comments

@szikszail
Copy link

Hi,

As I can see it now, the Auto-analysis feature of RP works in the following way (if it's turned on):
If a launch is finished, all failed tests of it are compared to tests in previous launches (with the same name) and if it is the same failure as before, it marks the current test with proper defect-type and comment.

Is there any way to:

  1. trigger the analysis even if the launch is not finished?
  2. set the analysis to check other launches, even if the name does not match?
  3. gather analysis status (defect-type, comment) of a test item of a finished launch?
  4. trigger analysis and gather analysis status (defect-type, comment) of a test item or a not finished launch?
  5. set analysis status of a test item explicitly (by API call)?

Thank you in advance for the answers.

@DzmitryHumianiuk
Copy link
Member

@szikszail
http://reportportal.io/#documentation/Analyze-launches>-auto-analysis-algorithm

"Auto-Analysis" algorithm is based on previous user-investigated results for failed items (SKIPPED or FAILED). Means user should investigate failed items at least once to create initial issues scope. Next launches with the same name will have base material for logs comparison.
If any issue appears in the next run (launch with the same name) then specified Report Portal service remembers failed item and launch, and saves it as comparison candidate. "Auto-analysis" starts its routine on the finish launch event:
"Auto-Analysis" creates history for current launch (with 4th launches in depth by now).
"Auto-Analysis" looking ALL investigated items in history, means all items with user specified comments, issue types and external system IDs (JIRA, for example).
Then "Auto-Analysis" going to process all remembered failed items from current launch:
"Auto-Analysis" took first item from remembered list and start to looking in history list investigated item with the same count of ERROR logs. If this item found then error log strings start comparing one with others via calculating Levenshtein distance. All digit chars are excluded from comparison to avoid date, numbers and code line number differences in stack-traces.
If total ratio more or equals 95% (it will be configurable in future per project) then "Auto-Analysis" setup all attributes from investigated item in history to current failed item, and switching on next one failed item.

image

Answering question:

  1. no
  2. no
  3. yes, if i got you right
  4. no
  5. yes

@szikszail
Copy link
Author

Thank you for the quick answer, @DzmitryHumianiuk . Now, I have a cleaner view on it.

But, to follow up:

  1. When the auto-analysis trigger, immediately after the launch finish? Is there any way to determine (via API) that it's finished?
  2. Although currently there is no way to include different launches in launch history, what do you think, can it be a future feature?

@DzmitryHumianiuk
Copy link
Member

DzmitryHumianiuk commented Jun 26, 2017

@szikszail

  1. Yes, it triggered automatically, as soon as launch receive Finish signal.
    and if Auto-analysis set to ON in project config.
    image
    in it's OFF then still available manual call.
    image
    Currently there is no end-point to check status of AA job. Since we migrating to new level with Machine Learning, we do not extend it for now.
    but there is in-direct way to check is launch is under analysis - it is an under analysis flag.
    you can find it in launch object, under Network tab of your browser, when launch is under analysis at this moment.

  2. you can make workaround with launch naming. Merge can help you to update the name.

but as a next step we consider to implement configuration for AA. To search in the row with same name, or any launch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants