-
Notifications
You must be signed in to change notification settings - Fork 32
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
Abstract tracer and create an internal one for test purposes #267
Conversation
we have a Tracer ? |
I don't think this is what you can to with that. Currently tracing is more for getting deeper insights on what is going on. But it heavily impacts performance and is not suitable for non-linux platforms. |
ahhhhhhhhhhhhhhhh .... so this would be a totally different thing: |
src/core/trace/flexibleTracer.h
Outdated
* @brief A tracer that can be changed to use the existing tracers: BarectfPlatformFORTE and CInternalTracer | ||
* | ||
*/ | ||
class CFlexibelTracer final { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
class CFlexibelTracer final { | |
class CFlexibleTracer final { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, when I click the link you posted, I get:
The word you've entered isn't in the dictionary.
It even suggests the correct spelling: https://www.merriam-webster.com/dictionary/flexible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently I was very tired
yes |
This PR is part a branch with some other things, so some things are still not used here.
The folllowing was done here:
barectf
tracer was removed from the main code and hidden inBarectfPlatformFORTE
. To do that, aCForteTracer
typedef was created which can be set to other tracers during compilation time.BarectfPlatformFORTE
(and others tracers) have methods such astraceInstanceData
,traceReceiveInputEvent
, etc. which mirror the ones frombarectf
. The Function Blocks then call these methods inCForteTracer
class.EventMessage
which contains the same information as thebarectf
traces. This is only compile if the tracer tests are enabled.BarectfPlatformFORTE
and the internal tracer, which allows selecting one or the other during runtime. This is the default tracer if tracer tests are enabled.babeltrace2
was moved out of theEventMessages
and this factory allows creatingEventMessages
from thebt_field
(and other) types defined bybabeltrace2
.The main idea of this new code is to be able generate traces using
barectf
but also directly into memory and be able to have the same class to compare them (EventMessage
)