Show stats/de

=Einführung=

"show stats" ist ein neuer Statistiken zu sammeln Mechanismus langsam zu Open hinzugefügt wird bisher getrennten und Ad-hoc-Mechanismen zu integrieren. Für dieses System können Sie eine kurze Zusammenfassung Statistiken mit dem Befehl "show-Statistik" und eine viel längere Liste von Statistiken mit den "Statistiken anzeigen alle" sehen Befehl (die leider noch nicht die in der Zusammenfassung enthalten!).

Verwenden Sie die "Hilfe Statistiken anzeigen" Befehl auf der Konsole für weitere Informationen.

Siehe "help show stats" Befehl auf der Konsole für weitere Informationen.

Siehe Monitoring Informationen zu anderen Statistiken sammeln Mechanismen für Opensimulator.

Siehe Stats Manager für Informationen darüber, wie mit diesem Mechanismus Statistiken zu registrieren.

=Allgemeine Konzepte= Der vollständige Name einer Statistik besteht aus drei Komponenten, die durch Punkte (.) Getrennt. Um diese


 * Kategorie - Die Kategorie des Stat (zB Server, Scene)
 * container - Die für diese Statistik enthält Objekt. Beispielsweise auf Szene ist dies die Szenennamen (zB Region 1). Für Server, das ist die Komponente, auf die die stat (zB Speicher, Prozessor) bezieht.
 * Name - Der Stat selbst. Beispielsweise ClientLogoutsDueToNoReceives oder SimFPS.

= Konsolenbefehle =

Von der Konsole gibt es mehrere Möglichkeiten, um die Statistiken anzuzeigen:
 * show stats gibt Simulator Statistiken in einem Legacy - Format
 * show stats all zeigt alle registrierten Statistiken eine Zeile pro stat.
 * show stats category container zeigt alle Statistiken innerhalb einer bestimmten Kategorie/container

= Recording =

Statistikinformationen Speichern für eine spätere Analyse sehr nützlich sein. Es gibt Befehle sowohl eine Momentaufnahme und eine kontinuierliche Aufzeichnung der Statistiken Informationen zu speichern. Es gibt auch eine Einrichtung Statistiken Informationen über eine URL abzurufen.

Statistiken speichern (Konsolenbefehl)
Dieser Befehl wird eine Momentaufnahme der aktuellen statistischen Daten zu einem bestimmten Pfad zu speichern. Beispielsweise


 * 1) stats save stats.txt

Wenn die Datei bereits vorhanden ist, werden die Statistiken angehängt.

Statistiken Rekordkonsolenbefehl
Bitte beachten Sie, dass in Open 0.7.6 dieser Befehl "debug Statistiken record" war.

Leider bedeutet einen Fehler in Open 0,8, dass der Befehl "Statistiken Rekord start | stop" funktioniert nicht richtig, und wird ein Anwendungsfehler mit dem alten Befehlsnamen melden. Die Abhilfe ist der letzte Befehl zweimal (zB "Statistik Rekordstart start") zu wiederholen.

Dieser Fehler wurde in Open fixiert 0.8.0.1

Dies ist eine experimentelle facilty in Open 0.7.6 Start, die die Ergebnisse von "Show-Statistik alle" in eine Protokolldatei alle 5 Sekunden aufgezeichnet werden. Das Ziel ist es, statistische Informationen während einer Sitzung für eine spätere Analyse aufzeichnen. Die Protokollierung ist mit dem Konsolenbefehl aktiviert. Es funktioniert sowohl auf dem Simulator und eine ROBUST-Instanz.

Now recording all stats to file every 5000ms
 * 1) stats record start

So stoppen Sie die Protokollierung, so oder Herunterfahren des Servers oder verwenden Sie den Befehl

Stopped recording stats to file.
 * 1) stats record stop

Die Protokolldatei hat den gleichen Namen wie die Haupt Logfile für die ausführbare Datei mit dem Wort "Statistik" angehängt. Zum Beispiel auf Statistiken Drehen für OpenSim.exe Protokollierung in die Datei OpenSimStats.log schreiben. Für Robust.exe wird dies zu RobustStats.log schreiben.

Derzeit und in Open 0.7.6 erfordert diese Protokollierung Einträge in OpenSim.exe.config (und Robust.exe.config für Robust). Wenn Sie Ihre eigene Version dieser Dateien verwenden, dann müssen Sie sie für die Protokollierung Einträge anzupassen.

Die Auswirkungen auf die Leistung einer solchen Protokollierung sollte gering sein, obwohl die Größe der Protokolldatei sehr groß werden kann.

Webzugriff auf Statistiken
If [Startup]ManagedStatsRemoteFetchURI is defined and set to some value, the simulator statistics are available over the web via HTTP GET operations. The URL is the simulator's HTTP server URL appended with the value in ManagedStatsRemoteFetchURI.

The URL fetched accepts four different query parameters:


 * cat which specifies a category to fetch. If no category is given, the special category "all" is use which return all categories;
 * cont specified a container. If not specified, the special container "all" is used to return all containers
 * stat specifies the name of the particular stat. If not specified, the stat "all" is used to return all stats.
 * callback specifies if the returned JSON data is to be wrapped in a callback function.

For instance, for a simulator at IP address 10.1.1.4 with the INI settings:

[Network] http_listener_port=9000 [Startup] ManagedStatsRemoteFetchURI=ManagedStats

example data fetches are:


 * wget http://10.1.1.4:9000/ManagedStats/
 * returns all stats registered in the simulator


 * wget http://10.1.1.4:9000/ManagedStats/?cat=server
 * returns all stats registered with the category "server"


 * wget http://10.1.1.4:9000/ManagedStats/?cat=server&cont=threadpool
 * returns all stats for the "threadpool" container within the "server" category


 * wget http://10.1.1.4:9000/ManagedStats/?cat=server&cont=threadpool&stat=STPMinThreads
 * returns the value for the specific stat

The data is returned in JSON format grouped as you might expect with maps of categories containing maps of containers containing maps of stats. For instance, the response to http://10.1.1.4:9000/ManagedStats/?cat=server&cont=threadpool might look like:

{"server": {"threadpool": {"BuiltinThreadpoolIOCPThreadsAvailable": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"BuiltinThreadpoolIOCPThreadsAvailable", "Name":"BuiltinThreadpoolIOCPThreadsAvailable", "Description":"BuiltinThreadpoolIOCPThreadsAvailable", "UnitName":"threads", "Value":1000.0 },       "BuiltinThreadpoolWorkerThreadsAvailable": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"BuiltinThreadpoolWorkerThreadsAvailable", "Name":"BuiltinThreadpoolWorkerThreadsAvailable", "Description":"BuiltinThreadpoolWorkerThreadsAvailable", "UnitName":"threads", "Value":499.0 },       "STPActiveThreads": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"STPActiveThreads", "Name":"STPActiveThreads", "Description":"STPActiveThreads", "UnitName":"threads", "Value":15.0 },       "STPConcurrency": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"STPConcurrency", "Name":"STPConcurrency", "Description":"STPConcurrency", "UnitName":"threads", "Value":45.0 },       "STPInUseThreads": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"STPInUseThreads", "Name":"STPInUseThreads", "Description":"STPInUseThreads", "UnitName":"threads", "Value":0.0 },       "STPMaxThreads": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"STPMaxThreads", "Name":"STPMaxThreads", "Description":"STPMaxThreads", "UnitName":"threads", "Value":45.0 },       "STPMinThreads": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"STPMinThreads", "Name":"STPMinThreads", "Description":"STPMinThreads", "UnitName":"threads", "Value":15.0 },       "STPWorkItemsWaiting": {"StatType":"Stat", "Category":"server", "Container":"threadpool", "ShortName":"STPWorkItemsWaiting", "Name":"STPWorkItemsWaiting", "Description":"STPWorkItemsWaiting", "UnitName":"threads", "Value":0.0 }       }    } }

= Analyse = Tools to analyze record stats data are under development at https://github.com/justincc/opensimulator-tools/tree/master/analysis/opensimulator-stats-analyzer. This includes summary and graphing tools.

=Typen=

Derzeit gibt es drei Arten von Statistik.

Number
This is just a number, possibly with a unit. For example server.threadpool.STPActiveThreads : 15 threads

Change over time
This is a number that also shows the last delta between samples and also a moving average of deltas over the last 20 samples, each taken 5 seconds apart. For example clientstack.test one.IncomingUDPReceivesCount : 98, 1.2/s, 1.7/s

Percentage
This is a percentage with the antecedent and consequent also given. For example

clientstack.test one.PacketsReused : 37.91% (116/306)

=Statistics=

'''This information is highly subject to change as suitable data gathering is an evolving area. Need to keep adding stats.'''

clientstack
These are stats for the LLUDP clientstack that sends and receives UDP messages for viewers connected with the Second Life protocol. Each stats with clientstack..

httpserver
These are stats for OpenSimulator's built-in HTTP server. Statistics are partitioned (contained) by the incoming port number to which they relate. For example, httpserver.8002.HTTPRequestsServed are all the HTTP requests served that came in to port 8002.

scene
These are stats relating to the graphical simulated scene.

Each starts with scene..

server
These are stats relating to the server itself.

thread
These are the times in milliseconds since the monitored thread last performed any activity. This is the same as the "LAST UDPATE" information shown by the "show threads" command.

threadpool
These are server threadpool stats.

Each starts with server.threadpool.

= Andere Statistiken =

OsGetRegionStats

ServerStats

Cacti

Collectd