Aller au contenu principal

contentTracing

Collecte des données de traçage de Chromium pour trouver les goulets d'étranglement altérant les performance et les opérations trop lentes.

Processus : Main

Ce module n'inclut pas d'interface web. Pour afficher les traces enregistrées, utilisez la visionneuse de traces, disponible sur chrome://tracing dans Chrome.

Note: Vous ne devrez pas utiliser ce module tant que l'événement ready du module de l'application n'a pas été émis.

const { app, contentTracing } = require('electron')

app.whenReady().then(() => {
(async () => {
await contentTracing.startRecording({
included_categories: ['*']
})
console.log('Tracing started')
await new Promise(resolve => setTimeout(resolve, 5000))
const path = await contentTracing.stopRecording()
console.log('Tracing data recorded to ' + path)
})()
})

Méthodes

Le module contentTracing possède les méthodes suivantes :

contentTracing.getCategories()

Retourne une Promise<string[]> - qui se résout avec un tableau de groupes de catégories une fois que tous les processus enfants ont reconnu la requête getCategories

Retourne un ensemble de groupes de catégories. Les groupes de catégories peuvent changer lorsque de nouveaux chemins de code sont atteints. Voir aussi la liste des catégories de traçage intégrées.

remarque : Electron ajoute une catégorie de traçage autre que celle par défaut appelée "electron". Cette catégorie peut être utilisée pour capturer des événements de traçage spécifiques à Electron.

contentTracing.startRecording(options)

Retourne Promise<void> - résolu une fois que tous les processus enfants ont reconnu la requête startRecording.

Commencez à enregistrer sur tous les processus.

L'enregistrement commence immédiatement localement et de manière asynchrone sur les processus enfants dès qu'il reçoit la demande EnableRecording.

Si un enregistrement est déjà en cours, la promesse sera immédiatement résolue, car seule une opération de trace peut être en cours à la fois.

contentTracing.stopRecording([resultFilePath])

  • resultFilePath string (facultatif)

Retourne Promise<string> - résout avec un chemin vers un fichier qui contient les données tracées une fois que tous les processus enfants ont reconnu la requête stopRecording

Arrêter l'enregistrement sur tous les processus.

Les processus fils mettent généralement en cache les données de trace et ne suppriment que rarement et envoient données de trace au processus principal. Cela aide à minimiser les frais d'exécution de traçage puisque l'envoi de données de traces via IPC peut être une opération coûteuse. Ainsi, pour terminer le traçage, Chromium demande asynchrone à tous les processus enfants de vider les données de traces en attente.

Les données de trace seront écrites dans resultFilePath. Si resultFilePath est vide ou non fourni, les données de trace seront écrites dans un fichier temporaire, et le chemin sera retourné dans la promesse.

contentTracing.getTraceBufferUsage()

Retourne Promise<Object> - Résolution avec un objet contenant la valeur et pourcentage d'utilisation maximale du tampon de trace

  • value number
  • percentage number

Récupère l'utilisation maximale sur les processus de mémoire tampon trace en pourcentage de l'état complet de .