[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Use of deprecated and discouraged access APIs

Hi David

 

At the moment, we don’t have any plans to make them public in 4.3 or 5.0. Other classes would need to be public as well (e.g. parent classes).  We’ll post on the mailing list if there are any changes to this decision.

 

We are going to review the current data provider APIs and discuss how to evolve them further. The idea of data providers is to provide models that can be easily serialized over a well-defined protocol between a trace server and trace visualizer. This architecture opens to use the core features of Trace Compass outside the current Trace Compass application. Your use case will also give us input for that as well.

 

If you have any concerns, questions or if you encounter any problems, don’t hesitate to contact us.

 

Best Regards

Bernd

 

From: tracecompass-dev-bounces@xxxxxxxxxxx <tracecompass-dev-bounces@xxxxxxxxxxx> On Behalf Of David Wootton
Sent: February-19-19 11:56 AM
To: tracecompass-dev <tracecompass-dev@xxxxxxxxxxx>
Subject: [tracecompass-dev] Use of deprecated and discouraged access APIs

 

Hi
I had a discussion a while ago with Matthew about our plugin's use of some Trace Compass classes and methods that are Trace Compass internal classes and the possibility of making those classes part of the public API.

Following up on this, I set the message level for the discouraged and deprecated uses to Error to be sure I didn't miss anything. I got the following list using the http://download.eclipse.org/tracecompass/photon/milestones/ur3_m2/ build.

Discouraged access: The constructor 'CallStackDataProvider(ITmfTrace, CallStackAnalysis)' is not API
Discouraged access: The constructor 'CallStackEntryModel(long, long, String, long, long, int, int)' is not API
Discouraged access: The method 'AbstractTmfTraceDataProvider.computeRegexPredicate(TimeGraphStateQueryFilter)' is not API
Discouraged access: The method 'AbstractTmfTraceDataProvider.getTrace()' is not API
Discouraged access: The method 'AbstractTreeDataProvider<CallStackAnalysis,CallStackEntryModel>.getAnalysisModule()' is not API
Discouraged access: The method 'AbstractTreeDataProvider<CallStackAnalysis,CallStackEntryModel>.getId(int)' is not API
Discouraged access: The method 'AbstractTreeDataProvider<CallStackAnalysis,CallStackEntryModel>.getSelectedEntries(SelectionTimeQueryFilter)' is not API
Discouraged access: The method 'AbstractTreeDataProvider<CallStackAnalysis,CallStackEntryModel>.getTimes(TimeQueryFilter, long, long)' is not API
Discouraged access: The type 'CallStackDataProvider' is not API
Discouraged access: The type 'CallStackEntryModel' is not API
Discouraged access: The type 'TimeGraphStateQueryFilter' is not API

I did not get any errors for use of deprecated classes or methods

I also ran a recursive grep of my source and found three instances where I import a class with '.internal.' as part of its name

import org.eclipse.tracecompass.internal.analysis.profiling.core.callstack.provider.CallStackEntryModel;
import org.eclipse.tracecompass.internal.analysis.profiling.core.callstack.provider.CallStackDataProvider;
import org.eclipse.tracecompass.internal.tmf.core.model.filters.TimeGraphStateQueryFilter;

Are you willing to make any of the above part of the published Trace Compass API? I realize that it's probably too late for Trace Compass 4.3. Is this a possibility for Trace Compass 5.0?

Thanks

Dave