Domanda

Per il profiler che impledo usando Jvmti Vorrei iniziare a misurare il tempo di esecuzione di tutti i metodi Java. JVMTI offre gli eventi:

  • MethodEntry
  • MethodExit

Quindi sarebbe abbastanza facile da implementare, tuttavia mi sono imbattuto in questo Nota nell'API:

Gli eventi di iscrizione o uscita del metodo abilitante degraderanno significativamente le prestazioni su molte piattaforme e non saranno quindi consigliati per l'utilizzo critico delle prestazioni (come la profilazione). In questi casi dovrebbe essere utilizzata la strumentazione bytecode.

Ma il mio agente di profilazione funziona senza testa, il che significa che i dati raccolti vengono serializzati e inviati tramite socket a un'applicazione del server che visualizza i risultati. Come dovrei realizzarlo usando la strumentazione del codice byte. Sono un po 'confuso come andare avanti da qui. Qualcuno potrebbe spiegarmi, se devo cambiare la strategia o come posso affrontare questo problema?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top