مراقبة Java Virtual Machine
- المقدمة
- اللغات التي يتم دعمها
- متطلبات النظام
- الأطر والمكتبات التي تم تتبعها
- التركيب
- توصيف
- جمع القياسات
- تتبع آلي للتداخل™
- تتبع معدل
- ملف مواصفات آلي غير-آلي™
- اتباع الخطأ وتصحيحه
مقدمة
يتيح جهاز استشعار Java امكانية استخدام الكود الآلي ل ـ تقنيات تم دعمها، ومراقبة صحة التوصيف zero لنسخ JVM ، وكذلك تتبعات الطلبات end-to-end للطلبات عبر كل الأنظمة.
لغات
المدعمة
- بحكم القانون
- Java
- Kotlin
- المقياس
متطلبات نظام 
يتم دعم كل Java runava من النسخة 6 الى 17. وبسبب بق JVM المحتمل ، نوصي باستخدام نسخ JVM الأكثر حتى تاريخه لاستخدام أوقات تشغيل خالية من الشراء.
دعم
JVM
يتم دعم توزيعات JVM التالية.
| الاسم | القيود |
|---|---|
| أمازون كوريتو | - |
| Azul Zulu | - |
| IBM J9 | ارجع الى قيود IBM J9. |
| Eclipse OpenJ9 | - |
| OpenJDK | - |
| ennecenJOpenJDK | - |
| Oracle نقطة ساخنة | - |
| SAP JVM | - |
| نقطة ساخنة للشمس | - |
| BEA JRockit | - |
Java Runمرات 8 أو أقل
على أمازون كورتيتو ، Azul Zulu ، OpenJDK ، Oracle HotSpot ، أو SAP JVM ،tools.jarالملف المتاح في وقت التشغيل لكل JVM يتم مراقبته. الملف موجود في$JAVA_HOME/lib/tools.jar.
يتم بناء Java 8 الى1.8.0_40(د) لديها عدة قضايا معروفة تتعلق بتنفيذ الداس. نتيجة لهذه المشاكل ، لا يقوم وكيل Intana بمراقبة عمليات بناء Java 81.8.0_40أو أقل
يوصى بتطوير النسخة الى النسخة1.8.0_181أو أعلى ، لأن بعض حوادث التحطم تم تثبيتها في الاصدارات اللاحقة.
Java Runمرات 9 أو أعلى
Java 9 تقدم عمليات بناء الوحدات النمطية بناء على أساس اطار عمل Jigير. اذا قمت باستخدام صورة وقت تشغيل مهيأة ، مثل تلك التي تم تكوينها بواسطة jmod أو jlink، تأكد من تضمين النموذجين التاليين في JVM الذي تم تجهيزه :
java.instrumentjdk.attach
ارشادات: للتحقق مما اذا كان Java 9 الخاص بك أو أعلى من وقت التشغيل يحتوي على ما هو مطلوبjava.instrumentوjdk.attachوحدات البرامج ، قم بتشغيل الأمر التالي :
java --list-modules
اذا قمت بمحاولة تشغيل الأمر في JVM النسخة 8 أو أقل ،Unrecognized option: --list-modulesيتم عرض رسالة الخطأ.
تشغيل على Windows
الاختيار الشائع لتشغيل الخدمات ، مثل Apache Tomcat ، هو استخدام in-process Server JVM.
في الحالات التي لا يتم فيها تشغيل العمليات التي يتم مراقبتهاC:\java12\bin\java.exeولكن كماC:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\Tomcat8.exe. هذا الاعداد مدعم ، ولكن قبل بدء الخدمة مثل هذاset PATH=%PATH%;C:\java12\bin،binيجب أن يكون الدليل على JVM الذي يقوم بتشغيل الخدمة علىPATH.
هذا لأن وحدة الخدمةjvm.dllيحتاج الى تحميلC:\java12\bin\instrument.dll. اذا تم تحديده في المسار ، فانه لن يجده ، وهذا ينتج عنه خطأ :
com.sun.tools.attach.AgentLoadException: Failed to load agent library: instrument was not loaded.Can't find dependent libraries
IBM J9 limitations
واذا-javaagentلم يتم تحديده على أنه متغير سطر الأمر ، لن تقوم نسخ معينة من IBM J9 بدعم كل الخصائص المطلوبة. قم بالتوصية ببدء JVM باستخدام javaAgent من خلال تشغيل هذا الأمر :
java -javaagent:instana-javaagent-1.0.0.jar -jar app.jar server
يتم اتاحة JAR في وسط للرياضيات وللحصول على مزيد من المعلومات عن JVM الوسيطة ، ارجع الى مستودع تخزين GitHub .
في حالة استخدام Java 8-Service fresh 3 fix pack 22 (ديسمبر 2016) ،-XX:+EnableHCRيقوم الاختيار بتنفيذ نفس العملية. يسمح هذا الاختيار المؤقت للعملاء في وقت متأخر باعادة تعريف أو اعادة تحويل الفئات. غير أنه قد يترتب عليه فرض عقوبة على الأداء ، وسيتم حذفه في المستقبل عندما لا يكون هناك ضرورة لذلك.
لاتاحة عملية التتبع وتجميع المقاييس المترية ، قد يتم طلب مفاتيح سطر الأمر الاضافية :
-Dcom.ibm.tools.attach.enable=yesيجب أن تكون المحددات المفترضة.-Xshareclasses:none(مشاركة الفئة يمكن أن تتداخل مع أدوات bytecode) أو اذا كانت متاحة-Xshareclasses:enableBCIلاتاحة الأجهزة بالرغم من مشاركة الفئة.
وكيل غير متوافق
ملحوظة: لا تحاول استخدام Agents من موردين متعددين في نفس الوقت ؛ هذا يؤدي الى نتائج غير متوقعة وقد يؤدي الى تحطم التطبيق الخاص بك. لا يقوم Inttana Agent بمراقبة JVMs آليا التي تقوم أيضا بتشغيل البرامج الوسيطة التالية :
- ديناميكيات التطبيق
- كلب
- Dyatنتسابق
- الجذر الجذر
- Kanela, Kamon Instrumentation Agent
- برنامج ManageEngine APM Insight Java Agent
- علاقة جديدة
- Oracle Java Flight Receorder
- تتبع OpenTelemetry الى Java
- أدوات التطبيق Riverbed
- الربيع المحمل
- Waly Introscope ، يعرف أيضا باسم CA Application Performance Management و Broadcom DX Application Performance Management
لا يتم دعم هذا. اذا قررت مراقبة JVMs التي تقوم بتشغيل أي من البرامج الوسيطة السابقة ، قم بتحديد القيمة التالية :
com.instana.plugin.javatrace:
trace-jvms-with-problematic-agents: true
اطارات
التي تم تتبعها والمكتبات
ملحوظة:Versionsفي الجدول التالي يتم تكوينه آليا بواسطة حزمة اختبار التكامل الخاصة بنا.Versionsيتم التعبير عنها كفترات زمنية تم اغلاقها. على سبيل المثال ،[1.0, 1.2]يعني أن أول نسخة تم اختبارها هي1.0وآخر نسخة تم اختبارها هي1.2. كل النسخ الرئيسية التي يتم دعمها يتم عرضها بوضوح.
مكتبات
HTTP
| الاسم | النسخ |
|---|---|
| اكا HTTP | [2.4, 2.4], [10.0, 10.2] |
| Apache Async HttpClient | [4.0, 4.1] |
| محور Apache | [1.3, 1.4] |
| Apache Axis2 | [1.5, 1.7] |
| Apache CXF | [2.3, 2.7], [3.0, 3.4] |
| 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.7] |
| AsyncHttpClient (AHC) | [2.0, 2.12] |
| AsyncHttpClient (NING) | [1.8, 1.9] |
| Dropwizard | [0.9, 0.9], [1.0, 1.3], [2.0, 2.0] |
| . إختلاق | [9.0, 9.7], [10.0, 10.10], [11.0, 11.7] |
| Finagle | [6.45, 6.45] |
| GraphQL (Servlet) | [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 (Plesing Webflux) | [1.0, 1.0], [2.0, 2.0] |
| Java LQG Java | [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.3] |
| أشيب | [2.1, 2.4], [3.0, 3.0] |
| مجموعة أدوات HTTP | [2.2, 2.2] |
| http4s1 | [0.19.0, 0.21.31] |
| وصلة HttpURLConnection | كل JDKs المدعمة |
| الوحدة التابعة الى Java HTTP | كل JDKs المدعمة |
| JAX-RS | |
| JAX-WS | |
| جيرسي | [1.1, 1.19], [2.20, 2.35] |
| JSF | [2.0, 2.2] |
| aut aut | [1.1, 1.3], [2.0, 2.5] |
| PanoHTTPD | [2.2, 2.2] |
| OkHttp | [2.0, 2.7], [3.4, 3.14], [4.0, 4.9] |
| اطار عمل التشغيل (Play2) | [2.3, 2.8] |
| رزم | [1.5, 1.9] |
| خيال | [3.0, 3.15], [4.0, 4.7] |
| Scalaترا | [2.3, 2.8] |
| Servlet | [2.0, 2.0], [3.0, 3.1], [4.0, 4.0] |
| سبراي | [1.3, 1.3] |
| الانترنت الخاص ب ـ Spring Boot بدء الانترنت | [1.2.0.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.6.7] |
| Spring Boot بدء تشغيل Webflux | [2.0.0.RELEASE, 2.6.1] |
| Spring Cloud Gateway | [2.0.2.RELEASE, 2.2.10.RELEASE], [3.0.0, 3.0.5] |
| REST الربيع | [4.0.0.RELEASE, 4.3.30.RELEASE], [5.0.0.RELEASE, 5.3.13] |
| شبكة الربيع | [3.0.0.RELEASE, 3.2.18.RELEASE], [4.0.0.RELEASE, 4.3.30.RELEASE], [5.0.0.RELEASE, 5.3.13] |
| ربيع Webflux | [5.0.0.RELEASE, 5.3.13] |
| Vaadin | [7.0, 7.7], [8.7, 8.14] |
| Vert.f-Web | [3.1, 3.9], [4.0, 4.2] |
| Ge Methods | [5.0, 5.0] |
قواعد بيانات 
| الاسم | النسخ |
|---|---|
| ديناموDB أمازون | [1.11.106, 1.12.124], [2.1.4, 2.17.95] |
| أمازون أمازون | [1.1, 1.1] |
| أمازون S3 | [1.11.55, 1.12.124], [2.1.4, 2.17.95] |
| Apache HBase | [1.1, 1.5], [2.0, 2.2] |
| كاسندرا | [2.0, 2.2], [3.0, 3.11] |
| Couchbase | [2.5, 2.7], [3.0, 3.2] |
| 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.16] |
| BaunaDB | [1.2, 1.2] |
| Google Cloud Bigtable (HBase 1.x) | [1.0, 1.25] |
| Google Cloud Bigtable (HBase 2.x) | [1.1, 1.25] |
| تخزين جوجل كلاود | [1.2, 1.2] |
| الوحدة التابعة الى Hazelcast Java | [3.7, 3.12], [4.0, 4.2], [5.0, 5.0] |
| JDBC | [4, 4] |
| JDBC (H2 Database Engine) | [1.1, 1.4] |
| JDBC (IBM DB2) | [11.1, 11.5] |
| JDBC (Microsoft SQL Server) | [6.1, 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 (برنامج تشغيل Java) | [2.13, 2.13], [3.0, 3.12], [4.0, 4.4] |
| MongoDB (ReactiveMonنجو) | [0.12.2, 0.16.0] |
| MongoDB (بيانات الربيع MongoDB) | [2.0.0.RELEASE, 2.6.1] |
| Neo4j | [1.5, 1.7] |
| Redis (جدة) | [2.8, 2.10], [3.0, 3.7] |
| Redis (Lettuce) | [3.4, 3.4], [4.1, 4.5], [5.0, 5.3], [6.0, 6.1] |
| Redis (Redisson) | [3.0, 3.16] |
| Redis (بيانات الربيع Redis) | [2.0.0.RELEASE, 2.6.1] |
| Redis (Spring Redis Reactor) | [2.0.0.RELEASE, 2.6.1] |
| Redis (بيانات جلسة الربيع Redis) | [2.0.0.RELEASE, 2.6.0] |
| Redis (Vert.x) | [3.1, 3.6] |
| تم تخزينها بالذاكرة الوسيطة | [2.10, 2.12] |
| SpyMemMed (Amazon EaleeCache) | [1.1, 1.1] |
| SpyMemMed (Google XMemed) | [1.4, 1.4], [2.0, 2.4] |
| SpyMemcached (Netty) | [4.1, 4.1] |
| SpyMemcached (Shade) | [1.8, 1.10] |
خدمات
Messaging
| الاسم | النسخ |
|---|---|
| إيروسبايك | [3.3, 3.3], [4.0, 4.4], [5.0, 5.1] |
| أككا عن بعد | [2.3, 2.6] |
| شركة أمازون كينيس | [1.11.106, 1.12.124] |
| SSNS | [1.11.79, 1.12.124] |
| مكتبة أمازون SQS Java Messaging | [1.0.0, 1.0.8] |
| أباتشي كامال | [2.17, 2.25], [3.0, 3.13] |
| Apache RocetMQ | [4.9.2, 4.9.3] |
| AWS Java SDK بالنسبة الى Amazon SQS | [1.11.500, 1.11.872] |
| مستودعات برامج التنفيذ | كل JDKs المدعمة |
| مستودع ربط Fork | كل JDKs المدعمة |
| Google Cloud Pub / Sub (Client for Java) | [1.105, 1.119] |
| 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.4, 2.0.11], [3.2.1, 3.3.0] |
| gRPC | [1.2, 1.42] |
| HornetQ | [2.2, 2.4] |
| IBM MQ | [8.0, 8.0], [9.0, 9.2] |
| JMS | |
| JMS (Apache ActiveMQ) | [5.13, 5.16] |
| JMS (Atomikos) | [3.6, 3.9], [4.0, 4.0], [5.0, 5.0] |
| JMS (Solace) | [10.0, 10.12] |
| Kafka (Apache)2 | [0.8, 0.11], [1.0, 1.1], [2.0, 2.8], [3.0, 3.0] |
| Kafka (اعادة ممثل) | [1.0, 1.3] |
| بغل | [3.3, 3.9] |
| Netflix Hystrix | [1.0, 1.5] |
| RabbitMQ | [3.6, 3.6], [4.11, 4.11], [5.7, 5.14] |
| RabbitMQ (الربيع) | [1.0.0.RELEASE, 1.7.15.RELEASE], [2.0.0.RELEASE, 2.4.0] |
| Tibco ESB |
اطارات التسجيل
| الاسم | النسخ |
|---|---|
| تسجيل وظيفة Java | كل JDKs المدعمة |
| مدير سجل JBoss (Log4j) | [1.0, 1.2] |
| JBoss Logging3 | [3.0, 3.4] |
| Log4j | [1.2, 1.2] |
| Log4j 2 | [2.4, 2.17] |
| Log4j على SLF4J | [1.5, 1.7] |
| Logback | [0.9, 0.9], [1.0, 1.2] |
| SLF4J | [1.5, 1.7] |
| SLF4J على Log4j | [1.1, 1.7] |
اطارات
LDAP
| الاسم | النسخ |
|---|---|
| JNDI | كل JDKs المدعمة |
| Ldaptive (Apache) | [1.0, 1.3] |
| Ldaptive (JLDAP) | [1.0, 1.3] |
| Ldaptive (JNDI) | [1.0, 1.3] |
| lapaptive (Netscape) | [1.0, 1.0] |
| Ldaptive (UnboundID) | [1.0, 1.2] |
| نتسكيب | [4.1, 4.1] |
| Novell | [2009, 2009] |
| كود غير boundID | [3.2, 3.2] |
وحدات خدمة
Web و application servers
- Apache Tomcat
- Eclipse Jetty
- جلاسماك / باارا
- IBM Websphere
- JBoss AS / Wildfly
- Oracle / BEA Weblogic
- أنظمة Pega AS
- Sun ONE Server
تقنيات
الأخرى التي تم تجهيزها
| الاسم | النسخ |
|---|---|
| أككا أكتور | [2.3, 2.6] |
| Corba (Sun) | |
| توزيع | [2.3, 2.3] |
| Dubbo | [2.5, 2.7], [3.0, 3.0] |
| EJB (Apache فتح EJB) | [4.0, 4.7] |
| EJB (غاسيد) | |
| EJB (JBoss / Wildfly) | [5, 5], [7, 7], [8, 8], [11, 11] |
| EJB (Weblogic) | [12, 12] |
| EJB (Websphere) | [8.5, 8.5], [9.0, 9.0] |
| مجلس العموم | [3.5, 3.5] |
| JSCH FTP JSCH | [0.1.38, 0.1.55] |
| متجر جوجل لتخزين السحاب | [1.2, 1.2] |
| مستخدم Google GWT | [1.5, 1.7], [2.0, 2.9] |
| بريد Java | كل JDKs المدعمة |
| Java RMI | كل JDKs المدعمة |
| GBoss Data Grid (Infinispan Hot Rرود client) | [8.1, 8.1], [9.0, 9.0], [10.0, 10.0], [11.0, 11.0], [12.0, 12.0], [13.0, 13.0] |
| جدولة JBoss | [4.2, 4.2] |
| كورنلين كوتولين | [1.0, 1.5] |
| معامل الرفع | [2.6, 2.6], [3.3, 3.5] |
| مجدول كوارتز | [1.7, 1.8], [2.0, 2.3] |
| بريد Seam (JBoss) | [3.1, 3.1] |
| Spring Batch | [1.1.4.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.6.1] |
| سياق الربيع | [3.0.0.RELEASE, 3.2.18.RELEASE], [4.0.1.RELEASE, 4.3.30.RELEASE], [5.0.0.RELEASE, 5.3.13] |
| بريد الربيع | [1.2.0.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.6.1] |
| برنامج جدولة الربيع | [1.1.4.RELEASE, 1.5.22.RELEASE], [2.0.0.RELEASE, 2.6.1] |
| Sun ONC/RPC4 | [1.1, 1.1] |
| TABEX4 (BOI) | |
| Vert.x (Hazelcast Cluster Manager) | [3.3, 3.3] |
تركيب 
يتم نشر وحدة استشعار Java آليا ، وتوصيفها ، وتركيبها بواسطة Intasa Agent. للتأكد من تجهيز تطبيقات Java الخاصة بك ، تأكد من أنه يتم دعم توزيع JVM الخاص بك.
توصيف 
على الرغم من أنه لا يوجد توصيف مطلوب للخروج من مقاييس المربع وتم توزيع التتبع ، فان المكونات الفردية يمكن توصيفها.
للحصول على مزيد من المعلومات عن كيفية توصيف وحدة الاستشعار ، ارجع الى توصيف Java.
تجميع مقاييس 
في واجهة تعامل JVM ، يتم عرض التوصيف ومقاييس الأداء لمرحلة JVM ، مع أي القياسات العادية.
بيانات توصيف 
| توصيف | الوصف |
|---|---|
| نسخة Java | نسخة Java. |
| تشغيل Java | بيئة تشغيل Java Runtime Environment (JRE). |
| الحد الأقصى ل heap | الحد الأقصى لحجم heap المتاح الى JVM. |
| مسار الفئة | تم تحديد معامل مسار الفئة في JVM. |
مقاييس الأداء 
الذاكرة المستخدمة
اجمالي الذاكرة المستخدمة بواسطة JVM. سيتم عرض قيمة مؤشر الأداء الرئيسي التي يتم قياسها حاليا.
نقطة البيانات : تم تجميع عدد البايت منjava.lang.Runtime#totalMemory.
Threads
عدد سلاسل العمليات التي توجد في الحالات :new,runnable,timed-waiting,waiting، أوblocked. يتم عرض القيم في رسم بياني خلال فترة زمنية محددة.
نقطة البيانات :
- daerh-daerht الحالي يتم تجميعها من
java.lang.management.ThreadMXBean#getAllThreadIds. - حالات سلسلة العمليات التي تم تجميعها من
ThreadMXBean#getThreadInfo.
ذاكرة
Heap Memory
اجمالي ذاكرة heap المستخدمة بواسطة JVM. يتم عرض القيمة في رسم بياني خلال فترة زمنية محددة.
نقطة البيانات :
- يتم حساب عدد البايت على أنه
java.lang.Runtime#totalMemory-java.lang.Runtime#freeMemory - الحد الأقصى الذي يتم عرضه في الرسم البياني يتم تحديده من خلال التحليل اللغوي
-Xmxمعامل سطر الأمر أو تم تجميعه منjava.lang.Runtime#maxMemory. - النسبة المئوية لذاكرة heap memory التي يتم استخدامها من اجمالي الذاكرة heap memory.
مستودعات تخزين ذاكرة 
استخدام مستودع تخزين الذاكرة. يتم عرض تجميع Heap و non-heap في رسم بياني خلال فترة زمنية محددة.
نقطة البيانات :
- يتم تجميع معلومات المستودع من
ManagementFactory#getMemoryPoolMXBeans. - يتم تجميع القيم البيانية من كل مستودع
java.lang.management.MemoryUsage. - تم تجميع الحد الأقصى من القيمة من
getMax، يتم تجميع القيمة الأولية منgetInit، ويتم تجميع القيمة الحالية منgetUsage.
Garbage Collection
يتم عرض قيم تشغيل Garbage collection و runtime في رسم بياني خلال فترة زمنية محددة.
نقاط البيانات :
- يتم تجميع معلومات تجميع النفايات من
ManagementFactory#getGarbageCollectorMXBeans. - يتم تجميع قيم الرسم البياني من كل وحدات تجميع
java.lang.management.GarbageCollectorMXBean. - تم تجميع وقت تشغيل تجميع النفايات من
getCollectionTimeالذي ، وفقا الى JavaDoc ، هو الوقت المنقضي التقريبي الذي تم تجميعه تقريبا بالملي ثانية. - يتم تجميع عدد الاستدعاء من
getCollectionCount. - كلا من
getCollectionTimeوgetCollectionCountالقيم هي التفاضل الذي تم احتسابه خلال ثانية واحدة.
تعليق
التعليق المحتسب لتنفيذ التطبيق الذي يتم عرضه في رسم بياني خلال فترة زمنية محددة.
نقطة البيانات : تم حسابها لكل thread-app Incercin measureal thread.
التوقيعات الصحية
وبالنسبة لكل جهاز استشعار ، توجد قاعدة معرفية دقيقة للتوقيعات الصحية التي يتم تقييمها باستمرار ضد القياسات الواردة ، وتستخدم لإثارة القضايا أو الحوادث اعتمادا على تأثير المستخدم.
الأحداث المتضمنة اصدار أو اصدار أحداث بناءا على فشل التوقيعات الصحية على أشكال الكيان ، و أحداث عادية يقوم باصدار مشاكل أو أحداث بناءا على الحدود الخاصة بأحد المقاييس المترية المتفردة لأي كيان محدد.
للحصول على معلومات عن الأحداث الداخلية الخاصة بوحدة استشعار Java ، ارجع الى مرجع أحداث Built-in.
مقاييس
Custom
يقدم الدعم الدعم لأكثر مكتبات مقاييس Java شيوعا :
- Dropwizard ، ارجع الى برنامج المعالجة.
- Micromer ، ارجع الى ميكرومتر.
- مكتبة الوحدة التابعة الى Prometheus Java ، ارجع الى muethethus-java-client.
- مقاييس JMX ، ارجع الى xmx.
خصائص أخرى
تفريغ سلسلة عمليات
الفعالة
لمشاهدة تفريغ سلسلة عمليات حية الى JVM ، اضغط على الحصول على تفريغ سلسلة العمليات.
تفريغ التجميع
لتكوين تفريغ للتجميع الى JVM ، اضغط على الحصول على تفريغ التجميع. سيطلب منك تحديد مكان محلي الى JVM لتخزين عملية تفريغ الذاكرة.
AutoTrace AutoTrace™
كقيمة مفترضة ، يتم مراقبة كل الطلبات ، ويتم آليا تكوين تتبع تم توزيعه لكل منهم. وهذا يتضمن تتبع النظام الرئيسي وتتبع اللغة.
للحصول على مزيد من المعلومات ، ارجع الى تتبع آلي للتداخل™.
Logging MDC الذي تم نشره باستخدام كود التتبع
عند استخدام Log4jأو Log4j2أو Logback، لاتاحة ارتباط أكثر دقة للتسجيل والتتبع ، يقوم Intreasing آليا بملء MDC بكود التتبع. اسم متغير MDC هوinstana.trace.id.
للحصول على مزيد من المعلومات عن كيفية استخدامها في عبارات format ، ارجع الى المطبوعات الفنية الخاصة باطار عمل التسجيل الخاص بك.
تتبع
المهيأ
يتم اتاحة امكانية تتبع مسار كامل آليا ، ولكن في بعض الحالات ، قد تفضل ارسال تتبعات معدلة الى واجهة التعامل البيانية الخاصة بك. وإذا كان الأمر كذلك ، فهناك عدد من الأساليب المتاحة.
Java Trace SDK
اذا كنت تريد أن تقوم بوضع اطار عمل لم يتم دعمه بعد بواسطة Incass ، أو مراقبة طلبات تطبيق مهيأ ، فاننا نوصي باستخدام SDK تتبع Java ومشاهدة GitHub توب.
قبل تنفيذ عملية التتبع العادية باستخدام SDK ، برجاء قراءة تتبع أفضل الممارسات.
SDB-based Java Trace SDK
قد تكون هناك حالات غير ممكنة أو مطلوبة لاستخدام Java Trace SDK ، الذي يتطلب معالجة كود المصدر أو الحصول على اتصال مع شخص يمكنه القيام بذلك. في هذه الحالات ، يمكن استخدام SDK Java Trace SDK المبني على أساس التوصيف . وبما أنها أقل ثراء من البرنامج البرنامجي SDK تتبع Java، فإنها تسمح بإصدار إعلان بياني للشواخ والعلامات التي تغطي كمية جيدة من حالات الاستخدام الشائعة.
قبل تنفيذ عملية التتبع المهيأة باستخدام SDK Java Trace SDK المبني على أساس التوصيف، برجاء قراءة تتبع أفضل الممارسات.
Java OpenTracing API
لتجميع عمليات التتبع التي يتم وصفها من خلال OpenTracing API ، يجب أن تقوم باستخدام تتبع Java. للحصول على مزيد من المعلومات ، ارجع الى فتح التتبع.
هام: عدم اتاحة التتبع الآلي (Inttana AutoTrace™) قبل استخدام Java OpenTracing API. للحصول على مزيد من المعلومات ، ارجع الى عدم اتاحة الأجهزة الآلية.
Openتعدادات Intance Trace Exporter
يقدم استنان Opensensensus تتبع برنامج الاستقبال للتطبيقات التي تم كتابتها بلغة Java. باستخدام عمليات Incass Agent على أنها proxy ، يتم ارسال عمليات التتبع الى الأمام التي يتم تصديرها بواسطة التطبيقات التي تم تجهيزها باستخدام التعداد الى نهايته.
للحصول على مزيد من المعلومات ، ارجع الى موقع مصدرو الفتحات المفتوحة على شبكة الانترنت.
هام: برجاء عدم اتاحة التتبع الآلي (Automatic AutoTrace™) اذا كان يتم استخدام Agent على نفس النظام الرئيسي مثل التعداد. للحصول على مزيد من المعلومات ، ارجع الى عدم اتاحة الأجهزة الآلية.
ملف مواصفات AutoProfile™
تعد ملفات المواصفات ضرورية لايجاد نقاط الأداء الساخنة واختناقات على مستوى الكود. وهي مفيدة في الحد من استهلاك الموارد وتحسين الأداء.
تقوم AutoProfile™ بتكوين وتقارير ملفات مواصفات العملية الى Incasانه. على خلاف prلتطوير-time و on-demand profilers ، حيث يجب أن يقوم المستخدم يدويا ببدء عمل ملف المواصفات ، AutoProfile™ آليا ويقوم بتنفيذ عملية تحديد المواصفات الملائمة لبيئات الانتاج الحرجة.
للحصول على مزيد من المعلومات ، ارجع الى وثائق ملف مواصفات آلي غير-آلي™ docs الخاصة بنا.
تتبع الأخطاء
لا يتم دعم Java Virtual Machine النسخة 8
نوع اصدار المراقبة : java_8_unmonitored_version
التطبيق الخاص بك يتم تشغيله على Java 8 Hotspot Virtual Machine غير مدعم بنسخة أقدم من1.8.0_40. لن تقوم استانة بمراقبة تطبيقات Java التي يتم تشغيلها في هذا الجهاز الظاهري لنقطة ساخنة بسبب وجود حشرات حادة في عمليات التشغيل الأخيرة تؤدي الى عدم التوافق وحدوث حالات الفشل.
ننصح بشدة بتحديث Java Virtual Machine الى نسخة أحدث ، يفضل أن يكون JDK 8 النسخة 252 أو أعلى ، أو الى Java Long Support release آخر.
للحصول على مزيد من المعلومات عن JVMs التي يتم دعمها بواسطة InGass ، برجاء الرجوع الى المطبوعات الفنية الى دعم JVM .
تم اكتشاف وجود برنامج وسيط غير متوافق مع 
نوع اصدار المراقبة : jvm_incompatible_agent_detected
قام وكيل Intaria باكتشاف عميل آخر متصل بجهاز Java Virtual Machine هذا والذي يعرف أنه غير متوافق. لمنع حدوث مشاكل مع Java Virtual Machine هذه ، يعد برنامج Intaria Agent هو عدم تجميع بيانات التتبع من التطبيق الذي يتم تشغيله داخل Java Virtual Machine. هذا قد ينتج عنه بيانات وجهات النظر والخدمات و Endpoints المفقودة ، بالاضافة الى التنبيهات الزائفة التي تتعلق بالاسقاط في الاستدعاءات الى Application Perspectives ، Services و Endpoints.
لحل المشكلة ، قم بازالة البرنامج الوسيط غير المتوافقة من جهاز Java Virtual Machine الخاص بك.
يجب اعادة البدء
نوع اصدار المراقبة : jvm_attach_socket
يتم لصق امكانية الحاق جهاز Java Virtual Machine هذا ، والذي يعرف أنه يحدث من وقت لآخر بسبب وجود بق طويل لآلة Java Virtual Machine. Java Virtual Machine غير قادر على الاتصال بقاعدة توصيل للاتصالات يتم استخدامها أثناء الحاقه الديناميكي. لسوء الحظ ، لا يمكن تصحيح هذا بدون اعادة بدء Java Virtual Machine.
مشاكل رؤية شبكة اتصالات 
نوع اصدار المراقبة : jvm_attach_network
فشل الأجهزة الخاصة بآلة Java Virtual Machine هذه بسبب مشاكل في ظهور شبكة الاتصالات من Java Virtual Machine ووسيط النظام الرئيسي. وعلى وجه التحديد ، يجب أن يكون وسيط النظام الرئيسي يمكن الوصول اليه من Java Virtual Machine هذه كما هو موضح في المطبوعات الفنية الى متطلبات شبكة الاتصال . في البيئات التي يتم فيها contained ، قد تمنع سياسات وتوصيفات شبكة الاتصالات حدوث ذلك.
أدوات الحاق غير موجودة
نوع اصدار المراقبة : jvm_attach_tools
JDK المستخدم أثناء الحاقه الديناميكي لا يقوم بشحن كود الحاقه المطلوب. برجاء الرجوع الى أقسام Java النسخة 8 أو أقل و Java النسخة 9 أو أعلى في هذه الصفحة للحصول على مزيد من التفاصيل.
فشل في مرفقات
Container
نوع اصدار المراقبة : jvm_attach_container_command
لم ينجح الأمر المستخدم في الاتصال ديناميكيا بجهاز Java Virtual Machine الذي تم تكوينه بواسطة الحاوية. ارجع الى كود الخروج من وصف الحدث المحدد للحصول على مزيد من التفاصيل.
IBM J9 Class Sharing enabled
نوع اصدار المراقبة : ibm_jvm_class_sharing_enabled
تشير عملية المراقبة هذه الى أنه تم اتاحة مشاركة الفئة الى JVM هذا ، وفي هذه الحالة لا يمكن ارفاقها والآلة. ارجع الى قيود IBM J9 لمعرفة كيفية حل هذا.
مشكلة في مرفقات
Generic JVM
نوع اصدار المراقبة : jvm_attach_generic
كانت هناك مشكلة غير معروفة تم ارفاقها الى JVM. لذلك ، لن يتم تتبع هذه العملية ولن يتم التقاط أي مقاييس JVM. يجب أن تقوم سجلات Agent باتاحة مزيد من التفاصيل عن سبب فشل عملية الارفاق. رجاء ملف بطاقة طلب الخدمة وقم بتضمين السجلات بحيث يمكننا اجراء مزيد من البحث في الموضوع.
يتم تتبع طلبات HTTP 1.x فقط.↩
Trace الاستمرارية يتم دعمها بالنسبة الى Kafka بدءا من Kafka النسخة 0.11 (التي تقدم الدعم لعناوين السجلات).↩
يتم تتبع API البرنامجي فقط. بدء الاتصال بالاضافات مثل
@Messageأو@MessageLoggerلا يتم دعمها.↩Trace الاستمرارية غير مدعمة ، برجاء استخدام SDK الغير takass لربط التتبع.↩