20.4. Exécution de la requête de profilage


Pour exécuter la requête de profilage, vous devez créer une ressource NodeObservabilityRun. La requête de profilage est une opération bloquante qui récupère les données de profilage CRI-O et Kubelet pour une durée de 30 secondes. Une fois la requête de profilage terminée, vous devez récupérer les données de profilage dans le répertoire /run/node-observability du système de fichiers du conteneur. La durée de vie des données est liée au module d'agent par l'intermédiaire du volume emptyDir, de sorte que vous pouvez accéder aux données de profilage lorsque le module d'agent est dans l'état running.

Important

Vous ne pouvez demander qu'une seule requête de profilage à la fois.

Conditions préalables

  • Vous avez installé l'opérateur d'observabilité du nœud.
  • Vous avez créé la ressource personnalisée (CR) NodeObservability.
  • Vous avez accès au cluster avec les privilèges cluster-admin.

Procédure

  1. Créez un fichier de ressources NodeObservabilityRun nommé nodeobservabilityrun.yaml qui contient le texte suivant :

    apiVersion: nodeobservability.olm.openshift.io/v1alpha2
    kind: NodeObservabilityRun
    metadata:
      name: nodeobservabilityrun
    spec:
      nodeObservabilityRef:
        name: cluster
  2. Déclenchez la requête de profilage en exécutant la ressource NodeObservabilityRun:

    $ oc apply -f nodeobservabilityrun.yaml
  3. Vérifiez l'état du site NodeObservabilityRun en exécutant la commande suivante :

    $ oc get nodeobservabilityrun nodeobservabilityrun -o yaml  | yq '.status.conditions'

    Exemple de sortie

    conditions:
    - lastTransitionTime: "2022-07-07T14:57:34Z"
      message: Ready to start profiling
      reason: Ready
      status: "True"
      type: Ready
    - lastTransitionTime: "2022-07-07T14:58:10Z"
      message: Profiling query done
      reason: Finished
      status: "True"
      type: Finished

    La requête de profilage est terminée lorsque le statut est True et le type Finished.

  4. Récupérez les données de profilage à partir du chemin d'accès au conteneur /run/node-observability en exécutant le script bash suivant :

    for a in $(oc get nodeobservabilityrun nodeobservabilityrun -o yaml | yq .status.agents[].name); do
      echo "agent ${a}"
      mkdir -p "/tmp/${a}"
      for p in $(oc exec "${a}" -c node-observability-agent -- bash -c "ls /run/node-observability/*.pprof"); do
        f="$(basename ${p})"
        echo "copying ${f} to /tmp/${a}/${f}"
        oc exec "${a}" -c node-observability-agent -- cat "${p}" > "/tmp/${a}/${f}"
      done
    done
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2026 Red Hat
Retour au début