Tabnine Logo
IAgent
Code IndexAdd Tabnine to your IDE (free)

How to use
IAgent
in
rocks.inspectit.agent.java

Best Java code snippets using rocks.inspectit.agent.java.IAgent (Showing top 12 results out of 315)

origin: inspectIT/inspectIT

/**
 * {@inheritDoc}
 */
@Override
public void onApplicationEvent(AgentMessagesReceivedEvent event) {
  if (event == null) {
    if (log.isDebugEnabled()) {
      log.debug("A 'null' event will not be processed.");
    }
    return;
  }
  // When we update to Spring v4, we should use @Conditional that the RetransformationManager
  // is not running if retransformation is not used.
  if (!Agent.agent.isUsingRetransformation()) {
    if (log.isInfoEnabled()) {
      log.info("Retransformation is disabled by the used retransformation strategy.");
    }
    return;
  }
  List<InstrumentationDefinition> instrumentationDefinitions = getInstrumentatioDefinitions(event.getAgentMessages());
  if (CollectionUtils.isEmpty(instrumentationDefinitions)) {
    return;
  }
  // remove out-dated duplicates
  Collection<InstrumentationDefinition> cleanedInstrumentationDefinitions = removeOutdatedInstrumentationDefinitions(instrumentationDefinitions);
  processInstrumentationDefinitions(cleanedInstrumentationDefinitions);
}
origin: inspectIT/inspectIT

if (!Agent.agent.shouldClassBeIgnored(clazzName) && Agent.agent.shouldAnalyzeOnStartup(clazzName)) {
  try {
    if (useRetransformation) {
      instrumentation.retransformClasses(loadedClass);
    } else {
      byte[] modified = Agent.agent.inspectByteCode(null, clazzName, loadedClass.getClassLoader());
      if (null != modified) {
        ClassDefinition classDefinition = new ClassDefinition(loadedClass, modified);
origin: inspectIT/inspectIT

if (!Agent.agent.isInstrumentationDisabled()) {
  boolean redefineClassesSupported = inst.isRedefineClassesSupported();
  boolean useRetransformation = inst.isRetransformClassesSupported() && Agent.agent.isUsingRetransformation();
origin: inspectIT/inspectIT

  byte[] instrumentedData = Agent.agent.inspectByteCode(data, modifiedClassName, classLoader);
  return instrumentedData;
} catch (Throwable ex) { // NOPMD
origin: inspectIT/inspectIT

@Test
public void unknownMessageClass() throws UnmodifiableClassException {
  IAgentMessage<?> message = mock(IAgentMessage.class);
  AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
  when(instrumentation.getAllLoadedClasses()).thenReturn(new Class[] { Object.class, String.class });
  when(agent.isUsingRetransformation()).thenReturn(true);
  retransformManager.onApplicationEvent(event);
  verifyZeroInteractions(instrumentation, classHashHelper, threadTransformHelper);
}
origin: inspectIT/inspectIT

@Test
public void noInstrumentationDefinitions() throws UnmodifiableClassException {
  IAgentMessage<?> message = new UpdatedInstrumentationMessage();
  AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
  when(instrumentation.getAllLoadedClasses()).thenReturn(new Class[] { Object.class, String.class });
  when(agent.isUsingRetransformation()).thenReturn(true);
  retransformManager.onApplicationEvent(event);
  verifyZeroInteractions(instrumentation, classHashHelper, threadTransformHelper);
}
origin: inspectIT/inspectIT

  @Test
  public void retransformationDisabled() throws UnmodifiableClassException {
    InstrumentationDefinition objectDefinition = mock(InstrumentationDefinition.class);
    when(objectDefinition.getClassName()).thenReturn("java.lang.Object");
    IAgentMessage<?> message = new UpdatedInstrumentationMessage();
    ((UpdatedInstrumentationMessage) message).getMessageContent().add(objectDefinition);
    AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
    when(agent.isUsingRetransformation()).thenReturn(false);
    retransformManager.onApplicationEvent(event);
    verifyZeroInteractions(instrumentation, classHashHelper, threadTransformHelper);
  }
}
origin: inspectIT/inspectIT

@Test
public void unknownInstrumentationClass() throws UnmodifiableClassException {
  InstrumentationDefinition iDefinition = mock(InstrumentationDefinition.class);
  when(iDefinition.getClassName()).thenReturn("unknown.Class");
  IAgentMessage<?> message = new UpdatedInstrumentationMessage();
  ((UpdatedInstrumentationMessage) message).getMessageContent().add(iDefinition);
  AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
  when(instrumentation.getAllLoadedClasses()).thenReturn(new Class[] { Object.class, String.class });
  when(agent.isUsingRetransformation()).thenReturn(true);
  retransformManager.onApplicationEvent(event);
  verify(classHashHelper).registerInstrumentationDefinition(eq("unknown.Class"), eq(iDefinition));
  verify(instrumentation).getAllLoadedClasses();
  verify(instrumentation, times(2)).isModifiableClass(any(Class.class));
  verifyNoMoreInteractions(instrumentation, classHashHelper);
  verifyZeroInteractions(threadTransformHelper);
}
origin: inspectIT/inspectIT

@Test
public void unmodifiableClass() throws UnmodifiableClassException {
  InstrumentationDefinition iDefinition = mock(InstrumentationDefinition.class);
  when(iDefinition.getClassName()).thenReturn("java.lang.Object");
  IAgentMessage<?> message = new UpdatedInstrumentationMessage();
  ((UpdatedInstrumentationMessage) message).getMessageContent().add(iDefinition);
  AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
  when(instrumentation.getAllLoadedClasses()).thenReturn(new Class[] { Object.class, String.class });
  when(instrumentation.isModifiableClass(eq(Object.class))).thenReturn(false);
  when(agent.isUsingRetransformation()).thenReturn(true);
  retransformManager.onApplicationEvent(event);
  verify(classHashHelper).registerInstrumentationDefinition(eq("java.lang.Object"), eq(iDefinition));
  verify(instrumentation).getAllLoadedClasses();
  verify(instrumentation, times(2)).isModifiableClass(any(Class.class));
  verifyNoMoreInteractions(instrumentation, classHashHelper);
  verifyZeroInteractions(threadTransformHelper);
}
origin: inspectIT/inspectIT

@Test
public void retransformationThrowsException() throws UnmodifiableClassException {
  InstrumentationDefinition iDefinition = mock(InstrumentationDefinition.class);
  when(iDefinition.getClassName()).thenReturn("java.lang.Object");
  IAgentMessage<?> message = new UpdatedInstrumentationMessage();
  ((UpdatedInstrumentationMessage) message).getMessageContent().add(iDefinition);
  AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
  when(instrumentation.getAllLoadedClasses()).thenReturn(new Class[] { Object.class, String.class });
  doThrow(Exception.class).when(instrumentation).retransformClasses(any(Class.class));
  when(instrumentation.isModifiableClass(Matchers.<Class<?>> any())).thenReturn(true);
  when(agent.isUsingRetransformation()).thenReturn(true);
  retransformManager.onApplicationEvent(event);
  verify(classHashHelper).registerInstrumentationDefinition(eq("java.lang.Object"), eq(iDefinition));
  verify(instrumentation).getAllLoadedClasses();
  verify(instrumentation).retransformClasses(any(Class.class));
  verify(instrumentation, times(2)).isModifiableClass(any(Class.class));
  InOrder inOrder = inOrder(threadTransformHelper);
  inOrder.verify(threadTransformHelper).setThreadTransformDisabled(false);
  inOrder.verify(threadTransformHelper).setThreadTransformDisabled(true);
  verifyNoMoreInteractions(instrumentation, classHashHelper);
  verifyZeroInteractions(threadTransformHelper);
}
origin: inspectIT/inspectIT

@Test
@SuppressWarnings("unchecked")
public void instrumentationThrowsOneException() throws UnmodifiableClassException {
  InstrumentationDefinition iDefinition = mock(InstrumentationDefinition.class);
  when(iDefinition.getClassName()).thenReturn("java.lang.Object");
  IAgentMessage<?> message = new UpdatedInstrumentationMessage();
  ((UpdatedInstrumentationMessage) message).getMessageContent().add(iDefinition);
  AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
  when(instrumentation.getAllLoadedClasses()).thenReturn(new Class[] { Object.class, String.class });
  when(instrumentation.isModifiableClass(any(Class.class))).thenReturn(true).thenThrow(RuntimeException.class);
  when(agent.isUsingRetransformation()).thenReturn(true);
  retransformManager.onApplicationEvent(event);
  verify(classHashHelper).registerInstrumentationDefinition(eq("java.lang.Object"), eq(iDefinition));
  verify(instrumentation).getAllLoadedClasses();
  verify(instrumentation).retransformClasses(eq(Object.class));
  verify(instrumentation, times(2)).isModifiableClass(any(Class.class));
  InOrder inOrder = inOrder(threadTransformHelper);
  inOrder.verify(threadTransformHelper).setThreadTransformDisabled(false);
  inOrder.verify(threadTransformHelper).setThreadTransformDisabled(true);
  verifyNoMoreInteractions(instrumentation, classHashHelper, threadTransformHelper);
}
origin: inspectIT/inspectIT

@Test
public void successful() throws UnmodifiableClassException {
  InstrumentationDefinition objectDefinition = mock(InstrumentationDefinition.class);
  when(objectDefinition.getClassName()).thenReturn("java.lang.Object");
  InstrumentationDefinition stringDefinition = mock(InstrumentationDefinition.class);
  when(stringDefinition.getClassName()).thenReturn("java.lang.String");
  IAgentMessage<?> message = new UpdatedInstrumentationMessage();
  ((UpdatedInstrumentationMessage) message).getMessageContent().add(objectDefinition);
  ((UpdatedInstrumentationMessage) message).getMessageContent().add(stringDefinition);
  AgentMessagesReceivedEvent event = new AgentMessagesReceivedEvent(eventSource, Arrays.<IAgentMessage<?>> asList(message));
  when(instrumentation.getAllLoadedClasses()).thenReturn(new Class[] { Object.class, String.class });
  when(instrumentation.isModifiableClass(any(Class.class))).thenReturn(true);
  when(agent.isUsingRetransformation()).thenReturn(true);
  retransformManager.onApplicationEvent(event);
  verify(classHashHelper).registerInstrumentationDefinition(eq("java.lang.Object"), eq(objectDefinition));
  verify(classHashHelper).registerInstrumentationDefinition(eq("java.lang.String"), eq(stringDefinition));
  verify(instrumentation).getAllLoadedClasses();
  verify(instrumentation).retransformClasses(eq(Object.class), eq(String.class));
  verify(instrumentation, times(2)).isModifiableClass(any(Class.class));
  verify(agent).isUsingRetransformation();
  InOrder inOrder = inOrder(threadTransformHelper);
  inOrder.verify(threadTransformHelper).setThreadTransformDisabled(false);
  inOrder.verify(threadTransformHelper).setThreadTransformDisabled(true);
  verifyNoMoreInteractions(instrumentation, classHashHelper, threadTransformHelper, agent);
}
rocks.inspectit.agent.javaIAgent

Javadoc

Interface for accessing the real agent implementation from the SUD and our JavaAgent.

Most used methods

  • isUsingRetransformation
    Returns whether retransformation is specified by the current environment.
  • inspectByteCode
    This method will inspect the given byte code and class name to check if it needs to be instrumented
  • isInstrumentationDisabled
    Returns whether the instrumentation has been disabled or not.
  • shouldAnalyzeOnStartup
    Defines if the class with the given name should be re-transformed / re-defined on the agent startup.
  • shouldClassBeIgnored
    Defines if the agent should ignore the class with the given name.

Popular in Java

  • Parsing JSON documents to java classes using gson
  • requestLocationUpdates (LocationManager)
  • onCreateOptionsMenu (Activity)
  • getApplicationContext (Context)
  • Color (java.awt)
    The Color class is used to encapsulate colors in the default sRGB color space or colors in arbitrary
  • Graphics2D (java.awt)
    This Graphics2D class extends the Graphics class to provide more sophisticated control overgraphics
  • URLConnection (java.net)
    A connection to a URL for reading or writing. For HTTP connections, see HttpURLConnection for docume
  • Comparator (java.util)
    A Comparator is used to compare two objects to determine their ordering with respect to each other.
  • JButton (javax.swing)
  • JTextField (javax.swing)
  • Top 12 Jupyter Notebook extensions
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now