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
glibcoder mitmuslimplementiert 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
Wenn Sie die Google Cloud-Befehlszeile noch nicht auf Ihrer Workstation installiert haben, lesen Sie die Dokumentation zur Google Cloud-Befehlszeile.
Führen Sie dazu diesen Befehl aus:
gcloud services enable cloudprofiler.googleapis.com
Weitere Informationen finden Sie unter gcloud services.
Google Cloud Console
-
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 Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen 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:
- Sie verwenden das Standarddienstkonto, haben aber die Rollenzuweisungen geändert.
- Sie verwenden ein vom Nutzer erstelltes Dienstkonto.
- 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:
Installieren Sie die neueste Version von Cloud Profiler:
npm install @google-cloud/profiler
Ändern Sie den
require-Code Ihre Anwendung so, dass einserviceContext-Objekt erstellt wird, in demserviceder Name des Dienstes zugewiesen wird, für den ein Profil zu erstellen ist. Optional können Sie fürversiondie 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:
GKE
Führen Sie für GKE die folgenden Schritte aus: