Instrumentowane środowiska i biblioteki

Czujnik Java przyrządzi aplikacje oparte na języku Java, korzystając z kilku środowisk i narzędzi. W poniższych tabelach przedstawiono wszystkie technologie używane do gromadzenia danych o wydajności aplikacji Java wraz z ich obsługiwanymi wersjami.

W poniższych tabelach wymieniono wszystkie środowiska i narzędzia używane do gromadzenia danych o wydajności aplikacji Java wraz z ich obsługiwanymi wersjami.

Wersje w poniższych tabelach są automatycznie generowane przez pakiet testów integracji produktu IBM . Są one wyrażane jako zamknięte odstępy czasu. Na przykład [1.0, 1.2] oznacza, że pierwsza testowana wersja to 1.0 , a ostatnia testowana wersja to 1.2.

Biblioteki HTTP

Nazwa Wersje
Akka HTTP [2.4, 2.4], [10.0, 10.2]
Apache Async HttpClient [4.0, 4.1]
OśApache [1.3, 1.4]
Apache Axis2 [1.5, 1.8]
Apache CXF [2.3, 2.7], [3.0, 3.5]
Apache HttpClient [3.0, 3.1], [4.3, 4.5]
Apache Wicket [6.0, 6.0], [7.4, 7.14], [8.5, 8.11], [9.0, 9.12]
AsyncHttpKlient (AHC) [2.0, 2.12]
AsyncHttpKlient (NING) [1.8, 1.9]
Kreator upuszczania [0.9, 0.9], [1.0, 1.3], [2.0, 2.1]
Feign (projekt) [9.0, 9.7], [10.0, 10.10], [11.0, 11.10], [12.3, 12.4]
Orzeł [6.45, 6.45]
GraphQL (Serwlet) [8.0, 8.0], [9.0, 9.3], [10.0, 10.1], [11.0, 11.1]
GraphQL (Spring Boot) [1.0, 1.0], [2.0, 2.0]
GraphQL (Spring Webflux) [1.0, 1.0], [2.0, 2.0]
GraphQL Java [0.0, 0.0], [4.2, 4.2], [5.0, 5.0], [6.0, 6.0], [7.0, 7.0], [8.0, 8.0], [9.7, 9.7], [10.0, 10.0], [11.0, 11.0], [12.0, 12.0], [13.0, 13.0], [17.3, 17.6], [18.5, 18.5], [19.5, 19.5], [20.2, 20.2]
Grizzly (Grizzly) [2.1, 2.4], [3.0, 3.0], [4.0, 4.0]
Zestaw HTTP [2.2, 2.2]
http4s[ 1] [0.19.0, 0.21.31]
HttpURLConnection Wszystkie obsługiwane pakiety JDK
Klient HTTP Java Wszystkie obsługiwane pakiety JDK
JAX-RS
JAX-WS
Jersey [1.1, 1.19], [2.20, 2.35]
JSF [2.0, 2.2]
Mikronaut [1.1, 1.3], [2.0, 2.5]
NanoHTTPD [2.2, 2.2]
OkHttp [2.0, 2.7], [3.4, 3.14], [4.0, 4.10]
Odtwarzanie środowiska (Play2) [2.3, 2.8]
Pakiet ratpack [1.5, 1.9]
Skalatra [2.3, 2.8]
Serwlet [2.0, 2.0], [3.0, 3.1], [4.0, 4.0]
Spray (Spray) [1.3, 1.3]
Spring Boot Starter Web [1.2.0.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.7.15], [3.0.4, 3.0.4]
Spring Boot Starter Webflux [2.0.0.RELEASE, 2.7.15], [3.0.4, 3.0.4]
BramaSpring Cloud [2.0.2.RELEASE, 2.2.10.RELEASE], [3.0.0, 3.0.5]
REST środowiska Spring [4.0.0.RELEASE, 4.3.30.RELEASE], [5.0.0.RELEASE, 5.3.29], [6.0.4, 6.0.4]
Spring Web (WWW środowiska Spring) [3.0.0.RELEASE, 3.2.18.RELEASE], [4.0.0.RELEASE, 4.3.30.RELEASE], [5.0.0.RELEASE, 5.3.29]
strumień WWW środowiska Spring [5.0.0.RELEASE, 5.3.23]
Vaadin (Vaadin) [7.0, 7.7], [8.7, 8.14]
Vert.x-Web [3.1, 3.9], [4.0, 4.2]
Klej WebMethods [5.0, 5.0]

Bazy danych

Nazwa Wersje
Amazon DynamoDB [1.11.1034, 1.12.520], [2.1.4, 2.19.27]
Usługa Amazon Elasticache [1.1, 1.2]
Amazon S3 [1.11.835, 1.12.520], [2.1.4, 2.17.95]
Apache HBase [1.1, 1.5], [2.0, 2.2]
Cassandra [2.0, 2.2], [3.0, 3.11]
Couchbase [2.5, 2.7], [3.0, 3.4]
Ehcache [2.0, 2.10]
Elasticsearch [1.3, 1.7], [2.3, 2.4], [5.0, 5.0], [6.0, 6.8], [7.0, 7.17]
FaunaDB [1.2, 1.2]
Google Cloud Bigtable (HBase 1.x) [1.0, 1.29]
Google Cloud Bigtable (HBase 2.x) [1.1, 1.29]
Google Cloud Storage [1.2, 1.2]
Klient JavaHazelcast [3.7, 3.12], [4.0, 4.2], [5.0, 5.2]
Adapter zasobówIBM IMS TM [14.1.10, 15.3.1]
JDBC [ 4, 4]
JDBC (H2 Database Engine) [1.1, 1.4]
JDBC (IBM DB2)[ 2] [11.1, 11.5]
JDBC (Microsoft SQL Server) [6.2, 6.4], [7.0, 7.4], [8.2, 8.4], [9.2, 9.4]
JDBC (MySQL Connector/J) [5.1, 5.1], [6.0, 6.0], [8.0, 8.0]
JDBC (Oracle) [12.1, 12.1], [19.3, 19.3]
JDBC (PostgreSQL) [7.4, 7.4], [8.4, 8.4], [9.0, 9.1]
JDBC (Sybase) [1.3, 1.3]
MongoDB (sterownik Java) [2.13, 2.13], [3.0, 3.12], [4.0, 4.4]
MongoDB (ReactiveMongo) [0.12.2, 0.16.0]
MongoDB (dane środowiska Spring MongoDB) [2.0.0.RELEASE, 2.7.15], [3.0.2, 3.0.2]
Neo4j [1.5, 1.7]
Redis (Jedis) [2.8, 2.10], [3.0, 3.9]
Redis (sałata) [3.4, 3.4], [4.1, 4.5], [5.0, 5.3], [6.0, 6.2]
Redis (Redisson) [3.0, 3.19]
Redis (Spring Data Redis) [2.0.0.RELEASE, 2.7.8], [3.0.2, 3.0.2]
Redis (Spring Redis Reaktor) [2.0.0.RELEASE, 2.7.15], [3.0.4, 3.0.4]
Redis (dane sesji Spring Redis) [2.0.0.RELEASE, 2.6.0]
Redis (Vert.x) [3.1, 3.6]
SpyMemcached [2.10, 2.12]
SpyMemcached (Amazon ElastiCache) [1.1, 1.2]
SpyMemcached (Google XMemcached) [1.4, 1.4], [2.0, 2.4]
SpyMemcached (Netty) [4.1, 4.1]
SpyMemcached (Cień) [1.8, 1.10]

Usługi przesyłania komunikatów

Nazwa Wersje
Aerospike [3.3, 3.3], [4.0, 4.4], [5.0, 5.1], [6.1, 6.1]
Akka Remote (zdalny) [2.3, 2.8]
Kinesis Amazon (Amazon Kinesis) [1.11.835, 1.12.520]
Amazon SNS (Amazon SNS) [1.11.1034, 1.12.520]
Biblioteka komunikatów Java Amazon SQS [1.0, 1.2]
Apache Camel [2.17, 2.25], [3.0, 3.20]
Apache RocketMQ [4.9, 4.9], [5.0, 5.1]
AWS Java SDK Dla Amazon SQS [1.11.872, 1.12.520]
Pule wykonawcy Wszystkie obsługiwane pakiety JDK
Pula łączenia rozwidlenia Wszystkie obsługiwane pakiety JDK
Google Cloud Pub/Sub (Klient dla Java) [1.105, 1.124]
Google Cloud Pub/Sub (Spring Cloud GCP 1.2) [1.2.5.RELEASE, 1.2.8.RELEASE]
Google Cloud Pub/Sub (Spring Cloud GCP 2 & 3) [2.0.2, 2.0.11], [3.2.1, 3.6.2]
gRPC [1.2, 1.57]
HornetQ [2.2, 2.4]
IBM MQ [8.0, 8.0], [9.0, 9.3]
JMS
JMS (Apache ActiveMQ) [5.13, 5.18]
JMS (Atomikos) [3.6, 3.9], [4.0, 4.0], [5.0, 5.0]
JMS (Solace) [10.0, 10.19]
Kafka (Apache)[ 3] [0.8, 0.11], [1.0, 1.1], [2.0, 2.8], [3.0, 3.2]
Kafka (Reaktor) [1.0, 1.3]
Mule [3.3, 3.9]
szczepionka Netflix Hystrix [1.0, 1.5]
RabbitMQ [3.6, 3.6], [4.11, 4.11], [5.7, 5.17]
RabbitMQ (wiosna) [1.0.0.RELEASE, 1.7.15.RELEASE], [2.0.0.RELEASE, 2.4.0]
Magistrala ESB Tibco

Środowiska rejestrowania

Nazwa Wersje
Rejestrowanie Java Util Wszystkie obsługiwane pakiety JDK
Log4j [1.2, 1.2]
Log4j 2 [2.4, 2.20]
Log4j over SLF4J [1.5, 1.7]
Logback [0.9, 0.9], [1.0, 1.4]
SLF4J [1.5, 1.7]
SLF4J nad Log4j [1.1, 1.7]

Środowiska LDAP

Nazwa Wersje
JNDI Wszystkie obsługiwane pakiety JDK
Ldaptive (Apache) [1.0, 1.3]
Ldaptive (JLDAP) [1.0, 1.3]
Ldaptive (JNDI) [1.0, 1.3]
Ldaptive (Netscape) [1.0, 1.0]
Ldaptive (UnboundID) [1.0, 1.2]
Netscape (przeglądarka Netscape) [4.1, 4.1]
Novell [ 2009, 2009]
UnboundID [3.2, 3.2]

Web i serwery aplikacji

Inne instrumentowane technologie

Nazwa Wersje
Aktor Akka [2.3, 2.6]
Camunda BPM Spring Boot Starter Webapp[ 4] [3.1.0, 3.4.0], [7.13.0, 7.17.0]
Klient zadania zewnętrznego Camunda[ 5] [1.0, 1.4], [7.15, 7.17]
Klient zadania zewnętrznego Camunda (Java) [1.0, 1.4], [7.15, 7.17]
Platforma Camunda 7
Corba (Słońce)
DistributeMe [2.3, 2.3]
Dubbo [2.5, 2.7], [3.0, 3.0]
EJB (Apache Open EJB) [4.0, 4.7]
EJB (Glassfish)
Komponent EJB (WebSphere) [8.5, 8.5], [9.0, 9.0]
FTP Commons (elementy wspólne FTP) [3.5, 3.5]
FTP JSCH (protokół FTP JSCH) [0.1.38, 0.1.55]
SklepGoogle Cloud [1.2, 1.2]
Google GWT Użytkownik [1.5, 1.7], [2.0, 2.10]
Poczta Java Wszystkie obsługiwane pakiety JDK
Java RMI Wszystkie obsługiwane pakiety JDK
Siatka danych JBoss (Infinispan Hot Rod client) [9.0, 9.0], [10.0, 10.0], [11.0, 11.0], [12.0, 12.0], [13.0, 13.0], [14.0, 14.0]
Procedury Corutynowe Kotlin [1.0, 1.7]
Podnieś aktora [2.6, 2.6], [3.3, 3.5]
Program planujący Quartz [1.7, 1.8], [2.0, 2.3]
Spring Batch [1.1.4.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.7.15], [3.0.4, 3.0.4]
Kontekst środowiska Spring [3.0.0.RELEASE, 3.2.18.RELEASE], [4.0.9.RELEASE, 4.3.30.RELEASE], [5.0.20.RELEASE, 5.3.25]
Poczta Spring [1.2.0.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.7.15], [3.0.2, 3.0.2]
Program planujący środowiska Spring [1.1.4.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.7.15], [3.0.4, 3.0.4]
Sun ONC/RPC[ 6] [1.1, 1.1]
TABEX4 (BOI)
Vert.x (Hazelcast Cluster Manager) [3.3, 3.3]

WebLogic Application Server

Nazwa Wersje
EJB (Weblogic) [ 12, 12]
JAX-RPC
Weblogic T3[ 7] [ 12, 12]

Serwer aplikacji JBoss/Wildfly

Nazwa Wersje
EJB (JBoss/Wildfly) [ 5, 5], [ 7, 7], [ 8, 8], [ 11, 11]
Menedżer rejestrowania JBoss (Log4j) [1.0, 1.3]
Rejestrowanie JBoss[ 8] [3.0, 3.5]
Program planujący JBoss [4.2, 4.2]
RESTEasy (interfejs RESTEasy) [3.0, 3.15], [4.0, 4.7]
Poczta elektroniczna (JBoss) [3.1, 3.1]

Apache Tomcat

