Suche/Eine Web-App entwickeln, die Container-Protokolle und Messwerte live zeigt

Eine Web-App entwickeln, die Container-Protokolle und Messwerte live zeigt

Für Änderungen an einer App aus Serverteil und Oberfläche, die Container-Protokolle und Messwerte live überträgt. Die KI hält Schichten, Stream-Grenzen, Anmelde- und Bereitstellungsarten ein, baut Funktionen durch alle Schichten, testet und schreibt kurze Reviews.

Diese KI-Regeln verwenden
## Kurze Reviews schreiben, die nur Fehler und Blocker nennen Verwende für die Prüfung von Änderungsanträgen und für Antworten als Projektbetreuer einen äußerst knappen Stil. Melde nur Fehler, Sicherheitsprobleme und Hindernisse. Verwende kurze Aufzählungen, füge bei Bedarf `file:line`-Verweise hinzu, lasse Abschnitte wie Stärken oder Zusammenfassung weg und beschränke die gesamte Antwort auf ungefähr 10 bis 15 Zeilen. Schreibe wie ein menschlicher Projektbetreuer. Verwende weder Geviertstriche noch Halbgeviertstriche, keine rhetorischen Gegenüberstellungen nach dem Muster „nicht X, sondern Y“, kein einleitendes Lob ohne Inhalt, keine abschließenden Wiederholungen, keine fett gesetzten Bezeichnungen mitten im Absatz und keine leeren Abschwächungen. Lockere Kleinschreibung und Kurzformen sind zulässig. Nenne die Entscheidung, gib einen Grund an und höre auf. ## Die meldende Person den Fix im Build des Änderungsantrags testen lassen Wenn ein gemeldetes Problem in einem offenen Änderungsantrag behoben wurde, bitte den Melder, das von der kontinuierlichen Integration für diesen Antrag erzeugte Ergebnis zu testen. Gib den genauen Verweis auf das vorab erstellte Abbild oder Paket nach einem allgemeinen Muster wie `{registry}/{image}:change-{number}` an. So kann der Melder die Korrektur vor der nächsten Veröffentlichung prüfen. Vergewissere dich vor dieser Empfehlung, dass die Automatisierung tatsächlich für jeden Änderungsantrag ein gekennzeichnetes Erzeugnis veröffentlicht. ## Vor Änderungen die Schichten von Serverteil und Bedienoberfläche erfassen Betrachte das System als einen kompilierten HTTP-Serverteil mit einer typisierten Einzelseiten-Bedienoberfläche. Der Serverteil übernimmt Weiterleitung, Authentifizierung, Zugriffe auf Container oder Arbeitslasten, Echtzeitströme für Protokolle und Messwerte, Aktionen, Benachrichtigungen und die Kommunikation mit entfernten Agenten. Die Bedienoberfläche übernimmt dateibasierte Ansichten, wiederverwendbare Bausteine, reaktive Zustandsspeicher, zusammensetzbare Datenstromfunktionen, Weiterleitung, Lokalisierung und Benutzereinstellungen. Unterstütze jede dokumentierte Bereitstellungsart ausdrücklich, darunter den eigenständigen Dienst oder Mehrrechnerdienst, die Orchestrierung im Verbund und den Betrieb entfernter Agenten. Setze nicht voraus, dass eine Änderung, die mit einer Zugriffsumsetzung funktioniert, auch mit allen Serverumsetzungen funktioniert. Halte die hauptsächliche Abhängigkeitsrichtung klar: `HTTP handlers -> host service -> per-host service -> domain client -> runtime implementation`. ## Mit den dokumentierten Zielen bauen und testen Richte das Projekt ein, indem du Abhängigkeiten installierst und das Erzeugungsziel für Zertifikate, Schemata oder Protokollcode ausführst. Verwende für die abgestimmte Aktualisierung von Serverteil und Bedienoberfläche im laufenden Betrieb die vollständige Entwicklungsaufgabe, oder führe zur Eingrenzung eines Problems die beiden Überwachungsprozesse getrennt aus. Erzeuge die Ressourcen der Bedienoberfläche, bevor du sie in die vollständige Erstellung des Serverteils einbettest. Halte getrennte Ziele für das Verteilungspaket der Bedienoberfläche, die gesamte Anwendung und das bereitstellbare Abbild vor. Prüfe mit dem Vorschauziel lokal eine produktionsnahe Erstellung. Führe Serverteilprüfungen, Einzelprüfungen der Bedienoberfläche, Typprüfungen und Browser-Integrationsprüfungen über die dokumentierten Ziele aus. Verwende `TZ=UTC` für zeitstempelabhängige Prüfungen der Bedienoberfläche und den Überwachungsmodus nur während wiederholter lokaler Arbeit. ## Schichten des Serverteils hinter einer gemeinsamen Zugriffsschnittstelle trennen Halte HTTP-Weiterleitung und Datenstromverarbeitung oberhalb der Rechner- und Zugriffsdienste. Lege laufzeitabhängige Vorgänge hinter eine gemeinsame Domänenzugriffsschnittstelle und setze diese Schnittstelle anschließend für jede unterstützte Container-, Verbund- oder entfernte Agentenumgebung um. Trenne Authentifizierungsanbieter, Domänenmodelle, Ereignisanalyse, Benachrichtigungsbewertung und Benachrichtigungszustellung von den Transportverarbeitern. Halte Befehlszeilenanalyse und Mehrrechner-Orchestrierung in Unterstützungsschichten, statt sie in den Verarbeitern zu wiederholen. Aktualisiere für einen neuen Arbeitslastvorgang die Domänenzugriffsschnittstelle, jede zutreffende Laufzeitumsetzung, die Diensthülle je Rechner und den HTTP-Verarbeiter mit seiner Route. Umgehe keine Schicht, nur damit eine einzige Bereitstellungsart besteht. ## Zustand und Protokolleintragstypen der Bedienoberfläche in ihren Rollen halten Belasse Routenansichten, automatisch eingebundene Bausteine, reaktive Zustandsspeicher, zusammensetzbare Datenstromfunktionen und Anwendungserweiterungen in ihren festgelegten Rollen. Behandle Einstellungen, die durch vom Serverteil dargestelltes HTML eingebracht werden, als unveränderlich. Lege dauerhafte Benutzereinstellungen hinter eine reaktive Speicherabstraktion. Stelle einzeiligen Text, strukturierte Objekte und gruppierte mehrzeilige Nachrichten als verschiedene Protokolleintragstypen dar. Verwende den gemeinsamen Nachrichtenalias, statt einen Vereinigungstyp zu wiederholen, und erzeuge Einträge über eine Erzeugungsfunktion, die aus jedem Ereignis den richtigen Typ auswählt. Bausteine, die über Routen- oder Arbeitslastwechsel hinweg wiederverwendet werden, müssen jeden abgeleiteten Zustand auffrischen. Wenn ein Diagramm Aktualisierungen optimiert, indem es nur seinen letzten Balken verändert, stelle eine vollständige Neuberechnungsmethode bereit und rufe sie auf, wenn die gesamte Datenreihe ersetzt wird. ## Feste Grenzen für Protokoll- und Messwertströme einhalten Verwende serverseitig gesendete Ereignisse für Protokoll-, Lebenszyklusereignis- und Messwertströme und WebSocket-Verbindungen für interaktive Anbindungs- oder Ausführungssitzungen. Sende zustandsändernde Arbeitslastaktionen über ausdrückliche HTTP-Anfragen und nicht über schreibgeschützte Datenströme. Puffere eingehende Ereignisse der Bedienoberfläche 250 Millisekunden lang, leere den Puffer jedoch spätestens nach 1.000 Millisekunden. Fasse reaktive Aktualisierungen zusammen. Wenn die angezeigten Nachrichten 400 Einträge überschreiten, ersetze oder kennzeichne die ältesten Einträge gemäß der Anzeigeregel. Verfolge den Messwertverlauf in einem gleitenden Fenster mit höchstens 300 Einträgen. Glätte Messwerte mit einem exponentiellen gleitenden Mittelwert und Alpha 0,2, normiere CPU-Werte anhand der erlaubten oder vorhandenen Prozessorkernzahl und halte prozentuale und absolute Speicherwerte getrennt. Verringere die Abtastrate von Diagrammen passend zur verfügbaren Anzeigebreite. Das vollständige Ersetzen einer Datenreihe, etwa beim Wechsel der Arbeitslast, muss eine vollständige Neuberechnung auslösen, auch wenn gewöhnliche Aktualisierungen nur den letzten Balken verändern. ## Jede Anmelde- und Bereitstellungsart getrennt behandeln Unterstütze fehlende Authentifizierung, lokale Dateiauthentifizierung und Authentifizierung über einen vorgeschalteten Proxy als getrennte Arten. Verwende für lokale Authentifizierung befristete signierte Berechtigungsnachweise, prüfe die eingerichtete Benutzerdatei und halte rollenbasierte Berechtigungen vom Identitätsanbieter unabhängig. Fasse im eigenständigen Betrieb lokale und entfernte Zugriffskomponenten über eine wiederholungsfähige Verwaltung zusammen. Ermittle im Verbundbetrieb Knoten über die Orchestrierungs-API und verbinde dich mit einem Agenten auf jedem Knoten. Setze im plattformeigenen Verbundbetrieb dieselbe Domänenzugriffsschnittstelle über die API dieser Plattform um. Verlange beim Betrieb entfernter Agenten einen zertifikatsauthentifizierten Transport. Belasse die Auswahl der Betriebsart am Einstiegspunkt der Anwendung. Eine Funktion ist unvollständig, bis ihr Verhalten für jede zutreffende Betriebsart festgelegt oder für nicht unterstützte Arten ausdrücklich abgelehnt wurde. ## Neue Funktionen durch alle betroffenen Schichten führen Registriere für eine neue HTTP-Route die Route, setze ihren Verarbeiter um, löse das Ziel über den Rechnerdienst auf und gib strukturierte Daten zurück oder richte den vorgesehenen Datenstrom ein. Füge für eine neue Protokollansicht die Routenansicht hinzu, erstelle eine zusammensetzbare Datenstromfunktion, baue die gefilterte API-URL auf, verwalte die Pufferung, gib reaktive Nachrichten und Steuerelemente zurück und verwende die vorhandene Anzeige wieder. Erweitere für einen neuen Messwert den Statistiktyp des Serverteils, lies und berechne den Wert, aktualisiere das Protokollschema, erzeuge den Protokollcode neu und stelle das Feld im Modell der Bedienoberfläche bereit, wenn die Oberfläche darauf zugreifen muss. Vorhandene Ereignisströme sollen die Aktualisierung ohne einen parallelen Transport übertragen. Setze für einen neuen Benachrichtigungskanal die Verteilerschnittstelle um, registriere ihn in der Verteilererzeugung, füge sein Einrichtungsformular hinzu und bewahre das Verhalten dauerhafter Regeln und Alarmzustände. ## Entfernte Werkzeugaufrufe begrenzen und nur vorübergehende Fehler wiederholen Stelle keine Verbindung her, bevor ein entfernter Verteiler eingerichtet ist. Verwende einen bidirektionalen Datenstrom zur Werkzeugerkennung und für Aufrufe, verteile Aufrufe über ein einziges Verzeichnis und begrenze gleichzeitige Ausführungen mit einem gewichteten Semaphor auf fünf. Verbinde dich nach vorübergehenden Fehlern erneut und verwende dabei exponentiell wachsende Wartezeiten von 1 bis 30 Sekunden mit zufälliger Streuung. Beende Wiederholungen dauerhaft bei Zugriffsverweigerungsantworten, die auf ungültige Zugangsdaten oder einen nicht verfügbaren Tarif hinweisen. Speichere unveränderliche Werkzeugdefinitionen einmal zwischen, damit ausgeschalteter Fernbetrieb nur vernachlässigbaren Mehraufwand verursacht. Lege beim Hinzufügen eines Werkzeugs Name, Beschreibung und Parameterschema fest, ergänze seinen Antworttyp im Vereinigungstyp des Protokollergebnisses, erzeuge den Protokollcode neu, registriere den Verteilungsfall, setze das Werkzeug hinter der Rechnerdienstschnittstelle um und füge gezielte Prüfungen hinzu. ## Protokollereignisse nach Art sortieren und live senden, ohne sie zu sammeln Analysiere gebündelte Laufzeitdatenströme, indem du ihre Kopfdaten und Nutzlasten liest. Ordne anschließend jedes Rohereignis strukturierten Daten, einem gruppierten mehrzeiligen Ereignis oder einem einzeiligen Ereignis zu. Ermittle den Schweregrad mit ausdrücklichen Mustern, serialisiere das Domänenereignis und stelle es über den Echtzeitdatenstrom zu. Übersetze für entfernte Agenten Aufrufe der Domänenzugriffsschnittstelle in Protokollanfragen, übergib sie an die lokale Laufzeitzugriffskomponente und wandle Antworten zurück in Domänenmodelle. Bewahre das Datenstromverhalten für Protokolle, Messwerte und Lebenszyklusereignisse, statt unbegrenzt Ergebnisse im Arbeitsspeicher zu sammeln. Die Filterung nach Stufe, Abfrage oder regulärem Ausdruck muss eine klare Ergebnisgrenze beibehalten. Arbeitslastaktionen müssen hinter einer ausdrücklichen Freigabesperre bleiben. ## Wiederholbar testen und bei der Fehlersuche die Live-Verbindungen prüfen Führe Serverteilprüfungen mit der Datenrennen-Erkennung aus. Verwende die Bibliothek für Testzusicherungen des Projekts einheitlich, führe Prüfungen der Bedienoberfläche in UTC aus und starte Browser-Integrationsprüfungen mit ihrer benötigten Dienstumgebung. Erzeuge benötigte Zertifikate und Protokollerzeugnisse neu, bevor du Erstellungsfehler als Codefehler einstufst. Aktiviere bei der Entwicklung mit nicht eingebetteten Ressourcen die Bereitstellung aus dem Dateisystem und die abgestimmte Aktualisierung im laufenden Betrieb. Änderungen am Serverteil sollen dessen Überwachungsprozess neu starten, während Änderungen an der Bedienoberfläche den Modulaustausch ohne vollständigen Neustart verwenden sollen. Aktiviere zur Fehlersuche die ausführliche Protokollierung des Serverteils, prüfe den Zustand der Bedienoberfläche mit den Browser-Entwicklungswerkzeugen und untersuche in der Netzwerkansicht die Verbindungen für serverseitig gesendete Ereignisse und WebSocket. Prüfe die abschließende Differenz, damit erzeugte Dateien und automatisierte Änderungen keine sachfremden Änderungen verbergen.