Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
PowerSnap è una forma di telemetria di alimentazione che registra il modo in cui un dispositivo Windows usa l'energia in un intervallo di tempo, anziché in un singolo momento.
Quando un dispositivo scarica la batteria più velocemente del previsto o rimane attivo quando dovrebbe essere inattivo, è necessario vedere come il suo comportamento di alimentazione è cambiato nel tempo per trovare la causa. Gli eventi di PowerSnap offrono la visualizzazione a livello di intervallo. Questo articolo illustra il comportamento degli eventi di PowerSnap e il relativo payload, in modo da poterli usare per la diagnostica dell'alimentazione.
Come si attivano gli eventi PowerSnap e come coprono gli intervalli
Il Microsoft.Windows.SRUM.Telemetry provider genera eventi PowerSnap. Ogni evento fornisce uno snapshot dello stato correlato all'alimentazione in un intervallo, anziché solo in un singolo punto nel tempo.
Gli eventi di PowerSnap possono essere attivati sulle transizioni di stato di alimentazione del dispositivo e da un timer mentre una sessione è attiva. Questo comportamento consente alla diagnostica dell'alimentazione di correlare le modifiche a livello di batteria, potenza dei componenti, residenza della CPU, stato termico, attività ventola e energia attribuita all'app con l'intervallo di tempo di una sessione visibile dall'utente.
L'intervallo è in genere di 15 minuti per le sessioni con schermo acceso, ma può essere più breve se si verifica un trigger, ad esempio una transizione AC/DC, l'attivazione o la disattivazione del risparmio energia o la sospensione del dispositivo. Per le sessioni di schermo spento/sospensione/ibernazione, viene generato un evento per l'intera sessione alla fine della sessione, quindi queste sessioni possono essere molto più lunghe di 15 minuti. Gli intervalli di meno di 2 minuti non vengono attivati e Windows accoda i dati all'evento successivo.
Le funzionalità di analisi diagnostica e delle tracce usano i dati di PowerSnap per correlare lo stato relativo all'alimentazione con un intervallo di tempo.
Payload dell'evento PowerSnap
Il payload dell'evento PowerSnap può includere i gruppi di metriche seguenti. Non tutte le metriche sono disponibili in ogni sistema o versione di Windows.
Metadata
Identifica l'evento e descrive l'intervallo, lo stato del dispositivo e lo stato della batteria che esso comprende.
| Metric | Description |
|---|---|
EventVersion |
Versione del payload dell'evento PowerSnap. |
CurrentTimeStamp |
Data e ora in cui è stato registrato l'evento PowerSnap. |
LastLoggedEventTimeStamp |
Timestamp del precedente evento PowerSnap registrato |
IntervalStartTimeStamp |
Timestamp all'inizio dell'intervallo di PowerSnap. |
IgnoredEventsCount |
Numero di intervalli brevi ignorati e uniti in questo evento. |
IntervalDurationInSeconds |
Durata dell'intervallo PowerSnap, in secondi. |
IsMonitorOn |
Indica se il monitor era attivo per l'intervallo. |
IsDC |
Se il sistema era alimentato a batteria. |
IsEnergySaverOn |
Se Energy Saver era attivo. |
SessionType |
Tipo di sessione di potenza associato all'intervallo. |
ExternalDisplayCount |
Numero di schermi esterni connessi. |
PreviousBatteryPerMyriad |
Carica della batteria all'inizio dell'intervallo, in unità per miriade (per 10.000). |
CurrentBatteryPerMyriad |
Carica della batteria alla fine dell'intervallo, in unità per miriade. |
PreviousBatteryRemainingCapacitymWh |
Capacità rimanente della batteria all'inizio dell'intervallo, in milliwatt-hours. |
CurrentBatteryRemainingCapacitymWh |
Capacità della batteria rimanente alla fine dell'intervallo, in milliwatt-hours. |
PreviousMaxBatteryCapacitymWh |
Capacità massima della batteria segnalata all'inizio dell'intervallo, in milliwatt-hours. |
CurrentMaxBatteryCapacitymWh |
Capacità massima della batteria segnalata alla fine dell'intervallo, in milliwatt-hours. |
BatteryDesignCapacitymWh |
Capacità nominale della batteria, in mWh. |
CurrentInstantaneousPowerMode |
Modalità di potenza istantanea registrata per l'intervallo. |
PowerModeChangedInSession |
Indica se la modalità di alimentazione effettiva è cambiata durante la sessione corrente. |
LastScreenOnSessionGuid |
Identificatore per la sessione correlata con schermo acceso. |
Potenza
Segnala il consumo energetico del componente e il numero di campioni di alimentazione raccolti durante l'intervallo.
| Metric | Description |
|---|---|
TotalPowerInMilliWatts |
Potenza totale di scarica della batteria della piattaforma per l'intervallo, in milliwatt. |
CpuPowerInMilliWatts |
Potenza del core della CPU durante l'intervallo, in mW. |
PackagePowerInMilliWatts |
Potenza del package del processore per l'intervallo, in milliwatt. |
GpuPowerInMilliWatts |
Potenza GPU nell'intervallo, in milliwatt. |
NpuPowerInMilliWatts |
Potenza NPU nell'intervallo, in mW. |
EmiPowerInMilliWatts |
Potenza del canale dell'interfaccia di misurazione dell'energia, in milliwatt per canale. |
CpuPowerSamples |
Campioni di potenza della CPU raccolti all'interno dell'intervallo. |
GpuPowerSamples |
Campioni di potenza GPU raccolti all'interno dell'intervallo. |
PackagePowerSamples |
Campioni di potenza del package del processore raccolti all'interno dell'intervallo. |
Gestione dell'alimentazione della CPU
Descrive i cicli del core, il tempo di inattività e le distribuzioni della residenza in inattività e della concorrenza nei core big e little.
| Metric | Description |
|---|---|
BigTotalCycles |
Cicli del processore registrati su core grandi o ad alte prestazioni. |
LittleTotalCycles |
Cicli del processore registrati su core little o ad alta efficienza. |
AllTotalIdleTime |
Tempo di inattività registrato in tutti i core, in microsecondi. |
BigTotalIdleTime |
Tempo di inattività registrato per grandi core, in microsecondi. |
LittleTotalIdleTime |
Tempo di inattività registrato per piccoli core, in microsecondi. |
PackageIdleAllIntervalHistogram |
Distribuzione delle durate degli intervalli di inattività all-core. |
PackageIdleBigIntervalHistogram |
Distribuzione delle lunghezze dell'intervallo di inattività dei big-core. |
PackageIdleLittleIntervalHistogram |
Distribuzione delle lunghezze degli intervalli di inattività dei little-core. |
PackageIdleAllIntervalCumulative |
Distribuzione cumulativa delle lunghezze degli intervalli di inattività di tutti i core. |
PackageIdleBigIntervalCumulative |
Distribuzione cumulativa delle lunghezze degli intervalli di inattività dei big-core. |
PackageIdleLittleIntervalCumulative |
Distribuzione cumulativa di lunghezze di intervallo di inattività little-core. |
AllCoresConcurrencyHistogram |
Distribuzione del numero di core attivi simultaneamente. |
BigCoresConcurrencyHistogram |
Distribuzione di grandi core attivi simultaneamente. |
LittleCoresConcurrencyHistogram |
Distribuzione di piccoli core attivi simultaneamente. |
AllCoresConcurrencyCumulative |
Distribuzione cumulativa della concorrenza su tutti i core. |
BigCoresConcurrencyCumulative |
Distribuzione cumulativa della concorrenza big core. |
LittleCoresConcurrencyCumulative |
Distribuzione cumulativa della concorrenza little-core. |
CStateHistogram |
Distribuzione della permanenza del package nei C-state. |
CStateCumulative |
Distribuzione cumulativa della permanenza nello stato C del pacchetto. |
Istogrammi P-state
Acquisisce la residenza della frequenza del processore (P-state) in base alla classe di qualità del servizio (QoS) e al tipo di core, sia come distribuzioni per intervallo sia come distribuzioni cumulative.
| Metric | Description |
|---|---|
PStatesBigHighQosHistogram |
Permanenza alla frequenza per carichi di lavoro ad alta QoS su core di grandi dimensioni. |
PStatesLittleHighQosHistogram |
Permanenza alla frequenza per carichi di lavoro ad alta QoS sui core piccoli |
PStatesBigLowQosHistogram |
Permanenza in frequenza per carichi di lavoro a basso QoS su core di grandi dimensioni. |
PStatesLittleLowQosHistogram |
Tempo di permanenza della frequenza per i carichi di lavoro a basso QoS sui core piccoli. |
PStatesBigTotalHistogram |
Tempo di permanenza totale alla frequenza dei core grandi. |
PStatesLittleTotalHistogram |
Tempo di permanenza totale della frequenza per i core little. |
PStatesBigHighQosCumulative |
Tempo di permanenza cumulativo alla frequenza QoS elevata per i core big. |
PStatesLittleHighQosCumulative |
Residenza cumulativa ad alta QoS della frequenza per core little. |
PStatesBigLowQosCumulative |
Tempo di permanenza cumulativo alla frequenza a basso QoS per i big core. |
PStatesLittleLowQosCumulative |
Tempo di permanenza cumulativo alla frequenza QoS bassa per core piccoli. |
PStatesBigTotalCumulative |
Tempo di permanenza totale cumulativo della frequenza per i core di grandi dimensioni. |
PStatesLittleTotalCumulative |
Tempo di permanenza totale cumulativo in frequenza per i core little. |
Termico
Segnala il tempo dedicato a ogni segnale termico o soglia, oltre a un readout della temperatura, se disponibile.
| Metric | Description |
|---|---|
THERMAL_STATUS (Indice 0) |
Tempo con un segnale di stato termico, in secondi. |
THERMAL_PROC_HOT (Indice 1) |
Tempo con il segnale PROCESSOR HOT attivo, espresso in secondi. |
THERMAL_CRITICAL_TEMP (Indice 2) |
Tempo in una condizione termica critica, in secondi. |
THERMAL_THRESHOLD_1 (Indice 3) |
Tempo alla soglia termica 1, in secondi. |
THERMAL_THRESHOLD_2 (Indice 4) |
Tempo alla soglia termica 2, in secondi. |
THERMAL_POWER_LIMITATION (Indice 5) |
Tempo in caso di limitazione della potenza termica, in secondi. |
THERMAL_READOUT (Indice 6) |
Lettura della temperatura in gradi Celsius, se disponibile. |
Ventilatore
Descrive il tempo di funzionamento della ventola e la distribuzione dell'attività della ventola nei bucket di rumore e impatto.
| Metric | Description |
|---|---|
FanOnTotalTimeInSeconds |
Tempo totale in cui la ventola è stata attivata durante l'intervallo, in secondi. |
FanImpactNoiseHistogram |
Distribuzione del tempo della ventola in base all'impatto della ventola o alla fascia di rumore. |
FanImpactNoiseCumulative |
Distribuzione cumulativa dell'impatto della ventola o delle classi di rumore. |
FanImpactZonesHistogram |
Distribuzione del tempo ventola in base alla zona di impatto. |
FanImpactZonesCumulative |
Distribuzione cumulativa delle zone di impatto a ventaglio. |
FanRpmBucketBoundaries |
Limiti RPM per i bucket della ventola. |
FanImpactZonesBoundaries |
Limiti RPM per le zone di impatto della ventola. |
Attribuzione dell'alimentazione delle app (E3)
Il motore di stima dell'energia (E3) attribuisce l'energia dell'intervallo alle app, al display, alla GPU e ad altre categorie, inclusa l'energia proveniente da intervalli ignorati.
| Metric | Description |
|---|---|
TotalAppEnergySessionInMilliJoules |
Energia totale attribuita all'app nell'intervallo, in millijoule. |
TotalAppEnergyMissedSessionsInMilliJoules |
Energia attribuita all'app da intervalli ignorati, uniti in questo evento, in millijoule. |
TotalDisplayEnergySessionInMilliJoules |
Energia dell'app attribuibile al display nell'intervallo, in millijoule. |
TotalDisplayEnergyMissedSessionsInMilliJoules |
Energia dell'app attribuita al display da intervalli ignorati, in millijoules. |
TotalGpuEnergyInMilliJoules |
Energia GPU attribuita da E3 nell'intervallo, in millijoules. |
TotalGpuEnergyMissedSessionsInMilliJoules |
Energia GPU da intervalli ignorati, in millijoules. |
TotalLossEnergyInMilliJoules |
Energia di perdita E3 per l'intervallo, in millijoules. |
TotalOtherEnergyInMilliJoules |
E3 altra energia per l'intervallo, in millijoules. |
TotalUnknownAppEnergyInMilliJoules |
Energia E3 attribuita all'attività app sconosciuta, in millijoules. |
UnknownAppDurationInSeconds |
Durata associata al consumo energetico di app sconosciute, in secondi. |
AttributedToSpecificAppInMyriad |
Quota dell'energia dell'app attribuita alle app denominate, in unità per miriade. |
AppEnergyNames |
Nomi di app o pacchetti per i record principali attribuiti all'app. |
AppEnergySessionInMilliJoules |
Energia non visualizzata per app nell'intervallo, in millijoule. |
AppEnergyMissedSessionsInMilliJoules |
Energia non visualizzata per app da intervalli ignorati, in millijoules. |
AppDisplayEnergySessionInMilliJoules |
Energia visualizzata per app nell'intervallo, in millijoule. |
AppDisplayEnergyMissedSessionsInMilliJoules |
Visualizzazione dell'energia per app dagli intervalli ignorati, in millijoule. |
Report di SleepStudy
I report HTML SleepStudy possono includere i dati di PowerSnap quando PowerSnap raccoglie gli eventi per una sessione. Per generare un report, eseguire powercfg /sleepstudy in un terminale. SleepStudy elabora il payload di PowerSnap per la leggibilità del report e il payload è solo un subset di tutte le informazioni raccolte da PowerSnap.
Note e limitazioni
- La disponibilità dei campi varia in base alla versione Windows, alla piattaforma del dispositivo, alla topologia del processore, al firmware e ai sensori disponibili.
- Alcuni campi possono essere vuoti o zero quando una piattaforma non espone i dati hardware corrispondenti.
- I nomi delle app e l'attribuzione del consumo energetico possono rivelare l'attività dell'utente o del carico di lavoro. Considerare gli eventi e i report di PowerSnap che contengono dati di PowerSnap come dati di diagnostica.
Argomenti correlati
- Gestione dell'alimentazione
- Stati di alimentazione del sistema
- Eventi di gestione dell'energia di sistema