Nazwa Wersje
Podstawowy moduł osadzania serwera Tomcat [7.0, 7.0], [8.0, 8.5], [9.0, 9.0], [10.0, 10.1]
Tomcat Embed Jasper (serwer Tomcat Embed Jasper) [7.0, 7.0], [8.0, 8.5], [9.0, 9.0], [10.0, 10.1]
Jasper Tomcat [7.0, 7.0], [8.0, 8.5], [9.0, 9.0], [10.0, 10.1]
Tomcat Jasper EL [7.0, 7.0], [8.0, 8.5], [9.0, 9.0], [10.0, 10.1]
Interfejs API JSP serwera Tomcat [7.0, 7.0], [8.0, 8.5], [9.0, 9.0], [10.0, 10.1]
Interfejs API serwletu Tomcat [7.0, 7.0], [8.0, 8.5], [9.0, 9.0], [10.0, 10.1]

Obsługa Opt-In

Można użyć czujnika Java do instrumentowania aplikacji Kafka Streams i uzyskania wglądu w ich wydajność.

Kafka Strumienie

W środowisku strumieni Kafka każdy operator strumienia jest przechwytywany jako pośredni zakres. Ta funkcja ma wpływ na wydajność aplikacji w przypadku dużego napływu danych. Nie należy używać tej funkcji w środowiskach produkcyjnych.

Aby włączyć obsługę strumieni Kafka , dodaj następujące wiersze do pliku configuration.yaml agenta hosta:

com.instana.plugin.javatrace:
   instrumentation:
    plugins:
     Kafka011StreamIntermediate: true

  1. Śledzone są tylko żądania HTTP 1.x . ↩︎

  2. Śledzenie Db2 można skonfigurować za pomocą konfiguracji agenta w pliku configuration.yaml lub za pomocą zmiennej środowiskowej albo właściwości systemowych w instrumentowanej maszynie JVM. Przykładowe konfiguracje:

    Agent configuration:
    
    com.instana.tracing:
    db2:
    trace-correlation: true
    db2CorrelationMode: dont-override
    db2CorrelationDelimiter: '|'
    db2CorrelationField: ClientHostname
    
    Environmental variable:
    
    INSTANA_DB2_TRACE_CORRELATION=true
    INSTANA_DB2_TRACE_CORRELATION_MODE=dont-override
    INSTANA_DB2_TRACE_CORRELATION_DELIMITER='|'
    INSTANA_DB2_TRACE_CORRELATION_FIELD=ClientHostname
    
    System properties:
    
    -Djdbc.db2.correlation.enable=true
    -Djdbc.db2.correlation.mod=dont-override
    -Djdbc.db2.correlation.delimiter=|
    -Djdbc.db2.correlation.field=ClientHostname
    

    Uwaga: Korelacja (propagacja TraceId i SpanId) jest domyślnie wyłączona. Propagacja jest wykonywana przy użyciu właściwości informacji o kliencie bazy danych Db2. Pole korelacji ustawia nazwę pola. Domyślnie jest to "ClientHostname". Domyślnym separatorem jest "|". Jeśli tryb korelacji jest ustawiony na wartość "override" (wartość domyślna), dane korelacji nadpisują istniejącą wartość. Jeśli jednak nie jest ustawiony na wartość "override" (wartość domyślna), dane korelacji są dołączane do istniejącej wartości. ↩︎

  3. Ciągłość śledzenia jest obsługiwana w systemie Kafka począwszy od wersji Kafka 0.11, która wprowadza obsługę nagłówków rekordów. ↩︎

  4. Ciągłość śledzenia między przedziałami aktywności nie jest jeszcze obsługiwana. ↩︎

  5. Podczas implementowania klasy procedury obsługi dla programu Camunda External Task Client należy użyć nazwanej klasy procedury obsługi. Implementacja wyrażenia lambda procedury obsługi nie jest obsługiwana. ↩︎

  6. Ciągłość śledzenia nie jest obsługiwana. Na potrzeby korelacji śledzenia należy użyć pakietu Instana SDK . ↩︎

  7. Korelacja T3 między wywołaniami EJB jest obsługiwana podczas konfigurowania Weblogics T3 przy użyciu następujących ustawień:

    • Konfiguracja agenta:

        # General Tracing Settings
        com.instana.tracing:
        weblogic:
            trace-correlation: true
      
    • Zmienna środowiskowa:

      INSTANA_WEBLOGIC_EJB_TRACE_CORRELATION
      
    • Właściwość systemowa:

       -Dcom.instana.weblogic.ejb.trace.correlation=true`
      

    Ta konfiguracja działa tylko wtedy, gdy między serwerami WebLogic występuje komunikacja T3 . Jeśli jednak klient Weblogic jest używany poza serwerem Weblogic, korelacja nie jest możliwa. ↩︎

  8. Śledzony jest tylko programowy interfejs API. Rejestrowanie przy użyciu adnotacji, takich jak @Message lub @MessageLogger , nie jest obsługiwane. ↩︎