Con la versione 5 del programma di accesso anticipato (EAP) 2023.1 degli strumenti ReSharper , abbiamo anche reso disponibile la versione standalone del profiler delle prestazioni dotTrace su macOS e Linux, sia per processori x64 che ARM64. Ora puoi utilizzare dotTrace come strumento autonomo per profilare le tue applicazioni .NET Core, Mono e Unity su tutti e tre i principali sistemi operativi.
In questo post del blog, diamo un'occhiata a come puoi iniziare con dotTrace su macOS. Tieni presente che per Windows e Linux il flusso di lavoro sarà simile.
Scarica dotTrace per la tua piattaforma
Per scaricare dotTrace standalone, puoi utilizzare l'app JetBrains Toolbox . fornisce un comodo accesso a tutti gli strumenti JetBrains e consente di installare versioni stabili e ad accesso anticipato affiancate.
In alternativa, scarica la build per il tuo sistema operativo facendo clic sul collegamento appropriato:
- dotTrace per macOS x64
- dotTrace per macOS ARM64
- dotTrace per Linux x64
- dotTrace per Linux ARM64
- dotTrace per Windows x64
- dotTrace per Windows ARM64
Scegli cosa vuoi profilare e come
Dopo aver avviato dotTrace, verrai accolto dalla schermata Home. Qui sceglierai cosa profilare e come profilarlo. Inoltre, la schermata iniziale ti dà accesso a istantanee, esercitazioni e altro ancora del profiler precedente. Puoi consentire a dotTrace di avviare la tua applicazione o profilare un processo già in esecuzione.
Sul lato sinistro della schermata iniziale, inizia aggiungendo una configurazione di corsa. dotTrace su macOS e Linux consente di selezionare un'applicazione desktop o console autonoma da profilare, nonché un'applicazione .NET Core, Mono o Unity. Su Windows, sarai in grado di selezionare diversi altri tipi di applicazione, incluse le applicazioni ospitate da IIS e i servizi Windows.
Quando crei il profilo delle tue applicazioni, non usare la modalità Debug per crearle. Idealmente, usa la modalità Rilascio . Il compilatore ottimizza automaticamente i percorsi delle chiamate quando l'applicazione viene compilata in modalità di rilascio. Generalmente migliora le prestazioni della tua applicazione mediante metodi di incorporamento e altre tecniche e ti darà risultati più pertinenti più vicini all'applicazione che potresti eseguire in produzione.
Dopo aver selezionato il tipo di applicazione e trovato l'eseguibile da profilare, sarai in grado di selezionare la modalità di profilatura.
Ci sono molte altre modalità di profilatura tra cui puoi selezionare: Timeline, Sampling, Tracing e su Windows, Line-by-Line. Ecco un breve riepilogo di ciò che ciascuna modalità supporta:
- Timeline e Sampling raccolgono informazioni sui tempi di esecuzione del metodo nella tua applicazione. La sequenza temporale raccoglie dati aggiuntivi sugli eventi dell'applicazione, distribuiti nel tempo. Ciò semplifica l'analisi dei blocchi dell'interfaccia utente, dei problemi di Garbage Collection, dell'esaurimento dei thread e così via. In genere, Timeline e Sampling hanno un sovraccarico minimo per l'applicazione in esecuzione.
- Tracing e Line-by-Line raccolgono informazioni sul numero di volte in cui viene chiamato un metodo nell'applicazione. La traccia esegue questa operazione a livello di metodo, Line-by-Line (solo su Windows) tiene traccia dei numeri di chiamata a livello di istruzione. Tracing e Line-by-Line ti forniranno numeri di chiamata accurati, ma a causa dell'overhead che aggiungono, non sono affidabili per misurare i tempi di chiamata.
In genere, il flusso di lavoro di profilazione inizierà con la profilazione della sequenza temporale.
dotTrace ti consente di scegliere anche diverse altre opzioni, ad esempio se desideri profilare i processi figlio della tua applicazione, utilizzare l' API di profilazione nella tua applicazione per controllare quando acquisire istantanee dal codice e altro ancora.
Tutto stabilito! Ora puoi fare clic su Start , che avvierà il profiler e l'applicazione che desideri profilare.
Controllo degli snapshot del profiler
Dopo aver avviato dotTrace per profilare un'applicazione, verrà mostrato un controller del profiler. Il controller ti consente di avviare la profilazione e decidere quando acquisire uno snapshot che puoi esaminare. Puoi visualizzare l'utilizzo della CPU e della memoria della tua applicazione in un grafico, che può essere utile per identificare un picco della CPU dopo il quale desideri acquisire uno snapshot.
Quando hai acquisito dati sufficienti, fai clic su Ottieni istantanea e attendi per salvare l'istantanea e aprirla nel visualizzatore dotTrace.
Analisi di un'istantanea
Il visualizzatore dotTrace ti mostra informazioni su cosa è successo durante la tua sessione di profilazione. Sul lato sinistro, vedrai tutti i tipi di eventi che puoi filtrare. Al centro c'è la sequenza temporale della sessione di profilazione, in cui è possibile ingrandire orari specifici. Il lato destro del visualizzatore mostra gli hotspot nel codice in cui viene speso molto tempo e un albero delle chiamate di tutti i metodi.
Tutto nel visualizzatore dotTrace è un filtro. Se ingrandisci un periodo di tempo, tutte le visualizzazioni verranno aggiornate per mostrare i dati relativi a tale intervallo di tempo. Se selezioni una chiamata di metodo specifica da analizzare, vedrai i momenti salienti della sequenza temporale quando viene chiamato quel metodo e gli eventi saranno limitati agli eventi che si sono verificati durante quel periodo di tempo.
Consulta la documentazione dotTrace per saperne di più sull'analisi degli snapshot del profiler .NET .
Riepilogo
La versione 2023.1 EAP 5 degli strumenti ReSharper ha aggiunto il supporto per la versione autonoma del profiler delle prestazioni dotTrace su macOS e Linux, sia per processori x64 che ARM64. Il flusso di lavoro di profilazione è lo stesso di Windows: selezionare l'applicazione da profilare, scegliere una modalità di profilazione e acquisire e analizzare uno snapshot.
Se devi profilare le applicazioni su una macchina remota, puoi utilizzare il profiler della riga di comando dotTrace per acquisire un'istantanea e utilizzare il visualizzatore dotTrace sulla tua macchina per analizzarla, indipendentemente dal fatto che tu stia utilizzando Windows, macOS o Linux. E, naturalmente, puoi profilare le tue applicazioni da Visual Studio e direttamente anche da Rider .
Prova la versione dotTrace Early Access Program (EAP) su macOS o Linux e facci sapere come va!