ServicePulse bietet Echtzeit-Produktionsüberwachung für verteilte Anwendungen. Es überwacht den Zustand der Endpunkte eines Systems, erkennt Verarbeitungsfehler, sendet fehlgeschlagene Nachrichten zur erneuten Verarbeitung und stellt sicher, dass die Anforderungen der spezifischen Umgebung erfüllt werden – alles in einem konsolidierten Dashboard.
ServicePulse ist Teil der Particular Service Platform, die NServiceBus und Tools zum Erstellen, Überwachen und Debuggen verteilter Systeme umfasst.
Weitere Informationen finden Sie in der ServicePulse-Dokumentation.
ServicePulse präsentiert hauptsächlich Daten, die von ServiceControl- und ServiceControl Monitoring-Instanzen bereitgestellt werden.
Die URLs für beide Dienste können in src/Frontend/public/js/app.constants.js
festgelegt werden.
ServicePulse verwendet npm und Bower als Paketmanager. Damit die Lösung funktioniert, müssen Abhängigkeiten heruntergeladen werden, bevor die ServicePulse-Website gestartet wird.
Installieren Sie die folgenden Abhängigkeiten, falls Sie sie noch nicht installiert haben.
ci.yml
und release.yml
mit der Version Ihrer lokalen Umgebung übereinstimmt. Suchen Sie nach dem name: Set up Node.js
Obwohl Visual Studio oder Rider geeignete IDEs für die Front-End-Entwicklung zu sein scheinen, neigen sie dazu, mit den neuesten Front-End-Frameworks, Linting und Formatierung unzuverlässig zu sein. Aus diesem Grund haben wir zusätzliche Empfehlungen, die Ihnen dabei helfen, bei der Front-End-Entwicklung noch erfolgreicher zu sein.
Navigieren Sie zu ServicePulsesrcFrontend
und:
npm install
um alle npm-Abhängigkeiten zu installierennpm run dev
(Dadurch wird ein Entwicklungsserver auf Port 5173 gehostet und die Suche nach Änderungen im /Frontend
-Verzeichnis beginnt.) Wenn npm run dev
mit einem Fehler im Zusammenhang mit nicht korrekt konfigurierten Git-Submodulen fehlschlägt, führen Sie den Befehl npm install
erneut aus, um sicherzustellen, dass alle erforderlichen Abhängigkeiten verfügbar sind, und führen Sie dann npm run dev
aus.
Nachdem Sie die oben genannten Schritte ausgeführt haben, navigieren Sie zu der URL, die bei der Ausführung der Vue.js-Anwendung angezeigt wird, um die ServicePulse-Anwendung anzuzeigen.
Die automatisierten Frontend-Tests nutzen Vitest als Test-Framework und Testbibliothek für Testdienstprogramme. Vitest bietet standardmäßig zwei Modi: watch mode
in der Entwicklungsumgebung und run mode
in der CI-Umgebung. Watch mode
führt relevante Tests beim Speichern der Datei sofort erneut aus und liefert so während der Entwicklung sofortiges Feedback.
Stellen Sie vor dem Ausführen des Tests sicher, dass Sie den Entwicklungsserver eingerichtet haben. Navigieren Sie zu ServicePulsesrcFrontend
und führen Sie npm install
aus, um alle npm-Abhängigkeiten zu installieren.
Navigieren Sie zu ServicePulsesrcFrontend
und führen Sie Folgendes aus:
npm run test:component
Dieser Befehl führt alle Komponententestdateien *.spcs.ts
im Verzeichnis ServicePulsesrcFrontendsrc
und seinen Unterverzeichnissen aus. Wenn watch mode
aktiviert ist, ist eine effiziente Testentwicklung möglich, da beim Speichern der Datei nur die relevanten Tests erneut ausgeführt werden.
Navigieren Sie zu ServicePulsesrcFrontend
und führen Sie Folgendes aus:
npm run test:application
Ähnlich wie bei Komponententests führt dieser Befehl alle Anwendungstestdateien *.spcs.ts
im Verzeichnis ServicePulsesrcFrontendtest
und seinen Unterverzeichnissen aus.
Navigieren Sie zu ServicePulsesrcFrontend
und führen Sie Folgendes aus:
npm run test:coverage
Dieser Befehl generiert einen Bericht, der den Prozentsatz der von Tests abgedeckten Anweisungen, Zweige, Funktionen und Zeilen angibt. Darüber hinaus werden nicht abgedeckte Zeilennummern identifiziert.
dev
– führt vite
aus, das den Entwicklungsserver startet und Hot-Reload über Quelldateien durchführtbuild
– führt ein Build-Skript aus, das Dateien in den Ordner ..app
ausgibtlint
– prüft mit eslint alle vue-, ts- und js-Dateientype-check
– führt TypeScript im No-Emit-Modus aus test:application
– führt alle Anwendungstests aus, die sich im Ordner Frontend/test
befinden.test:component
– führt Tests aller Komponententests aus, die sich im Ordner Frontend/src
und allen Unterverzeichnissen befinden.test:coverage
– führt den Testabdeckungsbericht für die in vitest.config.ts
definierten Dateien aus Es ist möglich, ServicePulse direkt über ServicePulse.Host.exe
auszuführen.
ServicePulse.Host.exe ist auf einen selbst gehosteten Webserver angewiesen. Bevor das Projekt ausgeführt werden kann, muss eine URL-ACL-Reservierung eingerichtet werden. Führen Sie entweder Visual Studio mit Administratorrechten aus oder führen Sie den folgenden Befehl aus, um die erforderliche URL-ACL-Reservierung hinzuzufügen:
add urlacl url=URL
Dabei ist URL
die konfigurierte URL auf dem lokalen Computer.
Führen Sie das Build-Skript über die Befehlszeile aus:
PowerShell -File .build.ps1
Notiz
Möglicherweise muss die PowerShell-Ausführungsrichtlinie mithilfe von Set-ExecutionPolicy Unrestricted -scope UserPolicy
geändert werden
ServicePulse.Host.exe
aus Erstellen Sie das ServicePulse.Host
-Projekt und führen Sie es in der IDE aus.
ServicePulse wird auf den folgenden Desktop-Browserversionen unterstützt:
Eine Docker-Datei für ServicePulse befindet sich im Ordner src/ServicePulse
. Die Container-Images werden alle im Rahmen des Release-Workflows erstellt und in der Github Container Registry bereitgestellt. Bei Filialen mit PRs wird das Bild mit der PR-Nummer versehen, z. B. pr-1234
.