Feature #1982
Feature #2139: Finalize introspection implementation
Enable introspection senders by default?
Status: | In Progress | Start date: | 09/05/2014 | ||
---|---|---|---|---|---|
Priority: | Normal | Due date: | |||
Assignee: | J. Moringen | % Done: | 60% | ||
Category: | Introspection | ||||
Target version: | rsb-0.18 |
Description
I think we decided to enable introspection by default at some point.
Now we should probably discuss when and how we want to make that transition after the implementations get pushed.
Associated revisions
Disable introspection by default in rsb/__init__.py
refs #1982
- rsb/__init__.py (ParticipantConfig.__fromDict): disable introspection
by default
(ParticipantConfig.fromDefaultSources): likewise
Enable introspection by default in
refs #1982
Note that the introspection plugin still has to be loaded manually for
now.
- src/rsb/ParticipantConfig.cpp (ParticipantConfig::ParticipantConfig):
initialize the introspection member variable to true
Enable introspection by default in src/rsb/ParticipantConfig.cpp
refs #1982
Note that the introspection plugin still has to be loaded manually for
now.
- src/rsb/ParticipantConfig.cpp (ParticipantConfig::ParticipantConfig):
initialize the introspection member variable to true
Enable introspection by default in src/rsb/config/ParticipantConfig[Creator].java
refs #1982
- src/rsb/config/ParticipantConfig.java
(ParticipantConfig.introspectionEnabled): changed value false -> true - src/rsb/config/ParticipantConfigCreator.java
(ParticipantConfigCreator.reconfigure): changed default value of
introspection property false -> true - test/rsb/ParticipantObservationTest.java
(ParticipantObservationTest.config): new member variable;
configuration without introspection for tests
(ParticipantObservationTest.setUp): initialize new config member
(Participant.listenerNotifies): use configuration when constructing
(ParticipantObservatonTest.participantNotifies): likewise
(ParticipantObservatonTest.informerNotifies): likewise
(ParticipantObservatonTest.remoteServerNotifies): likewise
(ParticipantObservatonTest.localServerNotifies): likewise
(ParticipantObservatonTest.localMethodNotifies): likewise
(ParticipantObservatonTest.remoteMethodNotifies): likewise - test/rsb/config/ParticipantConfigTest.java
(ParticipantConfigTest.introspectionEnabled): adapted expected values
to changed default value - test/rsb/config/ParticipantConfigCreatorTest.java
(ParticipantConfigCreatorTest.introspection): likewise
History
#1 Updated by J. Moringen over 9 years ago
@Johannes, Sebastian: Do you think we should attempt this?
For Common Lisp, Python and probably Java, enabling introspection by default should (technically) not be problem since the functionality is always available.
In C++, introspection can only be enabled, if the plugin is loaded. As a result, making "enabled" the default would only have an effect if the plugin is loaded. Otherwise the configuration option would be ignored.
There are also the potential stability and performance implications to consider (additional Spread connections, additional communication, periodic ping events, etc).
In the apartment context, introspection did not cause any problems (that I am aware of). However, in some situations, for example on embedded systems, users may object to having introspection enabled by default.
#2 Updated by S. Wrede over 9 years ago
Generally, I vote for switching introspection on by default as it provides an important tool for both new and experienced users. For experienced users, it should be no problem to switch off the introspection in case it leads to resource issues.
A more conservative strategy could also be to let it switched off by default in RSB 0.11 and enable it by default in 0.12. That way, we could first get some hands-on experience with the new feature.
#3 Updated by J. Moringen over 9 years ago
- Status changed from Feedback to In Progress
- Target version changed from rsb-0.11 to rsb-0.12
- Avoid the possibility of introducing stability and/or performance issues for systems running with default configuration
- How would always loading the C++ introspection plugin be accomplished?
- How will introspection interact with participant configuration via URLs?
We will reconsider the possibility for the 0.12 release.
#4 Updated by J. Moringen over 9 years ago
- Parent task changed from #44 to #2139
#5 Updated by J. Moringen about 9 years ago
- Assignee set to J. Moringen
#6 Updated by J. Moringen about 9 years ago
- % Done changed from 0 to 60
#7 Updated by J. Wienke almost 9 years ago
Is there anything missing for this issue to be resolved?
#8 Updated by J. Wienke over 8 years ago
- Target version changed from rsb-0.12 to rsb-0.13
#9 Updated by J. Moringen about 8 years ago
- Target version changed from rsb-0.13 to rsb-0.14
#10 Updated by J. Moringen almost 8 years ago
- Target version changed from rsb-0.14 to rsb-0.15
#11 Updated by J. Moringen over 7 years ago
- Target version changed from rsb-0.15 to rsb-0.16
#12 Updated by J. Moringen almost 7 years ago
- Target version changed from rsb-0.16 to rsb-0.17
#13 Updated by J. Moringen over 6 years ago
- Target version changed from rsb-0.17 to rsb-0.18