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

Find solution for huge calltrees in RCA #81

Open
mawHBT opened this issue Jan 26, 2022 · 0 comments
Open

Find solution for huge calltrees in RCA #81

mawHBT opened this issue Jan 26, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@mawHBT
Copy link
Collaborator

mawHBT commented Jan 26, 2022

What feature do you want to see added?

If one (or several) method(s) are called very often it can happen, that the queue for saving the calltree is filled up and entries get lost. With setting "onlyOneCallRecording: true" the regression test selection works, but the calltree can not be reconstructed for root cause analysis.

Possible solutions:
1.) Identify the appropriate method(s) and exclude them with an extra parameter "monitoringExclude"
2.) Adapt the kieker-probe to get call-relations (problem: too many traces again)
3.) Use a blockingQueue (which will slow down execution a lot)
4.) Record calltree only to the node(s) with changes (more generic, but for preprocessing only static analysis will be possible, creating call-relations will be complex and unsave then)

RCA log shows:
java.lang.RuntimeException: An error occured - root node of fwr-core§de.hbt.individualroute.data.RouteNetLoaderTest#testLoadRouteNet could not be identified! at de.dagere.peass.measurement.rca.kieker.TreeReader.readTree(TreeReader.java:58) at de.dagere.peass.measurement.rca.kieker.TreeReader.getTree(TreeReader.java:47) at de.dagere.peass.measurement.rca.kieker.BothTreeReader.determineTrees(BothTreeReader.java:84) at de.dagere.peass.measurement.rca.kieker.BothTreeReader.readTrees(BothTreeReader.java:75) at de.dagere.peass.measurement.rca.searcher.CauseSearcher.search(CauseSearcher.java:63) at de.dagere.peass.ci.helper.RCAExecutor.executeRCA(RCAExecutor.java:140) at de.dagere.peass.ci.helper.RCAExecutor.analyseChange(RCAExecutor.java:120) at de.dagere.peass.ci.helper.RCAExecutor.executeRCAs(RCAExecutor.java:73) at de.dagere.peass.ci.remote.RemoteRCA.executeRCA(RemoteRCA.java:88) at de.dagere.peass.ci.remote.RemoteRCA.invoke(RemoteRCA.java:58) at de.dagere.peass.ci.remote.RemoteRCA.invoke(RemoteRCA.java:28) at hudson.FilePath.act(FilePath.java:1200) at hudson.FilePath.act(FilePath.java:1183) at de.dagere.peass.ci.process.LocalPeassProcessManager.rca(LocalPeassProcessManager.java:111) at de.dagere.peass.ci.MeasureVersionBuilder.measure(MeasureVersionBuilder.java:190) at de.dagere.peass.ci.MeasureVersionBuilder.runAllSteps(MeasureVersionBuilder.java:174) at de.dagere.peass.ci.MeasureVersionBuilder.perform(MeasureVersionBuilder.java:137) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:100) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:70) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)

Upstream changes

No response

@mawHBT mawHBT added the enhancement New feature or request label Jan 26, 2022
@DaGeRe DaGeRe self-assigned this Jan 26, 2022
@DaGeRe DaGeRe changed the title Find solution for huge calltrees Find solution for huge calltrees in RCA Jan 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants