Zend_Service_WindowsAzure_Diagnostics_Manager
Der Blob Speicher speicher ein Set von Binären Daten. Der Blob Speicher bietet die folgenden
drei Windows Azure Diagnostiken und erlaubt es diagnostische Daten von einem Service zu
sammeln welches in Windows Azure läuft. Dies kann für Aufgaben verwendet werden, wie
Debugging und Fehlersuche, Geschwindigkeitsmessung, Monotoring der Ressourcen Verwendung,
Verkehrsanalysen, Kapazitätsplanung und Bekanntgabe. Sobald die diagnostischen Daten
gesammelt wurden können Sie zu einem Windows Azure Speicheraccount geschickt werden um
persistent zu bleiben. Die Übermittlung kann entweder zeitgesteuert oder auf Wunsch
passieren.
Man kann die Windows Azure Diagnose vom Code aus konfigurieren welcher in einer Rolle läuft.
Man kann Sie auch von der Ferne, über eine Anwendung welche außerhalb von Windows Azure
läuft, konfigurieren. Durch das entfernte Managen der Windows Azure Diagnose kann man seinen
Service mit einer initialen Diagnose Konfiguration starten, und dann diese Konfiguration vom
Code aus verbessern welche außerhalb des Services läuft, ohne das der Service hochgerüstet
werden muss.
Mehr Informationen darüber welche Logs, Geschwindigkeits Messungen, Crash Dumps, ...
gemonitort werden können, können auf der entsprechenden
MSDN Webseite gefunden werden.
Beachte: Diagnosen werden auf einer pro-Rollen Basis konfiguriert. Dies bedeutet dass jede
Rolle separat konfiguriert werden sollte. Die Spezifikation der Diagnose Anleitungen für
eine Rollen Instanz impliziert nicht das diese Konfiguration auf anderen Rollen Instanzen
geladen wird.
Die Diagnose API für die Windows Azure SDK für PHP kann nur verwendet werden wenn der
DiagnosticMonitor während des Starts der Rolle gestartet wurde. Aktuell wird dies nur
Unterstützt wenn eine Anwendung mit dem Windows Azure Command-Line Tools für PHP Entwickler
gepackt wurde.
API Beispiele
Diese Überschrift zeigt einige Beispiele der Verwendung der
Zend_Service_WindowsAzure_Diagnostics_Manager Klasse. Andere
Features sind auch im Download Paket vorhanden, sowie eine detailierte API
Dokumentation dieser Features.
Prüfen ob eine Diagnose-Konfiguration für die aktuelle Rollen Instanz existiert
Durch Verwendung des folgenden Codes kann man prüfen ob eine Diagnose Konfiguration
für die aktuelle Rollen Instanz existiert.
Prüfen ob eine Diagnose Konfiguration für die aktuelle Rollen Instanz exisztiert
configurationForCurrentRoleInstanceExists();
echo 'Die Konfiguration ' . ($configurationExists ? 'existiert' : 'existiert nicht';
]]>
Laden der Diagnose Konfiguration für die aktuelle Rollen Instanz
Durch Verwendung des folgenden Codes kann man die Diagnose Konfiguration der
aktuellen Rollen Instanz laden.
Laden der Diagnose Konfiguration der aktuellen Rollen Instanz
getConfigurationForCurrentRoleInstance();
]]>
Speichern der Diagnose Konfiguration der aktuellen Rollen Instanz
Durch Verwendung des folgenden Codes kann man die Diagnose Konfiguration der
aktuellen Rollen Instanz speichern.
Speichern der Diagnose Konfiguration der aktuellen Rollen Instanz
setConfigurationForCurrentRoleInstance($configuration);
]]>
Einschreiben für einen Geschwindigkeits Zähler
Durch Verwendung des folgenden Codes kann man sich für einen Geschwindigkeits
Zähler einschreiben.
Einschreiben für einen Geschwindigkeits Zähler
getConfigurationForCurrentRoleInstance();
// Einschreiben für die \Processor(*)\% Prozessor Zeit
$configuration->DataSources->PerformanceCounters->addSubscription('\Processor(*)\% Processor Time', 1);
$manager->setConfigurationForCurrentRoleInstance($configuration);
]]>
Die Id der Rollen Instanz erhalten
Die Id der aktuellen Rollen Instanz ist in der Server Variable RdRoleId definiert.
Sie ist nur vorhanden wenn die Anwendung in der Entwickler Fabrik oder der Windows
Azure Fabrik läuft.
Erhalten der Id der aktuellen Rollen Instanz