Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] [TC incubator] Data provider and its factory is not called

Hi Geneviève,

It helps, now the view is showing something! Thanks a lot! 

But may I ask why should I the ID of the data provider be identical to the ID of the factory? What if I modify the 

id = "org.eclipse.tracecompass.incubator.internal.jpftrace.ui.view.JpfThreadStatusDataProviderFactory"

to be 

id = "org.eclipse.tracecompass.incubator.internal.jpftrace.ui.view.JpfThreadStatusDataProvider"

will this disable the program to find my provider factory class? 


From: tracecompass-dev-bounces@xxxxxxxxxxx <tracecompass-dev-bounces@xxxxxxxxxxx> on behalf of tracecompass developer discussions <tracecompass-dev@xxxxxxxxxxx>
Sent: Friday, May 15, 2020 4:11 PM
To: tracecompass-dev@xxxxxxxxxxx
Subject: Re: [tracecompass-dev] [TC incubator] Data provider and its factory is not called

Hi Yang,

Quick check: is JpfThreadStatusDataProvider.ID equal to org.eclipse.tracecompass.incubator.internal.jpftrace.ui.view.JpfThreadStatusDataProviderFactory (the id in your factory declaration in plugin.xml)?

These 2 values should match.



On 5/15/20 9:42 AM, tracecompass developer discussions wrote:


I'm implementing a new trace type and try to visualize it by extending the control flow view, but I encountered some problems and would like to ask your help.

Formerly my trace implements IKernelTrace so it could be drawn by the Control Flow View. 

Now I want to make my own trace events types(not only the ones in DefaultEventLayout) such as thread_wait, thread_notify, etc. I also expect to draw more elements on the chart denoting these type of events.

Now I created a ui module for my trace, the view class extends ControlFlowView, and override the getProviderId() function by returning the ID of my extended JpfThreadStatusDataProvider:

    protected String getProviderId() {
        return JpfThreadStatusDataProvider.ID;

I've also created a factory for my data provider and try to hook it to the dataprovider point in plugin.xml, and I do like this:


But from the running and logging, I could see that:

* My view window could be opened, but there's nothing in it. 

        (there should be a graph at least the same athe control flow view if it works)

* The JpfTraceControlFlowView is constructed, and the overrided getProviderId() is called;

The function createProvider() of my data provider factory is never called;

so my JpfThreadStatusDataProvider is not instantiated.

How should I check if I miss anything for it to work? Or should I do it in another way to create the expected features?

Thank you a lot in advance,


tracecompass-dev mailing list
To unsubscribe from this list, visit

Back to the top