[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tracecompass-dev] Fw: Problems updating plugin using Trace Compass to Eclipse Oxygen SR3
|
Loic
I looked at the interval visibility problem a bit this morning and found out what's happening.
I have a class that extends CallstackPresentationProvider and overrides that classes getStateTable, getEventHoverTooltipInfo and getStateTableIndex methods with the intent to set color for the interval depending on specific attributes of the interval I get from the state system and also controls visibility of intervals. My getStateTableIndex method expects to get a CallStackEvent, but is now getting either a TimeEvent or a NamedTimeEvent object. Since my code didn't know what to do with them, it returns ITimeGraphPresentationProvider.INVISIBLE.
My extension of CallstackPresentationProvider does need access to the state system so I can query it in order for the view to work correctly.
I will look at the code you referenced to see what I need to do.
Thanks
Dave
Loic Prieur Drevon ---03/01/2018 10:11:13 AM---Hi David, We have undergone some major decoupling work to separate the core and
From: Loic Prieur Drevon <loic.prieur.drevon@xxxxxxxxxxxx>
To: "tracecompass-dev@xxxxxxxxxxx" <tracecompass-dev@xxxxxxxxxxx>
Date: 03/01/2018 10:11 AM
Subject: Re: [tracecompass-dev] Fw: Problems updating plugin using Trace Compass to Eclipse Oxygen SR3
Sent by: tracecompass-dev-bounces@xxxxxxxxxxx
Hi David,
We have undergone some major decoupling work to separate the core and
UI classes, which now exchange data through the data provider
interface.
It seems that you needed the ITmfStateSystem to populate your tooltips,
but we try not to access the state system in the UI now. The "new" way
to do it is to use the fetchTooltip method in ITimeGraphDataProvider.
The CriticalPathPresentationProvider, ControlFlowPresentationProvider
and ResourcesPresentationProvider contain examples using this API.
Your states might also not be colored because of missing getStateTable
and getStateTableIndex?
Hope this helps,
Loic
On Wed, 2018-02-28 at 14:51 -0500, David Wootton wrote:
> Sorry if this is a duplicate. My email client picked tracecompass-
> dev-bounces by mistake the first time.
> Dave
> ----- Forwarded by David Wootton/Poughkeepsie/Contr/IBM on 02/28/2018
> 02:50 PM -----
>
> From: David Wootton/Poughkeepsie/Contr/IBM
> To: tracecompass-dev-bounces@xxxxxxxxxxx
> Date: 02/28/2018 11:00 AM
> Subject: Problems updating plugin using Trace Compass to Eclipse
> Oxygen SR3
>
>
> Hi
> I'm trying to update my plugin which uses Trace Compass from Eclipse
> Oxygen SR1 to Oxygen SR3. After the update it still builds cleanly
> but I ran into a couple problems.
>
> After I load a trace, the trace table editor view is filled in and
> appears to work correctly. However, I have a class which extends
> CallStackView. The structure of the trace appears to be present since
> the time line and the stack for each timeline seem to be properly
> filled in. The problem is that the intervals in the trace are all
> invisible.
>
> The second problem is that if I hover the mouse over random places in
> that view, the intervals seem to be present because I get a tooltip
> popup with some basic information about the interval, but the
> additional info by plugin generates is not there. I also get an
> exception at the same time, as pasted below.
>
> I looked at my plugin source and at least part of the problem may be
> related to the CallStackEntry and CallStackEvent classes now being
> deprecated.
>
> Not being sure how to fix this, I started by replacing my use of
> CallStackEntry with TimeEntry as comments in the st, able-3.3 branch
> source suggest, but then I run into another problem since I use the
> CallStackEvent getEntry() method to get an ITmfStateSystem object and
> that method in the superclass returns an ITimeGraphEntry so gets
> flagged in error.
>
> Any suggestions how I resolve this are appreciated.
>
> java.lang.ClassCastException:
> org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.TimeGraphEntr
> y cannot be cast to
> org.eclipse.tracecompass.tmf.ui.views.callstack.CallStackEntry
> at
> com.ibm.ppedev.hpct.tracecompass.ui.IntervalPresentationProvider.getE
> ventHoverToolTipInfo(IntervalPresentationProvider.java:85)
> at
> org.eclipse.tracecompass.tmf.ui.widgets.timegraph.TimeGraphPresentati
> onProvider.getEventHoverToolTipInfo(TimeGraphPresentationProvider.jav
> a:135)
> at
> org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.TimeGraphTo
> oltipHandler.fillValues(TimeGraphTooltipHandler.java:173)
> at
> org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.TimeGraphTo
> oltipHandler.fill(TimeGraphTooltipHandler.java:93)
> at
> org.eclipse.tracecompass.tmf.ui.viewers.TmfAbstractToolTipHandler$2.m
> ouseHover(TmfAbstractToolTipHandler.java:81)
> at
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:
> 209)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
> at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
> at
> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(Pa
> rtRenderingEngine.java:1150)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja
> va:336)
> at
> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(Part
> RenderingEngine.java:1039)
> at
> org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Wor
> kbench.java:153)
> at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja
> va:336)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav
> a:594)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
> at com.ibm.ppedev.rcp.Application.start(Application.java:23)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandl
> e.java:196)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli
> cation(EclipseAppLauncher.java:134)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ec
> lipseAppLauncher.java:104)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
> va:388)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
> va:243)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
>
> Dave
>
> _______________________________________________
> tracecompass-dev mailing list
> tracecompass-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.eclipse.org_mailman_listinfo_tracecompass-2Ddev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=yA1Giwd7Ls577uUKQ3fQWICGHopYggQ46OvlB30WK5M&m=a4kuNW5Xmr3qaAGgtdMVI4wLDH3T_ddhRVzE__FIM1g&s=OSiJHR0wLz5FpdGYreLM6ttjD8g5VgemO_6Been00PI&e=
_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.eclipse.org_mailman_listinfo_tracecompass-2Ddev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=yA1Giwd7Ls577uUKQ3fQWICGHopYggQ46OvlB30WK5M&m=a4kuNW5Xmr3qaAGgtdMVI4wLDH3T_ddhRVzE__FIM1g&s=OSiJHR0wLz5FpdGYreLM6ttjD8g5VgemO_6Been00PI&e=