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.
- Biblioteki HTTP
- Bazy danych
- Usługi przesyłania komunikatów
- Środowiska rejestrowania
- Środowiska LDAP
- Serwery WWW i aplikacji
- Inne instrumentowane technologie
- Weblogic Application Server
- Serwer aplikacji JBoss/Wildfly
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
- Apache Tomcat
- Eclipse Jetty
- Glassfish/Payara
- IBM WebSphere
- JBoss AS/Wildfly
- Oracle /BEA Weblogic
- Systemy Pega AS
- Serwer Sun ONE
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
Śledzone są tylko żądania HTTP 1.x . ↩︎
Śledzenie Db2 można skonfigurować za pomocą konfiguracji agenta w pliku
configuration.yamllub 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=ClientHostnameUwaga: 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. ↩︎
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. ↩︎
Ciągłość śledzenia między przedziałami aktywności nie jest jeszcze obsługiwana. ↩︎
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. ↩︎
Ciągłość śledzenia nie jest obsługiwana. Na potrzeby korelacji śledzenia należy użyć pakietu Instana SDK . ↩︎
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: trueZmienna środowiskowa:
INSTANA_WEBLOGIC_EJB_TRACE_CORRELATIONWł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. ↩︎
Śledzony jest tylko programowy interfejs API. Rejestrowanie przy użyciu adnotacji, takich jak
@Messagelub@MessageLogger, nie jest obsługiwane. ↩︎