هل هناك طريقة لبدء أو إيقاف جمع البيانات من التطبيق المعرف؟

أود توضيح جزء معين من تنفيذ تطبيق صغير. هل هناك طريقة لتحريك جمع البيانات في VisualVM من داخل التطبيق الذي هو أن تكون لمحة؟ وبعبارة أخرى ، هل من الممكن إضافة التعليمات البرمجية إلى تطبيق ملف التعريف بحيث يتم تلقائياً إنشاء التشكيل الجانبي في VisualVM بمجرد إصابة هذا الرمز؟

meaninglessCode();

// How to start data collection?
com.sun.tools.visualvm.....startSampling();
//

codeToBeProfiled();

// How to stop data collection?
com.sun.tools.visualvm.....stopSampling();
//

furtherMeaninglessCode();

الحل الحالي الخاص بي هو استدعاء Thread.sleep الذي يمنحني الوقت للضغط على الزر في واجهة المستخدم الرسومية VisualVM ، ولكن هذا أبعد ما يكون عن كونه مرضياً. لم تظهر العديد من عمليات بحث Google أي نجاح. أنا أقدر أي تلميح.

4
jayeff OP يشير إلى بيانات التنميط.
وأضاف المؤلف Marko Topolnik, مصدر
هل يمكنك عزل جزء جمع البيانات وتشغيله كتطبيق خاص به؟
وأضاف المؤلف jayeff, مصدر

1 إجابة

يمكنك استخدام إعدادين VisualVM لتخصيص جلسة تشكيل الملفات كما هو موضح في إدخال المدونة هذا:

  • Profiling roots: Put class containing codeToBeProfiled()
  • Instrumentation filters: Define your own or leave default value

بهذه الطريقة ، سوف يبدأ VisualVM في إنشاء ملفات تعريف عندما يتم تنفيذ أي طريقة للفئة التي تحتوي على codeToBeProfiled() .

1
وأضاف