Diese Seite beschreibt Calíope 1.5, die Version, die wir gerade bauen. Die 1.4 ist fertig und in der App-Review, und der Store liefert heute 1.3 auf dem Mac und 1.2 auf dem iPad. Das Changelog sagt, in welcher Version jede Funktion kam.
Fügt jedem Thema einen Button „In Calíope öffnen“ hinzu. Funktioniert nur mit installierter App.
Überwache aktive Verbindungen, QPS und Serverstatus vom Home-Bildschirm oder Schreibtisch aus, ohne die App zu öffnen.
Wo es zu finden ist: Widget › Allgemein
Das Calíope-Widget zeigt wichtige Kennzahlen des Servers —MySQL, MariaDB oder PostgreSQL— in Echtzeit direkt auf dem macOS-Schreibtisch oder dem Home-Bildschirm des iPad an, ohne dass du die App öffnen musst.
Angezeigte Kennzahlen:
- Aktive Verbindungen — Anzahl der offenen Verbindungen und das am Server konfigurierte Maximum.
- QPS oder TPS — der Durchsatz des Servers: Queries pro Sekunde bei MySQL und MariaDB, Transaktionen pro Sekunde bei PostgreSQL. Das sind zwei verschiedene Größen, deshalb sagt das Etikett, welche du gerade siehst.
- Uptime — Betriebszeit des Servers im Format Nd Nh Nm.
- Aktive Threads (in der mittleren und großen Widget-Variante) — Anzahl der laufenden Threads.
- Langsame Queries/s (mittel und groß) — Rate der langsamen Queries.
- Cache-Treffer (mittel und groß) — Prozentsatz der aus dem Cache des Servers bedienten Lesevorgänge.
- Status-Badge — grün (aktiv und frische Daten), rot (der Server hat beim letzten Abruf nicht mehr geantwortet) oder bernsteinfarben (die Daten können nicht mehr als aktuell gelten). Wenn es noch gar keine Daten gibt, gibt es kein Badge: das Widget bittet dich, einen Server zu wählen, und behauptet sonst nichts.
- Verbindungsleiste — visuelle Leiste mit semantischer Farbe: Cyan (niedrig), bernsteinfarben (>65%), rot (>85%).
Verfügbare Größen:
- Klein — aktive Verbindungen mit ihrem Balken, der Servername und das Status-Badge. Mehr nicht: das ist die Größe, in der die Zahl ganz hineinpassen muss.
- Mittel — ergänzt den Durchsatz, die aktiven Threads und die Cache-Trefferrate — oder stattdessen die Uptime, wenn die Engine keine Cache-Werte veröffentlicht.
- Groß — alles Vorherige plus Uptime und langsame Queries pro Sekunde.
- Extra groß — dasselbe, auf zwei echte Spalten verteilt. Auf dem iPad liegt es auf dem Home-Bildschirm; auf dem Mac nur auf dem Schreibtisch, denn die Mitteilungszentrale akzeptiert diese Größe nicht.
- Sperrbildschirm — rechteckig (iPad) — Servername, aktive/max. Verbindungen und QPS.
- Sperrbildschirm — kreisförmig (iPad) — Ring mit dem Auslastungsverhältnis der Verbindungen und der absoluten Zahl in der Mitte.
- Sperrbildschirm — inline (iPad) — eine einzelne Zeile mit der Anzahl der aktiven Verbindungen neben der Uhr.
So fügst du das Widget hinzu:
- macOS: Klick mit der rechten Maustaste auf den Schreibtisch und wähle Widgets bearbeiten. Suche nach Calíope und zieh die gewünschte Größe auf den Schreibtisch oder in die Mitteilungszentrale.
- iPad: Halte den Home-Bildschirm gedrückt, bis die Symbole wackeln, tippe oben links auf Bearbeiten und dann auf Widget hinzufügen, suche nach Calíope und wähle die Größe.
Aktualisierungsfrequenz:
Du wählst die Taktung, und alles Weitere folgt daraus. Bei geöffnetem Dashboard werden die Kennzahlen im Takt seines Aktualisierungsreglers geschrieben (1 bis 30 Sekunden). Bei geschlossenem Dashboard musst du Einstellungen › Widget › Hintergrundaktualisierung einschalten und dort das Intervall wählen: 30 Sekunden, 1, 5 oder 15 Minuten.
Wann das Badge bernsteinfarben wird:
Wenn die Daten länger als das Dreifache dieser Taktung nicht erneuert wurden, mit einer Untergrenze von 90 Sekunden. Bei einem Intervall von 5 Minuten bleibt das Widget 15 Minuten grün, bei 15 Minuten sind es 45. Die Obergrenze wird aus deiner Einstellung abgeleitet statt eine feste Zahl zu sein, denn ein Widget, das bernsteinfarben wird, während die Aktualisierung genau wie eingestellt läuft, warnt vor gar nichts.
Und wenn es nie Daten gab — weil du keinen Server gewählt hast —, sagt das Widget nicht Keine Daten: Es bittet dich, einen auszuwählen.
Ein zweites Widget, das die ganze Farm statt eines einzelnen Servers zeigt: wie viele überwacht werden, wie viele Aufmerksamkeit brauchen und welcher am schlechtesten dasteht.
Wo es zu finden ist: Widget › Widget, Galerie, Home-Bildschirm
Das Kennzahlen-Widget schaut auf einen Server. Dieses schaut auf alle und beantwortet eine andere Frage: Gibt es etwas, das ich mir ansehen sollte?
Wo es funktioniert
- iPhone und iPad. Unter macOS gibt es nur das Kennzahlen-Widget.
Verfügbare Größen:
- Klein — der schlechteste Zustand der Farm und wie viele Server überwacht werden.
- Mittel — die Liste, bis zu drei Server, die schlechtesten zuerst.
- Groß — dieselbe Liste, bis zu sechs. In beiden wird das, was nicht hineinpasst, mit „und N weitere“ gesagt, und bei Bedienungshilfen-Größen passen weniger Zeilen hinein.
Woher die Daten kommen
- Vom Health-Monitor in dieser App. Jede Abfrage schreibt das Ergebnis in den Container, den das Widget liest.
- Sie gehen nicht über das Netz und hängen nicht von iCloud ab: Was du auf dem Home-Bildschirm siehst, wurde auf diesem Gerät gemessen.
- Ist die iCloud-Veröffentlichung aus, funktioniert das Widget weiter. Dieser Schalter entscheidet, was das Gerät verlässt, nicht was dein eigener Bildschirm dir zeigt.
Wenn es nichts sagt
- Öffne den Health-Monitor einmal: Auf diesem Gerät wurde noch nichts gemessen.
- Es wird kein Server überwacht: Der Monitor lief und seine Liste ist leer.
Farbe ist nie das einzige Signal: Jeder Zustand hat seine Form, und was VoiceOver vorliest, nennt die Anzahl, den schlechtesten und wie viele Aufmerksamkeit brauchen.
Ein Tippen oder Klick auf das Widget öffnet Calíope und verbindet automatisch mit dem angehefteten Server.
Wo es zu finden ist: Widget › Deep Link
Wenn du auf das Calíope-Widget tippst oder klickst, öffnet sich die App und verbindet direkt mit dem Server, den dieses Widget ausgewählt hat, und bringt dich zum Dashboard des entsprechenden Workspace.
So funktioniert es:
- Das Widget enthält einen Deep Link der Form caliope://server/<id>, der auf den in der Konfiguration dieses Widgets gewählten Server verweist — nicht auf den, der gerade angezeigt wird. Der Unterschied zählt, wenn es noch keine Kennzahlen gibt: das Widget sagt „Server wählen“ und öffnet trotzdem seinen eigenen.
- War die App nicht geöffnet, wird sie zuerst gestartet und dann die Session geöffnet.
- War die App bereits geöffnet und existiert eine aktive Session mit diesem Server, wird sie einfach in den Vordergrund geholt.
Welchen Server es öffnet:
- Den, den du beim Hinzufügen des Widgets gewählt hast, oder den, den du später eingestellt hast: Widget gedrückt halten (iPad) oder rechtsklicken (Mac) → Widget bearbeiten → Server.
- Hat dieses Widget keinen gewählt, öffnet es den der angezeigten Daten, also das zuletzt aktive Dashboard.
- Das angeheftete Profil unter Einstellungen › Widget ist etwas anderes: das ist der Server, der im Hintergrund aktualisiert wird, nicht der, den der Link öffnet.
Ist kein Server ausgewählt, bittet dich das Widget, einen zu wählen; beim Tippen öffnet sich Calíope auf dem Bildschirm des Verbindungsmanagers.
Jedes Widget kann einen anderen Server überwachen — konfiguriere es beim Hinzufügen oder später durch Bearbeiten.
Wo es zu finden ist: Widget › Konfiguration
Das Calíope-Widget ist konfigurierbar: Beim Hinzufügen auf den Schreibtisch oder Home-Bildschirm fragt das System, welchen Server es anzeigen soll. So kannst du mehrere Widgets gleichzeitig haben, von denen jedes die Kennzahlen eines anderen Servers anzeigt (Produktion, Staging, Replik usw.).
Beim Hinzufügen des Widgets konfigurieren
- macOS: Klick mit der rechten Maustaste auf den Schreibtisch und wähle Widgets bearbeiten, dann zieh die gewünschte Variante auf den Schreibtisch. Beim Loslassen öffnet sich kein Picker: den Server wählst du danach, mit Rechtsklick auf das platzierte Widget → „Calíope“ bearbeiten → Server. Bestätige mit Fertig.
- iPad: Halte den Home-Bildschirm gedrückt, tippe auf Bearbeiten → Widget hinzufügen, suche Calíope und wähle die Größe. Den Server wählst du danach: Widget gedrückt halten → Widget bearbeiten → Server.
Den Server eines bestehenden Widgets ändern
- macOS: Klick mit der rechten Maustaste auf das Widget → „Calíope“ bearbeiten → ändere den Parameter Server.
- iPad: Halte das Widget gedrückt → Widget bearbeiten → ändere den Parameter Server.
Was mit der App Group synchronisiert wird
- Calíope veröffentlicht einen minimalen Katalog (id, name, host) deiner Profile beim Start der App und jedes Mal, wenn du Änderungen im Verbindungsmanager speicherst. Das Widget liest diesen Katalog, um den Picker zu füllen; hinein kommen nur Profile, deren Engine Kennzahlen veröffentlichen kann —MongoDB-Profile werden nicht angeboten, weil das Widget damit für immer leer bliebe— und es sieht keine Passwörter, SSH-Schlüssel oder Zertifikate.
- Die Kennzahlen werden pro Profil gespeichert (caliope_widget_metrics_<id>.json), sodass jedes Widget seine eigenen liest, unabhängig davon, welche Session in der App aktiv ist.
Widget ohne konfigurierten Server
- Wenn du keinen Server wählst, zeigt das Widget die Kennzahlen des zuletzt in der App aktiven Servers an. Wählst du aber einen und gibt es noch keine Kennzahlen dafür, zeigt es nicht die eines anderen: es sagt, dass keine Daten da sind. Ein auf einen Server festgelegtes Widget kann niemals Namen und Zahlen eines anderen anzeigen.
Stichwörter: Widget, Konfiguration, Server wählen, AppIntent, multi-server, mehrere Widgets, Picker, Widget bearbeiten, Profil
Wie Calíope die Kennzahlen mit der Widget-Erweiterung auf allen dreien teilt.
Wo es zu finden ist: Calíope › Einstellungen › Widget
Das Calíope-Widget lebt in einer separaten Erweiterung, die den Speicher der Haupt-App nicht lesen kann. Damit Echtzeitdaten erscheinen, teilen sich App und Erweiterung einen gemeinsamen Container über eine App Group.
Kennung
- iPad: group.org.caliope.widget.
- macOS: dieselbe, mit der Team-Kennung davor (ASH9Q9BLUY.group.org.caliope.widget) — dort verlangt das System diese Form.
Derselbe Container versorgt die beiden iOS-Widgets: das für Kennzahlen und das für den Zustand der Farm. Auf iPhone und iPad ist es dasselbe Binary, also dieselbe App Group.
Was geteilt wird
- Die aktuellsten Kennzahlen jedes Servers (aktive Verbindungen, Durchsatz —QPS oder TPS je nach Engine—, Uptime, Threads, langsame Queries/s, Cache-Trefferrate).
- Der Timestamp der letzten Aktualisierung und die Taktung, mit der geschrieben wurde. Das Widget nutzt beides, um zu entscheiden, wann das Badge bernsteinfarben wird: die Obergrenze ist das Dreifache der Taktung, mit einer Untergrenze von 90 Sekunden.
- Die Kennung des angehefteten Profils und die URL caliope://server/<id> für den Deep Link.
Wie aktualisiert wird
- Solange die Haupt-App geöffnet und verbunden ist, schreibt WidgetDataStore bei jedem Polling-Tick in die App Group.
- Nach dem Schreiben ruft Calíope WidgetCenter.shared.reloadAllTimelines() auf, damit das Widget bei der nächsten vom System gewährten Gelegenheit aktualisiert.
- Wird die App geschlossen, zeigt das Widget weiterhin die letzten Daten an, bis das System eine neue Timeline anfordert. Nach Überschreiten der aus der Taktung abgeleiteten Obergrenze wechselt das Badge auf Bernstein und die Beschriftung auf Keine Daten.
App neu installieren oder Apple ID wechseln
- Die App Group ist mit der Team ID des Entwicklers verknüpft. Beim Installieren von Calíope aus dem Mac App Store oder App Store erstellt macOS/iOS den Container automatisch. Du musst nichts konfigurieren.
- Wenn du das iPad an eine andere Apple ID übergibst, wird der Container zusammen mit der App gelöscht, und das Widget bleibt leer, bis du Calíope mindestens einmal erneut startest.
Die Sprache reist nicht hierüber. Sie wird pro App in den Systemeinstellungen gewählt, und diese Wahl erreicht auch die Erweiterung: das Widget liest seine eigene und spricht dieselbe wie die App, ohne dass sie ihm jemand übergeben müsste.
Schritt-für-Schritt-Diagnose, wenn das Badge bernsteinfarben ist und keine Kennzahlen erscheinen.
Wo es zu finden ist: Widget › Fehlerbehebung
Wenn das Calíope-Widget das bernsteinfarbene Badge mit der Beschriftung Keine Daten zeigt, sind die Daten zu lange nicht erneuert worden. „Zu lange“ ist keine feste Zahl: Es ist das Dreifache der Taktung, mit der sie geschrieben wurden, mit einer Untergrenze von 90 Sekunden.
Schau zuerst, was das Widget tatsächlich sagt:
- Server auswählen — es gab nie Daten. Das ist Punkt 1.
- Keine Daten — es gab welche und sie sind abgelaufen. Das ist alles Übrige.
- Offline, in Rot — die Hintergrundaktualisierung hat abgefragt und der Server hat nicht geantwortet. Die gezeigten Zahlen sind die letzten wahren, deshalb sind sie abgedunkelt.
1. Ist ein Server ausgewählt?
- Jedes Widget wählt seinen eigenen: lange drücken (iPad) oder Rechtsklick (Mac) auf das Widget → Widget bearbeiten → Server.
- Wählst du keinen, fällt das Widget auf den zuletzt in der App aktiven Server zurück; gibt es auch den nicht, hat es nichts anzuzeigen.
2. Wer schreibt die Kennzahlen?
Es gibt nur zwei Schreiber, und läuft keiner von beiden, steht das Widget per Definition still:
- Das Dashboard, geöffnet auf diesem Server. Beim Schließen des Tabs bleiben die Zahlen: das Widget zeigt weiter die letzte Messung und markiert sie zur gegebenen Zeit als alt. Früher wurden sie beim Schließen gelöscht, was alle Widgets genau beim Beenden der App leer zurückließ.
- Die Hintergrundaktualisierung unter Einstellungen › Widget. Sie muss eingeschaltet und dort das angeheftete Profil gewählt sein; das hält das Widget am Leben, während die App im Hintergrund ist.
3. Und wenn das Intervall lang ist?
Bei 15 Minuten bleibt das Widget 45 Minuten grün und wird dann bernsteinfarben, obwohl alles funktioniert: Es ist schlicht die Zeit zwischen zwei Schreibvorgängen vergangen. Soll das Bernstein früher kommen, senke das Intervall unter Einstellungen › Widget.
4. Hast du das Gerät neu gestartet?
Nach einem Neustart hat das Widget keinen Status, bis die Haupt-App mindestens einmal wieder läuft.
5. Blockiert es das System?
- Auf dem iPad muss Einstellungen › Allgemein › Hintergrundaktualisierung für Calíope aktiviert sein, sonst kommt die geplante Aktualisierung nie zum Zug.
- Auf dem Mac gibt es kein Gegenstück, aber auch niemanden, der bei geschlossener Calíope schreibt: Das Widget behält das zuletzt Empfangene und markiert es zur gegebenen Zeit als alt.
6. Wenn nichts davon passt
Entferne das Widget vom Schreibtisch oder Home-Bildschirm und füge es erneut hinzu: Das zwingt das System, die Timeline von Grund auf neu zu erstellen.
Stichwörter: keine daten, no data, Widget, bernsteinfarbenes Badge, troubleshoot, beheben, Profil anheften, Hintergrundaktualisierung, Cache zurücksetzen, Diagnose