mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-11-03 04:17:17 -05:00
289 lines
16 KiB
HTML
289 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>Icecast Docs Docs — Server Statistics</title>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
|
<link rel="stylesheet" type="text/css" href="assets/css/style.css" media="screen, print" />
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="header">
|
|
<h1><a href="#" title="Home page">Icecast</a> <span>documentation</span></h1>
|
|
</div>
|
|
|
|
<div class="section">
|
|
|
|
<h2>Icecast 2.4.99.1 Docs — Server Statistics</h2>
|
|
|
|
|
|
<div class="article">
|
|
<h3 id="overview">Overview</h3>
|
|
<p>Icecast provides extensive run time statistics. Both in the form of active connection numbers and cumulative
|
|
counters (since server startup or respectively source connection startup).</p>
|
|
|
|
</div>
|
|
|
|
<div class="article">
|
|
<h3 id="xslt">HTML interface, XSLT generated</h3>
|
|
|
|
<p>Icecast comes with a basic, XHTML web interface. It exposes a basic set of server statistics that should
|
|
fulfil basic user needs. If so desired the files in web-root can be customized to contain more or less
|
|
information (see section on raw XML data below).<br />
|
|
<strong>We strongly discourage attempts to scrape data from the web interface</strong> as we do not consider this an
|
|
API and will change it, even completely, between versions!<br />
|
|
<strong>The preferred ways are custom XSLT, JSON and raw XML.</strong></p>
|
|
</div>
|
|
|
|
<!-- FIXME -->
|
|
<div class="article">
|
|
<h3 id="json">JSON API, machine readable data</h3>
|
|
|
|
<p>Since version 2.4.0 Icecast includes a basic JSON API (<code>/status-json.xsl</code>) based on a xml2json template by Doeke Zanstra
|
|
(see <code>xml2json.xslt</code>). It exposes the same set of server statistics that are available through the web interface and
|
|
should fulfil basic user needs. The intention is to not break backwards compatibility of this interface in the future,
|
|
still we recommend to design robust software that can deal with possible changes like addition or removal of variables.
|
|
Also note that not all variables are available all the time and availability may change at runtime due to stream type, etc.</p>
|
|
</div>
|
|
|
|
<div class="article">
|
|
<h3 id="xslt_advanced">Advanced machine readable data, XSLT generated</h3>
|
|
|
|
<p>Icecast uses the very powerful libXSLT engine to transform its internal raw statistical data into custom tailored interfaces.
|
|
Many people have written custom XSLT code that produces e.g. plain text “now playing”, XSPF, VCLT, munin interface data, etc. </p>
|
|
</div>
|
|
|
|
<div class="article">
|
|
<h3 id="available_raw_data">Available raw data</h3>
|
|
|
|
<p>This section contains information about the raw XML server statistics data available inside Icecast. An example
|
|
stats XML tree will be shown and each element will be described. The following example stats tree will be used: </p>
|
|
|
|
<!-- FIXME -->
|
|
|
|
<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt"><icestats></span>
|
|
<span class="nt"><admin></span>icemaster@localhost<span class="nt"></admin></span>
|
|
<span class="nt"><client_connections></span>649<span class="nt"></client_connections></span>
|
|
<span class="nt"><clients></span>2<span class="nt"></clients></span>
|
|
<span class="nt"><connections></span>907<span class="nt"></connections></span>
|
|
<span class="nt"><file_connections></span>379<span class="nt"></file_connections></span>
|
|
<span class="nt"><host></span>localhost<span class="nt"></host></span>
|
|
<span class="nt"><listener_connections></span>90<span class="nt"></listener_connections></span>
|
|
<span class="nt"><listeners></span>0<span class="nt"></listeners></span>
|
|
<span class="nt"><location></span>Earth<span class="nt"></location></span>
|
|
<span class="nt"><server_id></span>Icecast 2.5<span class="nt"></server_id></span>
|
|
<span class="nt"><source_client_connections></span>164<span class="nt"></source_client_connections></span>
|
|
<span class="nt"><source_relay_connections></span>0<span class="nt"></source_relay_connections></span>
|
|
<span class="nt"><source_total_connections></span>164<span class="nt"></source_total_connections></span>
|
|
<span class="nt"><sources></span>2<span class="nt"></sources></span>
|
|
<span class="nt"><stats></span>0<span class="nt"></stats></span>
|
|
<span class="nt"><stats_connections></span>0<span class="nt"></stats_connections></span>
|
|
<span class="nt"><source</span> <span class="na">mount=</span><span class="s">"/audio.ogg"</span><span class="nt">></span>
|
|
<span class="nt"><title></span>All that she wants<span class="nt"></title></span>
|
|
<span class="nt"><artist></span>Ace of Base<span class="nt"></artist></span>
|
|
<span class="nt"><audio_bitrate></span>499821<span class="nt"></audio_bitrate></span>
|
|
<span class="nt"><audio_channels></span>2<span class="nt"></audio_channels></span>
|
|
<span class="nt"><audio_info></span>samplerate=44100;quality=10%2e0;channels=2<span class="nt"></audio_info></span>
|
|
<span class="nt"><audio_samplerate></span>44100<span class="nt"></audio_samplerate></span>
|
|
<span class="nt"><channels></span>2<span class="nt"></channels></span>
|
|
<span class="nt"><genre></span>various<span class="nt"></genre></span>
|
|
<span class="nt"><ice-bitrate></span>499<span class="nt"></ice-bitrate></span>
|
|
<span class="nt"><listener_peak></span>0<span class="nt"></listener_peak></span>
|
|
<span class="nt"><listeners></span>0<span class="nt"></listeners></span>
|
|
<span class="nt"><listenurl></span>http://localhost:8000/audio<span class="nt"></listenurl></span>
|
|
<span class="nt"><max_listeners></span>unlimited<span class="nt"></max_listeners></span>
|
|
<span class="nt"><public></span>1<span class="nt"></public></span>
|
|
<span class="nt"><quality></span>10.0<span class="nt"></quality></span>
|
|
<span class="nt"><samplerate></span>44100<span class="nt"></samplerate></span>
|
|
<span class="nt"><server_description></span>Teststream<span class="nt"></server_description></span>
|
|
<span class="nt"><server_name></span>Great audio stream<span class="nt"></server_name></span>
|
|
<span class="nt"><server_type></span>application/ogg<span class="nt"></server_type></span>
|
|
<span class="nt"><server_url></span>http://example.org/<span class="nt"></server_url></span>
|
|
<span class="nt"><slow_listeners></span>0<span class="nt"></slow_listeners></span>
|
|
<span class="nt"><source_ip></span>192.0.2.21<span class="nt"></source_ip></span>
|
|
<span class="nt"><subtype></span>Vorbis<span class="nt"></subtype></span>
|
|
<span class="nt"><total_bytes_read></span>3372153<span class="nt"></total_bytes_read></span>
|
|
<span class="nt"><total_bytes_sent></span>0<span class="nt"></total_bytes_sent></span>
|
|
<span class="nt"><user_agent></span>LadioCast/0.10.5 libshout/2.3.1<span class="nt"></user_agent></span>
|
|
<span class="nt"></source></span>
|
|
<span class="nt"><source</span> <span class="na">mount=</span><span class="s">"/video.ogg"</span><span class="nt">></span>
|
|
<span class="nt"><audio_bitrate></span>276000<span class="nt"></audio_bitrate></span>
|
|
<span class="nt"><audio_channels></span>6<span class="nt"></audio_channels></span>
|
|
<span class="nt"><audio_samplerate></span>48000<span class="nt"></audio_samplerate></span>
|
|
<span class="nt"><frame_rate></span>25.00<span class="nt"></frame_rate></span>
|
|
<span class="nt"><frame_size></span>720 x 576<span class="nt"></frame_size></span>
|
|
<span class="nt"><genre></span>various<span class="nt"></genre></span>
|
|
<span class="nt"><ice-bitrate></span>276<span class="nt"></ice-bitrate></span>
|
|
<span class="nt"><listener_peak></span>0<span class="nt"></listener_peak></span>
|
|
<span class="nt"><listeners></span>0<span class="nt"></listeners></span>
|
|
<span class="nt"><listenurl></span>http://localhost:8000/video<span class="nt"></listenurl></span>
|
|
<span class="nt"><max_listeners></span>unlimited<span class="nt"></max_listeners></span>
|
|
<span class="nt"><public></span>0<span class="nt"></public></span>
|
|
<span class="nt"><server_description></span>Unspecified description<span class="nt"></server_description></span>
|
|
<span class="nt"><server_name></span>Unspecified name<span class="nt"></server_name></span>
|
|
<span class="nt"><server_type></span>video/ogg<span class="nt"></server_type></span>
|
|
<span class="nt"><slow_listeners></span>0<span class="nt"></slow_listeners></span>
|
|
<span class="nt"><source_ip></span>192.0.2.21<span class="nt"></source_ip></span>
|
|
<span class="nt"><subtype></span>Vorbis/Theora<span class="nt"></subtype></span>
|
|
<span class="nt"><title></span>ERAGON<span class="nt"></title></span>
|
|
<span class="nt"><total_bytes_read></span>37136<span class="nt"></total_bytes_read></span>
|
|
<span class="nt"><total_bytes_sent></span>0<span class="nt"></total_bytes_sent></span>
|
|
<span class="nt"><user_agent></span>Lavf/55.20.0<span class="nt"></user_agent></span>
|
|
<span class="nt"><video_bitrate></span>200000<span class="nt"></video_bitrate></span>
|
|
<span class="nt"><video_quality></span>0<span class="nt"></video_quality></span>
|
|
<span class="nt"></source></span>
|
|
<span class="nt"></icestats></span></code></pre></div>
|
|
|
|
<h4 id="general-statistics">General Statistics</h4>
|
|
|
|
<dl>
|
|
<dt>admin</dt>
|
|
<dd>As set in the server config, this should contain contact details for getting in touch with the server administrator.
|
|
Usually this will be an email address, but as this can be an arbitrary string it could also be a phone number.</dd>
|
|
<dt>client_connections</dt>
|
|
<dd>Client connections are basically anything that is not a source connection. These include listeners (not concurrent,
|
|
but cumulative), any admin function accesses, and any static content (file serving) accesses.<br />
|
|
<em>This is an accumulating counter.</em></dd>
|
|
<dt>clients</dt>
|
|
<dd>Number of currently active client connections.</dd>
|
|
<dt>connections</dt>
|
|
<dd>The total of all inbound TCP connections since start-up.<br />
|
|
<em>This is an accumulating counter.</em></dd>
|
|
<dt>file_connections</dt>
|
|
<dd><em>This is an accumulating counter.</em></dd>
|
|
<dt>host</dt>
|
|
<dd>As set in the server config, this should be the full DNS resolveable name or FQDN for the host on which this
|
|
Icecast instance is running.</dd>
|
|
<dt>listener_connections</dt>
|
|
<dd>Number of listener connections to mount points.<br />
|
|
<em>This is an accumulating counter.</em></dd>
|
|
<dt>listeners</dt>
|
|
<dd>Number of currently active listener connections.</dd>
|
|
<dt>location</dt>
|
|
<dd>As set in the server config, this is a free form field that should describe e.g. the physical location of this server.</dd>
|
|
<dt>server_id</dt>
|
|
<dd>Defaults to the version string of the currently running Icecast server. While not recommended it can be overriden in
|
|
the server config.</dd>
|
|
<dt>server_start_iso8601</dt>
|
|
<dd>Timestamp of server startup in ISO 8601 date format.</dd>
|
|
<dt>server_start</dt>
|
|
<dd>Timestamp of server startup in RFC 2822 date format. This field is deprecated and may be removed in a future version,
|
|
please use <code>server_start_iso8601</code> instead.</dd>
|
|
<dt>source_client_connections</dt>
|
|
<dd>Source client connections are the number of times (cumulative since start-up, not just currently connected) a source
|
|
client has connected to Icecast.<br />
|
|
<em>This is an accumulating counter.</em></dd>
|
|
<dt>source_relay_connections</dt>
|
|
<dd>Number of outbound relay connections to (master) icecast servers.<br />
|
|
<em>This is an accumulating counter.</em></dd>
|
|
<dt>source_total_connections</dt>
|
|
<dd>Both clients and relays.<br />
|
|
<em>This is an accumulating counter.</em></dd>
|
|
<dt>sources</dt>
|
|
<dd>The total of currently connected sources.</dd>
|
|
<dt>stats</dt>
|
|
<dd>The total of currently connected STATS clients.</dd>
|
|
<dt>stats_connections</dt>
|
|
<dd>Number of times a stats client has connected to Icecast.<br />
|
|
<em>This is an accumulating counter.</em> </dd>
|
|
</dl>
|
|
|
|
<h4 id="source-specific-statistics">Source-specific Statistics</h4>
|
|
<p>Please note that the statistics are valid within the scope of the current source connection.<br />
|
|
A reconnect or disconnection will reset those. </p>
|
|
|
|
<dl>
|
|
<dt>artist</dt>
|
|
<dd>Artist of the current song<br />
|
|
<em>Metadata set by source client</em></dd>
|
|
<dt>title</dt>
|
|
<dd>Title of the current song<br />
|
|
<em>Metadata set by source client</em></dd>
|
|
<dt>audio_bitrate</dt>
|
|
<dd>Audio bitrate in bits/s<br />
|
|
<em>Can be set by source client</em></dd>
|
|
<dt>audio_channels</dt>
|
|
<dd>Number of audio channels.</dd>
|
|
<dt>audio-info</dt>
|
|
<dd>Information about the bitrate/samplerate/quality of the stream.
|
|
Also used for YP entries.<br />
|
|
<em>Metadata set by source client</em><br />
|
|
Example:<br />
|
|
<code>samplerate=44100;quality=10%2e0;channels=2</code> (LadioCast)<br />
|
|
<code>ice-bitrate=128;ice-channels=2;ice-samplerate=44100</code> (Butt)</dd>
|
|
<dt>ice-bitrate</dt>
|
|
<dd>Information about the audio bitrate (in kbit/s) of the stream.<br />
|
|
<em>Can be set by source client</em></dd>
|
|
<dt>samplerate</dt>
|
|
<dd>Information about the samplerate of the stream.<br />
|
|
<em>Can be set by source client</em></dd>
|
|
<dt>quality</dt>
|
|
<dd>Information about the audio quality of the stream.<br />
|
|
<em>Metadata set by source client</em></dd>
|
|
<dt>frame_rate</dt>
|
|
<dd>Information about the framerate of the stream.<br />
|
|
<em>Only present for video streams</em></dd>
|
|
<dt>frame_size</dt>
|
|
<dd>Information about the frame size of the stream.<br />
|
|
<em>Only present for video streams</em></dd>
|
|
<dt>video_bitrate</dt>
|
|
<dd>Information about the video bitrate of the stream.<br />
|
|
<em>Only present for video streams</em></dd>
|
|
<dt>video_quality</dt>
|
|
<dd>Information about the video quality of the stream.<br />
|
|
<em>Only present for video streams</em></dd>
|
|
<dt>server_name</dt>
|
|
<dd>Stream name<br />
|
|
<em>Metadata set by source client</em></dd>
|
|
<dt>server_description</dt>
|
|
<dd>Stream description<br />
|
|
<em>Metadata set by source client</em></dd>
|
|
<dt>server_type</dt>
|
|
<dd>MIME-type for the stream currently active on this mountpoint.</dd>
|
|
<dt>subtype</dt>
|
|
<dd>MIME-subtype, can be e.g. codecs like Opus, Vorbis, Theora.<br />
|
|
Separated with <code>/</code>.</dd>
|
|
<dt>listener_peak</dt>
|
|
<dd>Peak concurrent number of listener connections for this mountpoint.</dd>
|
|
<dt>listeners</dt>
|
|
<dd>The number of currently connected listeners.</dd>
|
|
<dt>listenurl</dt>
|
|
<dd>URL to this mountpoint. (This is not aware of aliases)</dd>
|
|
<dt>max_listeners</dt>
|
|
<dd>Maximum number of listeners permitted to concurrently connect to this mountpoint.</dd>
|
|
<dt>public</dt>
|
|
<dd>Flag that indicates whether this mount is to be listed on a YP.<br />
|
|
<em>Set by source client, can be overriden by server config</em></dd>
|
|
<dt>slow_listeners</dt>
|
|
<dd>Number of slow listeners</dd>
|
|
<dt>source_ip</dt>
|
|
<dd>IP address of the currently connected source client.<br />
|
|
In case of relays the content of <code><server></code>.</dd>
|
|
<dt>stream_start_iso8601</dt>
|
|
<dd>Timestamp of when the currently active source client connected to this mount point in ISO 8601 date format.</dd>
|
|
<dt>stream_start</dt>
|
|
<dd>Timestamp of when the currently active source client connected to this mount point in RFC 2822 date format.
|
|
This field is deprecated and may be removed in a future version, please use <code>stream_start_iso8601</code> instead.</dd>
|
|
<dt>total_bytes_read</dt>
|
|
<dd>Total number of bytes received from the source client.</dd>
|
|
<dt>total_bytes_sent</dt>
|
|
<dd>Total number of bytes sent to all listener connections since last source connect.</dd>
|
|
<dt>user_agent</dt>
|
|
<dd>HTTP user agent string as sent by the source client.</dd>
|
|
</dl>
|
|
|
|
<p>Additional data can be accessed through the admin interface, as every page of the admin
|
|
interface has an XML equivalent. </p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="footer">
|
|
<p>Support icecast development at <a href="http://icecast.org">icecast.org</a></p>
|
|
</div>
|
|
|
|
</body>
|
|
</html> |