Microsoft Teams: cos’è “Performance Profile.json” nella cartella PerfLogs (è sicuro, quando si crea e come gestirlo)

Hai visto uno o più file .json (ad es. Performance Profile.json) nella cartella PerfLogs di Microsoft Teams e ti stai chiedendo se sia qualcosa di anomalo o pericoloso? In breve: sono normali log di performance creati dal client Teams per diagnosi e troubleshooting.

Indice

Perché compare “Performance Profile.json” nella cartella PerfLogs di Teams

Il client Microsoft Teams — sia nella versione classica sia nel nuovo client basato su Edge/Chromium — include un meccanismo di profilazione che registra, in modo opportunistico, dati sulle prestazioni dell’app (uso di CPU e RAM, latenze di rete, eventi del rendering, ecc.). Quando si verificano condizioni specifiche (ad esempio rallentamenti, errori o l’uso di strumenti di diagnostica), Teams salva uno o più profili in formato .json nella cartella PerfLogs.

La presenza del file non è un indicatore di compromissione né di un malfunzionamento grave: è, piuttosto, il “termometro” che l’app usa per aiutare l’utente o il supporto tecnico a capire cosa succede sotto il cofano.

Risposta rapida (tabella di sintesi)

Cosa sapereDettagli
Origine del fileÈ un log di performance generato automaticamente dal client Teams (nuova e classica versione). Contiene metriche su utilizzo CPU/RAM, eventi di rete, latenze, ecc. destinati al troubleshooting interno.
Motivo della creazioneTeams produce questi profili quando rileva condizioni che potrebbero incidere sulle prestazioni o su richiesta esplicita degli strumenti di diagnostica (ad es. tramite scorciatoie da tastiera o DevTools di Edge/Chromium).
Rischi per la sicurezzaNessuno: non contiene credenziali, chat o dati sensibili; solo contatori e timestamp. È normale trovarlo nella cartella indicata.
Cosa fareSe non riscontri problemi di prestazioni, puoi ignorarlo o cancellarlo per liberare spazio (verrà ricreato se necessario). Se hai rallentamenti o crash, condividi il file con il supporto Microsoft o chiedi nella community “Microsoft Teams Development” per analisi approfondite.
Gestione dello spazio su discoI file sono in genere piccoli (da pochi KB ad alcuni MB). Se il numero/volume diventa significativo, eliminali periodicamente o automatizza la pulizia con uno script PowerShell che cancella i log più vecchi di n giorni.
Come disattivare la generazione (opzionale)Non esiste un toggle ufficiale. Per ridurla: 1) usa l’app Teams aggiornata (il nuovo client genera log più efficienti); 2) evita di tenere aperti i DevTools; 3) non attivare “Enable Logging for Diagnostics” se non serve.

Dove si trova la cartella PerfLogs e quali file aspettarsi

Su Windows, per il nuovo Teams (app Store/Work Account), la cartella è in genere:

C:\Users<utente>\AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\PerfLogs

Per la versione classica o installazioni legacy per-utente si può trovare anche qui:

%APPDATA%\Microsoft\Teams\PerfLogs

All’interno potresti vedere nomi come:

  • Performance Profile.json
  • renderer-profile-YYYYMMDD-HHMMSS.json
  • network-trace-... (tracce di rete in JSON)
  • .heapsnapshot o .heapprofile (profilazioni memoria)

Il numero e la frequenza variano in base all’uso dell’app, al carico del sistema e all’eventuale attivazione di strumenti di diagnostica.

È sicuro? Considerazioni su sicurezza e privacy

I profili .json salvano misure tecniche: contatori di CPU, memoria, tempi di risposta, stack trace anonimi, etichette di eventi (ad es. “callStarted”, “frameDropped”). Non includono il testo delle chat, allegati, credenziali, token o contenuti vocali/video. Il loro scopo è esclusivamente tecnico.

Se lavori in un contesto regolamentato (es. PA o azienda soggetta a audit), trattali come log tecnici e, dove richiesto, applica le normali policy di retention e minimizzazione: archiviazione limitata, accesso ai soli amministratori, cancellazione periodica.

Quando e perché Teams li crea

  • Degradazione percettibile delle performance: es. rallentamenti dell’interfaccia, rendering irregolare, picchi di CPU o memoria durante riunioni o condivisione schermo.
  • Errori o crash: per aiutare l’analisi post‑evento.
  • Diagnostica esplicita: se usi scorciatoie o strumenti per raccogliere log (ad es. combinazioni da tastiera per generare un pacchetto diagnostico, oppure l’apertura dei DevTools integrati del WebView2/Chromium con la profilazione attiva).
  • Ambienti VDI: in alcune configurazioni virtualizzate, Teams può intensificare la raccolta di metriche per ottimizzare l’esperienza audio/video.

Cosa puoi fare subito

  1. Verifica la posizione: premi Win+R, incolla il percorso della sezione “Dove si trova…” e premi Invio.
  2. Controlla dimensioni e date: ordina i file per “Data modifica” e “Dimensioni”. Se i file sono vecchi o molto numerosi, valuta l’eliminazione.
  3. Eliminazione sicura: chiudi Teams, cancella i file non necessari e riapri Teams. Se servono, verranno ricreati automaticamente.
  4. Hai problemi di performance? Conserva gli ultimi file e condividili con il supporto per velocizzare la diagnosi.

Gestione dello spazio: pulizia manuale e automatica

Questi file raramente consumano molto spazio (spesso pochi MB). Tuttavia, su macchine usate intensamente o dopo lunghi periodi senza manutenzione, la cartella può crescere. Di seguito due strategie:

Pulizia manuale

  1. Chiudi completamente Teams (icona nell’area di notifica → Esci).
  2. Apri la cartella PerfLogs.
  3. Elimina i file più vecchi o tutti i file .json/.heapsnapshot se non stai facendo diagnosi.

Script PowerShell – cancella log più vecchi di n giorni

Lo script seguente rimuove i profili datati, con gestione degli errori e report finale. Puoi incollarlo in PowerShell (consigliato eseguirlo come utente, non è necessaria elevazione se la cartella è nel profilo utente).

$ErrorActionPreference = 'Stop'

Parametri

$days = 14
$paths = @(
"$env:LOCALAPPDATA\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\PerfLogs",
"$env:APPDATA\Microsoft\Teams\PerfLogs"
)

$cutoff = (Get-Date).AddDays(-$days)
$deleted = 0
$skipped = 0

foreach ($p in $paths) {
if (Test-Path $p) {
Write-Host "Pulizia in: $p"
Get-ChildItem -Path $p -File -ErrorAction SilentlyContinue |
Where-Object { $*.LastWriteTime -lt $cutoff } |
ForEach-Object {
try {
Remove-Item -LiteralPath $*.FullName -Force -ErrorAction Stop
$deleted++
} catch {
$skipped++
Write-Warning "Impossibile eliminare $($.FullName): $($.Exception.Message)"
}
}
}
}

Write-Host "Completato. File eliminati: $deleted. File saltati: $skipped." 

Automatizzare con Utilità di pianificazione

  1. Apri Utilità di pianificazioneCrea attività di base….
  2. Scegli un nome (es. “Pulizia PerfLogs Teams”) e imposta una frequenza (es. settimanale).
  3. Azioni → Avvia programmapowershell.exe.
  4. Argomenti: -NoProfile -ExecutionPolicy Bypass -File "C:\Percorso\pulizia-PerfLogs.ps1".
  5. Conferma. L’attività verrà eseguita automaticamente secondo la pianificazione scelta.

Ridurre la generazione dei log (non esiste uno switch “off”)

  • Aggiorna Teams: le versioni recenti migliorano la telemetria e riducono la verbosità quando non necessaria.
  • Chiudi i DevTools quando non servono: la profilazione manuale può generare dump e profili aggiuntivi.
  • Evita il logging diagnostico esteso (“Enable Logging for Diagnostics” o opzioni equivalenti) se non stai indagando un problema.
  • Ottimizza il sistema: driver grafici e audio aggiornati, impostazioni di risparmio energetico adeguate, GPU abilitata per l’accelerazione hardware in Teams (se compatibile) riducono i rallentamenti e quindi le condizioni che innescano la profilazione.
  • Verifica componenti di terze parti (overlay, plugin A/V, software di cattura schermo): possono interferire con il rendering e aumentare la necessità di log.

Come leggere il contenuto del JSON

I file Performance Profile.json sono leggibili con un editor di testo. Troverai serie temporali e blocchi di eventi. Un esempio semplificato:

{
  "profile": {
    "createdUtc": "2025-09-12T08:31:45.123Z",
    "appVersion": "Teams 242xx",
    "sessionId": "3f6c...a9",
    "os": "Windows 11 23H2"
  },
  "cpu": [
    { "ts": 1694509900123, "processCpuPct": 18.5, "systemCpuPct": 32.1 },
    { "ts": 1694509901123, "processCpuPct": 42.7, "systemCpuPct": 55.0 }
  ],
  "memory": [
    { "ts": 1694509900123, "workingSetMB": 612, "commitMB": 820 },
    { "ts": 1694509901123, "workingSetMB": 690, "commitMB": 905 }
  ],
  "network": [
    { "ts": 1694509900456, "event": "iceConnected", "rttMs": 38, "jitterMs": 7 },
    { "ts": 1694509903456, "event": "packetLoss", "lossPct": 2.4 }
  ],
  "rendering": [
    { "ts": 1694509900780, "frameDrops": 12, "reason": "gc" }
  ]
}

Le chiavi esatte possono variare tra versioni, ma la logica resta la stessa: misure temporali utilizzabili per correlare un problema (es. un picco di CPU) con un evento (packet loss o frame drop).

Analisi avanzata con strumenti gratuiti

  • Edge/Chrome DevTools: apri DevTools → PerformanceLoad profile e importa il JSON (o gli .heapsnapshot/ .heapprofile). Puoi cercare colli di bottiglia nel rendering, pause di garbage collection, leak di memoria.
  • Esportazione mirata: se devi condividere dati, invia solo l’intervallo temporale che copre il problema (ad es. gli ultimi 10–15 minuti). La granularità spesso è sufficiente per capire la causa senza fornire log estesi.
  • Correlazione con orari: confronta i timestamp con l’orario della riunione o dell’evento che ha dato problemi. Troverai pattern come “salto CPU all’avvio condivisione schermo” o “picco di latenze al cambio rete”.

Come distinguere un log legittimo da qualcosa di sospetto

Anche se raro, è buona pratica un rapido check:

  • Percorso: il file è nella cartella indicata ed è generato da Teams. Se un elemento simile appare in percorsi insoliti (es. cartelle Temp generiche o radice di sistema) indaga prima di aprirlo.
  • Estensione: i log sono .json, .heapsnapshot, .heapprofile. Eseguibili (.exe, .dll) nella stessa cartella non sono attesi.
  • Contenuto: aprendo il file dovresti vedere testo JSON leggibile, con elenchi di eventi/metriche. Se è binario incomprensibile, è un altro tipo di file.
  • Antivirus: se hai dubbi, esegui una scansione con Windows Defender o la soluzione aziendale.

FAQ

Posso eliminare il file senza rischi?
Sì. Chiudi Teams, cancella il file e riapri l’app. Se necessario, verrà ricreato automaticamente.

Perché ne compaiono tanti?
Utilizzo intenso (riunioni lunghe, condivisioni, multi‑monitor), profili avviati dai DevTools o una fase di troubleshooting possono generare più file.

Posso disattivare completamente la raccolta?
Non c’è un interruttore ufficiale. La strategia è ridurne le condizioni di generazione (vedi sezione dedicata) e gestire la retention con la pulizia programmata.

Contengono dati personali?
No, non contengono contenuti di chat o credenziali. Sono misure tecniche e timestamp. Trattali comunque come log tecnici secondo le policy interne.

Posso inviarli al supporto?
Sì, è una delle finalità principali. Invia solo ciò che serve (ad es. gli ultimi file) e, se possibile, aggiungi l’orario del problema.

