Skip to main content

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

Hi,


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:


    @Override
    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:


   <extension
         point="org.eclipse.tracecompass.tmf.core.dataprovider">
      <dataProviderFactory
              class="org.eclipse.tracecompass.incubator.internal.jpftrace.ui.view.JpfThreadStatusDataProviderFactory"
              id="org.eclipse.tracecompass.incubator.internal.jpftrace.ui.view.JpfThreadStatusDataProviderFactory">
      </dataProviderFactory>
   </extension>


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,


Yang


Back to the top