Profilerstellung für Node.js-Code

Auf dieser Seite wird beschrieben, wie Sie Ihre Node.js-Anwendung so ändern, dass Datenprofile erstellt und an Ihr Google Cloud-Projekt gesendet werden können. Allgemeine Informationen zur Profilerstellung finden Sie unter Konzepte der Profilerstellung.

.

Profiltypen für Node.js:

  • Heap
  • Echtzeit

Unterstützte Node.js-Sprachversionen:

  • Node.js 14 oder höher
  • Die Releaserichtlinie für Node.js finden Sie unter Releasezeitplan.

Unterstützte Profiler-Agent-Versionen:

  • Der neueste Release des Agents wird unterstützt. Im Allgemeinen werden Releases, die älter als ein Jahr sind, nicht unterstützt. Wir empfehlen, die neueste veröffentlichte Version des Agents zu verwenden.

Unterstützte Betriebssysteme:

  • Linux: Die Profilerstellung für Node.js-Anwendungen wird für Linux-Kernel unterstützt, deren Standard-C-Bibliothek mit glibc oder mit musl implementiert wurde. Konfigurationsinformationen zu Linux Alpine-Kernels finden Sie unter Mit Linux Alpine ausführen.

Unterstützte Umgebungen:

  • Compute Engine
  • Google Kubernetes Engine (GKE)
  • Flexible App Engine-Umgebung
  • App Engine-Standardumgebung
  • Außerhalb von Google Cloud (Informationen zu den zusätzlichen Konfigurationsanforderungen finden Sie unter Profilerstellung für Code außerhalb von Google Cloud.)

Profiler API aktivieren

Sorgen Sie vor Verwendung des Profiler-Agents dafür, dass die zugrunde liegende Profiler API aktiviert ist. Sie können den Status der API prüfen und sie bei Bedarf über die Google Cloud CLI oder die Google Cloud Konsole aktivieren:

gcloud-CLI

  1. Wenn Sie die Google Cloud-Befehlszeile noch nicht auf Ihrer Workstation installiert haben, lesen Sie die Dokumentation zur Google Cloud-Befehlszeile.

  2. Führen Sie dazu diesen Befehl aus:

    gcloud services enable cloudprofiler.googleapis.com
    

Weitere Informationen finden Sie unter gcloud services.

Google Cloud Console

  1. Aktivieren Sie die Cloud Profiler API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    API aktivieren

  2. Wenn API aktiviert angezeigt wird, ist die API bereits aktiviert. Falls nicht, klicken Sie auf den Button Aktivieren.

Dienstkonto eine IAM-Rolle zuweisen

Wenn Sie Ihre Anwendung auf Google Cloud -Ressourcen bereitstellen und das Standarddienstkonto verwenden und die Rollenzuweisungen für dieses Dienstkonto nicht geändert haben, können Sie diesen Abschnitt überspringen.

Wenn Sie eine der folgenden Aktionen ausführen, müssen Sie dem Dienstkonto die IAM-Rolle Cloud Profiler-Agent (roles/cloudprofiler.agent) zuweisen:

  1. Sie verwenden das Standarddienstkonto, haben aber die Rollenzuweisungen geändert.
  2. Sie verwenden ein vom Nutzer erstelltes Dienstkonto.
  3. Wenn Sie Workload Identity verwenden, weisen Sie dem Kubernetes-Dienstkonto die Rolle „Cloud Profiler-Agent“ zu.

Sie können einem Dienstkonto eine IAM-Rolle über dieGoogle Cloud -Console oder die Google Cloud CLI zuweisen. Sie können beispielsweise den Befehl gcloud projects add-iam-policy-binding verwenden:

gcloud projects add-iam-policy-binding GCP_PROJECT_ID \
    --member serviceAccount:MY_SVC_ACCT_ID@GCP_PROJECT_ID.iam.gserviceaccount.com \
    --role roles/cloudprofiler.agent

Ersetzen Sie vor dem Ausführen des vorherigen Befehls Folgendes:

  • GCP_PROJECT_ID: Ihre Projekt-ID.
  • MY_SVC_ACCT_ID: Name Ihres Dienstkontos.

Weitere Informationen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Cloud Profiler verwenden

Sie verwenden Profiler, indem Sie das Paket @google-cloud/profiler installieren, Ihrer Anwendung eine require-Anweisung hinzufügen und die Anwendung dann wie gewohnt bereitstellen. Dies gilt für alle unterstützten Umgebungen.

Vor dem Installieren von @google-cloud/profiler

Das Paket @google-cloud/profiler hängt von einer nativen Komponente ab. Das Modul node-gyp wird verwendet, um diese native Komponente zu erstellen. Informationen zu den Abhängigkeiten, die zum Erstellen von Binärdateien mit node-gyp erforderlich sind, finden Sie in der Installationsdokumentation zu node-gyp.

Installation

So installieren Sie die neueste Version von Cloud Profiler:

    npm install @google-cloud/profiler

Wenn Sie auch den Trace-Agent verwenden möchten, müssen Sie beim Ändern der Anwendung das Profiler-Paket nach dem Trace-Agent-Paket (@google-cloud/trace-agent) importieren.

Compute Engine

Führen Sie für Compute Engine folgende Schritte aus:

  1. Installieren Sie die neueste Version von Cloud Profiler:

    npm install @google-cloud/profiler
    
  2. Ändern Sie den require-Code Ihre Anwendung so, dass ein serviceContext-Objekt erstellt wird, in dem service der Name des Dienstes zugewiesen wird, für den ein Profil zu erstellen ist. Optional können Sie für version die Version des Dienstes angeben, für den Sie ein Profil erstellen. Weitere Informationen zu diesen Konfigurationsoptionen finden Sie unter Argumente für Dienstnamen und -versionen:

    require('@google-cloud/profiler').start({
      serviceContext: {
        service: 'your-service',
        version: '1.0.0',
      },
    });

GKE

Führen Sie für GKE die folgenden Schritte aus: