| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- <?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ä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.
- </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.example">
- <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.example">
- <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.example">
- <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.example">
- <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.example">
- <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>
|