Check‑list rapida per amministratori IT

  • Definisci una retention (es. 14–30 giorni) e automatizza la pulizia.
  • Documenta una procedura di raccolta per utenti con problemi: dove trovare la cartella, cosa inviare, come allegarlo al ticket.
  • Allinea i criteri di diagnostica: quando abilitare logging avanzato, chi può farlo, come disattivarlo.
  • Monitora driver e aggiornamenti (GPU, audio, rete) per ridurre eventi che generano profilazioni.
  • Valuta policy VDI e ottimizzazioni A/V se usi ambienti virtuali.

Approfondimenti utili

  • I profili in formato .json, .heapsnapshot, .heapprofile si possono importare nei DevTools di Edge/Chrome tramite Performance → Load profile per esaminare frame drop, garbage collection, leak di memoria e altri colli di bottiglia.
  • Documentazione utile (ricercabile): Display original function names in performance profiles e Share enhanced performance and memory traces su Microsoft Learn.
  • Per scenari di sviluppo (bot, app personalizzate) la community Microsoft Q&A – Teams Development è un canale efficace; i forum “Microsoft 365” trattano temi out‑of‑the‑box.

Take‑away

Se non hai sintomi di lentezza o crash, Performance Profile.json è solo un log di diagnostica: nessun allarme. Lascialo dov’è o cancellalo se ti serve spazio. Se invece riscontri problemi, conserva gli ultimi file e inviali al supporto: accelereranno la diagnosi.


Esempi pratici: tre casi d’uso

Caso 1 – Utente finale senza problemi

Hai trovato 3 file Performance Profile.json di pochi MB, con data di due settimane fa. Azione consigliata: cancellali, nessun impatto su Teams. Non servono interventi ulteriori.

Caso 2 – Utente con riunioni a scatti

Durante una call vedi video scattoso e audio che si interrompe. Aprendo il file noti eventi packetLoss e jitterMs elevati negli stessi minuti. Azione consigliata: condividi il JSON con il supporto e verifica rete/Wi‑Fi; valuta Ethernet o QoS. Riduci applicazioni in background.

Caso 3 – Helpdesk aziendale

Ricevi ticket di “Teams lento” da più utenti. Implementi lo script di pulizia con retention 21 giorni e chiedi agli utenti di inviare l’ultimo Performance Profile.json associandolo all’orario del problema. Confrontando i dati, individui un pattern: picchi CPU in coincidenza con la condivisione di contenuti 4K. Intervento: abilitare una policy per limitare la risoluzione di condivisione e aggiornare driver GPU.


Buone pratiche di prevenzione

  • Hardware adeguato: CPU multi‑core moderna, almeno 8–16 GB di RAM per un uso intensivo con più app aperte.
  • GPU e driver aggiornati per sfruttare l’accelerazione hardware.
  • Alimentazione: su laptop, profilo “Prestazioni elevate” durante le call; evita risparmi energetici aggressivi che limitano la CPU.
  • Rete: preferisci cablata; su Wi‑Fi usa banda 5 GHz o 6 GHz; attiva QoS dove possibile.
  • Igiene software: chiudi applicazioni di cattura video/overlay quando non servono; riduci estensioni del browser se usi Teams web.

Checklist personale per diagnosticare un rallentamento

  1. Segna data e ora del problema.
  2. Individua l’ultimo Performance Profile.json con timestamp coincidente.
  3. Aprilo e cerca eventi o picchi in corrispondenza (CPU, memoria, rete, rendering).
  4. Applica una misura correttiva (es. chiudi app pesanti, sposta rete, aggiorna driver) e verifica se il problema si ripresenta.
  5. Se persiste, invia il file al supporto con la descrizione del contesto.

Conclusione

I file nella cartella PerfLogs di Teams, incluso Performance Profile.json, sono componenti fisiologici del meccanismo di profilazione. Non sono pericolosi, non contengono dati sensibili e possono essere rimossi in sicurezza se non necessari. In presenza di problemi, invece, rappresentano un prezioso alleato per una diagnosi rapida e informata.

Indice