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

Monitoring rework #712

Merged
merged 27 commits into from
Nov 11, 2024
Merged

Monitoring rework #712

merged 27 commits into from
Nov 11, 2024

Conversation

mx990
Copy link
Member

@mx990 mx990 commented Nov 6, 2024

No description provided.

Copy link

github-actions bot commented Nov 6, 2024

Test Results

   110 files  ±0     110 suites  ±0   47s ⏱️ -1s
27 533 tests ±0  27 533 ✅ ±0  0 💤 ±0  0 ❌ ±0 
27 534 runs  ±0  27 534 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 62252c0. ± Comparison against base commit feeb25c.

♻️ This comment has been updated with latest results.

@oberlehner
Copy link
Contributor

i got this exception:

  1. run configurations -> deploy 2) toggle watch on random pins ; then a dialog came that asked me to switch to the monitoring session.

!ENTRY org.eclipse.core.jobs 4 0 2024-11-07 08:28:35.021
!MESSAGE Connect to Demo
!SUBENTRY 1 org.eclipse.core.jobs 4 2 2024-11-07 08:28:35.022
!MESSAGE An internal error occurred during: "Connect to FORTE_PC".
!STACK 0
java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at org.eclipse.fordiac.ide.deployment.debug.watch.DeploymentDebugWatchUtils.getResource(DeploymentDebugWatchUtils.java:29)
at org.eclipse.fordiac.ide.deployment.debug.watch.DeploymentDebugWatchUtils.getResource(DeploymentDebugWatchUtils.java:30)
at org.eclipse.fordiac.ide.deployment.debug.watch.AbstractVariableWatch.(AbstractVariableWatch.java:35)
at org.eclipse.fordiac.ide.deployment.debug.watch.AbstractRuntimeWatch.(AbstractRuntimeWatch.java:34)
at org.eclipse.fordiac.ide.deployment.debug.watch.VarDeclarationWatch.(VarDeclarationWatch.java:38)
at org.eclipse.fordiac.ide.deployment.debug.watch.IWatch.watchFor(IWatch.java:111)
at org.eclipse.fordiac.ide.deployment.debug.watch.FBNetworkElementValue.createSubWatch(FBNetworkElementValue.java:65)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at org.eclipse.fordiac.ide.deployment.debug.watch.FBNetworkElementValue.(FBNetworkElementValue.java:43)
at org.eclipse.fordiac.ide.deployment.debug.watch.FBNetworkElementWatch.(FBNetworkElementWatch.java:27)
at org.eclipse.fordiac.ide.deployment.debug.watch.IWatch.watchFor(IWatch.java:114)
at org.eclipse.fordiac.ide.deployment.debug.DeploymentDebugDevice.lambda$11(DeploymentDebugDevice.java:241)
at java.base/java.util.concurrent.ConcurrentSkipListMap.computeIfAbsent(ConcurrentSkipListMap.java:1462)
at org.eclipse.fordiac.ide.deployment.debug.DeploymentDebugDevice.addWatch(DeploymentDebugDevice.java:240)
at org.eclipse.fordiac.ide.deployment.debug.DeploymentDebugDevice.breakpointAdded(DeploymentDebugDevice.java:210)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at java.base/java.util.stream.ReferencePipeline$Head.forEachOrdered(ReferencePipeline.java:772)
at org.eclipse.fordiac.ide.deployment.debug.DeploymentDebugDevice.connect(DeploymentDebugDevice.java:116)
at org.eclipse.fordiac.ide.deployment.debug.DeploymentDebugTarget.doConnect(DeploymentDebugTarget.java:124)
at org.eclipse.fordiac.ide.deployment.debug.DeploymentDebugTarget.lambda$2(DeploymentDebugTarget.java:100)
at org.eclipse.core.runtime.jobs.Job$2.run(Job.java:187)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

after closing and reopen the system, monitoring works fine.

@oberlehner
Copy link
Contributor

oberlehner commented Nov 7, 2024

image
shouldnt i see DO2 and DO3 here in the variables view ?
I am in the debug view

I am not sure if use it in a correct way. But monitoring seems to work, since trigger event updates the output values correct.

@oberlehner
Copy link
Contributor

When i right click toggle watch on a block, i don't see any monitoring labels. Only when i right click on a pin.
I would expect, when clicking on a block that i get all pins monitored.
But i don't know if this should be the intended behaviour.

@mx990
Copy link
Member Author

mx990 commented Nov 7, 2024

image shouldnt i see DO2 and DO3 here in the variables view ? I am in the debug view

I am not sure if use it in a correct way. But monitoring seems to work, since trigger event updates the output values correct.

Could it be that you don't have the Watches selected in the Debug view? It should normally show at least the column headers (Name and Value), as long as the Watches are selected, even if there are no watches.

@oberlehner
Copy link
Contributor

image shouldnt i see DO2 and DO3 here in the variables view ? I am in the debug view
I am not sure if use it in a correct way. But monitoring seems to work, since trigger event updates the output values correct.

Could it be that you don't have the Watches selected in the Debug view? It should normally show at least the column headers (Name and Value), as long as the Watches are selected, even if there are no watches.

ok now i have it.
it was not selected here
image

@mx990
Copy link
Member Author

mx990 commented Nov 7, 2024

When i right click toggle watch on a block, i don't see any monitoring labels. Only when i right click on a pin. I would expect, when clicking on a block that i get all pins monitored. But i don't know if this should be the intended behaviour.

Yes, you should have watches for all pins when adding a watchpoint on a block. I believe this may be caused by the exception above. I am still not sure why at least one of the other pins does not seem to have a resource, since it is clearly mapped in the editor.

In the meantime, I have made some changes to gracefully handle watched elements that are not in a resource.

@azoitl azoitl merged commit eeed096 into eclipse-4diac:develop Nov 11, 2024
4 checks passed
@mx990 mx990 deleted the monitoringRework branch November 11, 2024 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants