Applying changes to the instrumentation configuration without restarting the application server
We assigned to this ticket as it brings an opportunity for him to span over several components and get better insight in the complete Configuration interface story. In addition he will get closed to the agent and how the things work there.
Please talk to before starting.
In we are introducing re-transformation instead of re-definition.
SUCCESS: Integrated in
inspectIT - Integration #241
INSPECTIT-1951: Dynamic Instrumentation (ivan.senic: b67da7569bc3bb01f8281d9394328c83d21c9172)
(edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/connection/IConnection.java
(edit) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/NextGenInstrumentationManagerTest.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/service/AgentInstrumentationServiceTest.java
(add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/handler/InstrumentationUpdateHandler.java
(add) inspectit.server/src/main/java/rocks/inspectit/server/ci/event/ClassInstrumentationChangedEvent.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/listener/AgentMappingsEventListener.java
(add) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/instrumentation/RetransformManagerTest.java
(edit) inspectit.server/src/main/resources/spring/spring-context-jetty.xml
(edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/provider/ICmrRepositoryProvider.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/config/job/EnvironmentUpdateJob.java
(edit) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/cmr/service/IAgentService.java
(edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/javaagent/JavaAgent.java
(edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/repository/service/cmr/CmrServiceProvider.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/event/AgentDeletedEvent.java
(edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/repository/CmrRepositoryDefinition.java
(edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/connection/impl/KryoNetConnection.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/listener/ProfileEventListenerTest.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/config/job/AbstractConfigurationChangeJob.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/service/AgentServiceTest.java
(add) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/connection/impl/AgentMessageFetcher.java
(add) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/communication/message/IAgentMessage.java
(edit) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/service/IRegistrationService.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/service/RegistrationService.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/listener/AgentMappingsEventListenerTest.java
(add) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/event/AgentMessagesReceivedEvent.java
(edit) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/connection/impl/KryoNetConnectionTest.java
(edit) inspectit.server/src/test/java/rocks/inspectit/server/service/RegistrationServiceTest.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/messaging/AgentMessageProviderTest.java
(edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/preferences/InspectITPreferenceInitializer.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/ci/event/ClassInstrumentationChangedEventTest.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/dao/MethodIdentDao.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/service/GlobalDataAccessService.java
(edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/preferences/valueproviders/PreferenceValueProviderFactory.java
(edit) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/classcache/ClassCacheLookupTest.java
(edit) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/config/job/EnvironmentMappingUpdateJobTest.java
(edit) inspectit.server/src/test/java/rocks/inspectit/server/util/AgentStatusDataProviderTest.java
(add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/listener/impl/InstrumentationUpdateListener.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/service/AgentService.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/listener/EnvironmentEventListener.java
(edit) inspectit.server/src/test/java/rocks/inspectit/server/service/GlobalDataAccessServiceTest.java
(edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/preferences/PreferencesConstants.java
(edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/SpringAgent.java
(add) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/connection/impl/AgentMessageFetcherTest.java
(edit) resources/config/findbugs/findBugsExcludeFilter.xml
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/config/job/ProfileUpdateJob.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/listener/EnvironmentEventListenerTest.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/classcache/ClassCacheLookup.java
(edit) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/config/job/ProfileUpdateJobTest.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/config/job/EnvironmentMappingUpdateJob.java
(add) inspectit.server/src/main/java/rocks/inspectit/server/messaging/AgentMessageProvider.java
(edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ApplicationWorkbenchAdvisor.java
(add) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/event/AgentMessagesReceivedEventTest.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/util/AgentStatusDataProvider.java
(add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/service/IAgentInstrumentationService.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/listener/ProfileEventListener.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/dao/impl/MethodIdentDaoImpl.java
(add) inspectit.server/src/main/java/rocks/inspectit/server/service/AgentInstrumentationService.java
(edit) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/communication/data/cmr/AgentStatusData.java
(edit) inspectit.ui.rcp/src/main/resources/plugin.xml
(edit) inspectit.server/src/test/java/rocks/inspectit/server/instrumentation/config/job/EnvironmentUpdateJobTest.java
(add) inspectit.server/src/main/java/rocks/inspectit/server/event/AgentRegisteredEvent.java
(add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/dialog/InstrumentationUpdateDialog.java
(edit) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/cmr/model/MethodIdent.java
(add) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/listener/AbstractConfigurationChangeListener.java
(add) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/communication/message/UpdatedInstrumentationMessage.java
(add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/preferences/valueproviders/EnumPreferenceValueProvider.java
(edit) inspectit.server/src/main/java/rocks/inspectit/server/instrumentation/NextGenInstrumentationManager.java
(edit) inspectit.ui.rcp/src/main/resources/META-INF/spring/spring-context-model-main.xml
(add) inspectit.server/src/main/java/rocks/inspectit/server/messaging/AgentInstrumentationMessageGate.java
(add) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/instrumentation/IInstrumentationAware.java
(add) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/instrumentation/RetransformManager.java
(add) inspectit.server/src/test/java/rocks/inspectit/server/messaging/AgentInstrumentationMessageGateTest.java
(add) inspectit.ui.rcp/src/main/resources/icons/fugue/pipette-refresh.png
(edit) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/cmr/model/MethodIdentToSensorType.java
As discussed, let's have a small documentation for this. Basic on usage and current limitations. In addition, please create new tickets that we need in order to fully support dynamic instrumentation (config, JMX, exclude rules).