|
|
@@ -0,0 +1,192 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!-- EN-Revision: 22773 -->
|
|
|
+<!-- Reviewed: no -->
|
|
|
+<sect1 id="zend.service.windowsazure.diagnostics.manager">
|
|
|
+ <title>Zend_Service_WindowsAzure_Diagnostics_Manager</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ 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.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ 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.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Mehr Informationen darüber welche Logs, Geschwindigkeits Messungen, Crash Dumps, ...
|
|
|
+ gemonitort werden können, können auf der <ulink
|
|
|
+ url="http://msdn.microsoft.com/en-us/library/ee758705(v=MSDN.10).aspx">entsprechenden
|
|
|
+ MSDN Webseite</ulink> gefunden werden.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ 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.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Die Diagnose API für die Windows Azure SDK für PHP kann nur verwendet werden wenn der
|
|
|
+ DiagnosticMonitor wärend 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.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <sect2 id="zend.service.windowsazure.diagnostics.manager.api">
|
|
|
+ <title>API Beispiele</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Diese Überschrift zeigt einige Beispiele der Verwendung der
|
|
|
+ <classname>Zend_Service_WindowsAzure_Diagnostics_Manager</classname> Klasse. Andere
|
|
|
+ Features sind auch im Download Paket vorhanden, sowie eine detailierte API
|
|
|
+ Dokumentation dieser Features.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-exists">
|
|
|
+ <title>
|
|
|
+ Prüfen ob eine Diagnose-Konfiguration für die aktuelle Rollen Instanz existiert
|
|
|
+ </title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Durch Verwendung des folgenden Codes kann man prüfen ob eine Diagnose Konfiguration
|
|
|
+ für die aktuelle Rollen Instanz existiert.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <example id="zend.service.windowsazure.diagnostics.manager.api.config-exists">
|
|
|
+ <title>
|
|
|
+ Prüfen ob eine Diagnose Konfiguration für die aktuelle Rollen Instanz exisztiert
|
|
|
+ </title>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+/** Zend_Service_WindowsAzure_Storage_Blob */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
|
|
|
+
|
|
|
+/** Zend_Service_WindowsAzure_Diagnostics_Manager */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
|
|
|
+
|
|
|
+$storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
|
|
|
+$manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
|
|
|
+
|
|
|
+$configurationExists = $manager->configurationForCurrentRoleInstanceExists();
|
|
|
+
|
|
|
+echo 'Die Konfiguration ' . ($configurationExists ? 'existiert' : 'existiert nicht';
|
|
|
+]]></programlisting>
|
|
|
+ </example>
|
|
|
+ </sect3>
|
|
|
+
|
|
|
+ <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-load">
|
|
|
+ <title>Laden der Diagnose Konfiguration für die aktuelle Rollen Instanz</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Durch Verwendung des folgenden Codes kann man die Diagnose Konfiguration der
|
|
|
+ aktuellen Rollen Instanz laden.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <example id="zend.service.windowsazure.diagnostics.manager.api.config-load">
|
|
|
+ <title>Laden der Diagnose Konfiguration der aktuellen Rollen Instanz</title>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+/** Zend_Service_WindowsAzure_Storage_Blob */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
|
|
|
+
|
|
|
+/** Zend_Service_WindowsAzure_Diagnostics_Manager */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
|
|
|
+
|
|
|
+$storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
|
|
|
+$manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
|
|
|
+
|
|
|
+$configuration = $manager->getConfigurationForCurrentRoleInstance();
|
|
|
+]]></programlisting>
|
|
|
+ </example>
|
|
|
+ </sect3>
|
|
|
+
|
|
|
+ <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-store">
|
|
|
+ <title>Speichern der Diagnose Konfiguration der aktuellen Rollen Instanz</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Durch Verwendung des folgenden Codes kann man die Diagnose Konfiguration der
|
|
|
+ aktuellen Rollen Instanz speichern.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <example id="zend.service.windowsazure.diagnostics.manager.api.config-store">
|
|
|
+ <title>Speichern der Diagnose Konfiguration der aktuellen Rollen Instanz</title>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+/** Zend_Service_WindowsAzure_Storage_Blob */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
|
|
|
+
|
|
|
+/** Zend_Service_WindowsAzure_Diagnostics_Manager */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
|
|
|
+
|
|
|
+$storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
|
|
|
+$manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
|
|
|
+
|
|
|
+$configuration = // ...;
|
|
|
+$manager->setConfigurationForCurrentRoleInstance($configuration);
|
|
|
+]]></programlisting>
|
|
|
+ </example>
|
|
|
+ </sect3>
|
|
|
+
|
|
|
+ <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-perf">
|
|
|
+ <title>Einschreiben für einen Geschwindigkeits Zähler</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Durch Verwendung des folgenden Codes kann man sich für einen Geschwindigkeits
|
|
|
+ Zähler einschreiben.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <example id="zend.service.windowsazure.diagnostics.manager.api.config-perf">
|
|
|
+ <title>Einschreiben für einen Geschwindigkeits Zähler</title>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+/** Zend_Service_WindowsAzure_Storage_Blob */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Storage/Blob.php';
|
|
|
+
|
|
|
+/** Zend_Service_WindowsAzure_Diagnostics_Manager */
|
|
|
+require_once 'Zend/Service/WindowsAzure/Diagnostics/Manager.php';
|
|
|
+
|
|
|
+$storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
|
|
|
+$manager = new Zend_Service_WindowsAzure_Diagnostics_Manager($storageClient);
|
|
|
+
|
|
|
+$configuration = $manager->getConfigurationForCurrentRoleInstance();
|
|
|
+
|
|
|
+// Einschreiben für die \Processor(*)\% Prozessor Zeit
|
|
|
+$configuration->DataSources->PerformanceCounters->addSubscription('\Processor(*)\% Processor Time', 1);
|
|
|
+
|
|
|
+$manager->setConfigurationForCurrentRoleInstance($configuration);
|
|
|
+]]></programlisting>
|
|
|
+ </example>
|
|
|
+ </sect3>
|
|
|
+
|
|
|
+ <sect3 id="zend.service.windowsazure.diagnostics.manager.api.config-roleid">
|
|
|
+ <title>Die Id der Rollen Instanz erhalten</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ 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.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <example id="zend.service.windowsazure.diagnostics.manager.api.config-roleid">
|
|
|
+ <title>Erhalten der Id der aktuellen Rollen Instanz</title>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+echo 'Die Id der Rollen Instanz ist ' . $_SERVER['RdRoleId'];
|
|
|
+]]></programlisting>
|
|
|
+ </example>
|
|
|
+ </sect3>
|
|
|
+ </sect2>
|
|
|
+</sect1>
|