Instana - Java Startup Agent

Javaagent to initialize JVM attach and instrument features.

License

License

MIT License
GroupId

GroupId

com.instana
ArtifactId

ArtifactId

instana-javaagent
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

Instana - Java Startup Agent
Javaagent to initialize JVM attach and instrument features.
Project URL

Project URL

https://github.com/instana/instana-javaagent
Project Organization

Project Organization

Instana Inc.
Source Code Management

Source Code Management

https://github.com/instana/instana-javaagent

Download instana-javaagent

How to add to project

<!-- https://jarcasting.com/artifacts/com.instana/instana-javaagent/ -->
<dependency>
    <groupId>com.instana</groupId>
    <artifactId>instana-javaagent</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.instana/instana-javaagent/
implementation 'com.instana:instana-javaagent:1.0.0'
// https://jarcasting.com/artifacts/com.instana/instana-javaagent/
implementation ("com.instana:instana-javaagent:1.0.0")
'com.instana:instana-javaagent:jar:1.0.0'
<dependency org="com.instana" name="instana-javaagent" rev="1.0.0">
  <artifact name="instana-javaagent" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.instana', module='instana-javaagent', version='1.0.0')
)
libraryDependencies += "com.instana" % "instana-javaagent" % "1.0.0"
[com.instana/instana-javaagent "1.0.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Instana JVM Startup Agent

The Instana agent architecture is modular. When the Instana agent runs, it will perform a runtime attach to any JVM and load the required classes lazily.

Compatibility tests however have shown that certain versions of J9 do not support all required features when no -javaagent was present on the JVM start command line. J9 will log a message like this:

*** java.lang.instrument ASSERTION FAILED ***: "jvmtierror == JVMTI_ERROR_NOT_AVAILABLE" at JPLISAgent.c line: 1009

Additionally tests have shown that the first runtime attach can cause a short pause when the JVM starts the necessary services for the agent.

For those reasons we recommend to start the JVM with this javaagent like this:

java -javaagent:instana-javaagent-1.0.0.jar -jar app.jar server

The latest version of that jar can be found in MavenCentral -> Instana.

Should the J9 that is used be a Java 8 updated with recent fixpacks, this is no longer necessary, but a command line switch can be used instead. Since as of "Java 8 - Service refresh 3 fix pack 22 (Dec 2016)" an option exists which basically performs the same:

-XX:+EnableHCR

Use the -XX:+EnableHCR option to enable late attached agents to redefine or retransform classes. 
This option might incur a performance penalty. This option is temporary and deprecated and will
be removed in a future update when no longer necessary.
com.instana

Instana

Sensors for instrumentation of various languages and outbound data connectors

Versions

Version
1.0.0