Eventi di PowerSnap

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.