Difference between revisions of "StatsSystem"

From VideoLAN Wiki
Jump to navigation Jump to search
 
 
(18 intermediate revisions by 14 users not shown)
Line 1: Line 1:
 +
{{Historical}}
 
= Requirements =
 
= Requirements =
  
Line 11: Line 12:
 
* per-stream/global decoded, dropped frames
 
* per-stream/global decoded, dropped frames
 
* per-stream/global packets read/errors
 
* per-stream/global packets read/errors
* per-stream/global packets sent/errors (if sout)
+
* per-stream/global packets/bytes sent/errors (if sout)
* stats about httpd/vod, per access
+
* stats about httpd/vod, per request
  
 
Each thing could be stored as average, max, counter, ...
 
Each thing could be stored as average, max, counter, ...
Line 32: Line 33:
 
=== Counters ===
 
=== Counters ===
  
 +
<pre>
 
counter_sample_t
 
counter_sample_t
 
{
 
{
Line 44: Line 46:
 
   pp_samples / i_samples
 
   pp_samples / i_samples
 
}
 
}
 +
</pre>
  
Name contains the originating object id, like "267.frames_decoded"  
+
* Name contains the originating object id, like "267.frames_displayed" .How to separate by http request ? "httpd_object_id.request_id.XXX" ?
 +
* Type is one of MAX, LAST, COUNTER, DERIVATIVE, ...
  
 
=== Timing ===
 
=== Timing ===
  
 +
<pre>
 
timing_elem_t
 
timing_elem_t
 
{
 
{
Line 61: Line 66:
 
   start_time   
 
   start_time   
 
}
 
}
 +
</pre>
  
 
== Reporting ==
 
== Reporting ==
Line 72: Line 78:
 
** Add some logging facility to httpd
 
** Add some logging facility to httpd
 
** RRD output (muwahahahaha)
 
** RRD output (muwahahahaha)
 +
 +
[[Category:Dev Discussions]]

Latest revision as of 14:35, 1 October 2013

This page is obsolete and kept only for historical interest. It may document features that are obsolete, superseded, or irrelevant. Do not rely on the information here being up-to-date.

Requirements

Goal

Central system for storing statistics and timings

Stored data

What we might want to collect:

  • per-stream/global decoded, dropped frames
  • per-stream/global packets read/errors
  • per-stream/global packets/bytes sent/errors (if sout)
  • stats about httpd/vod, per request

Each thing could be stored as average, max, counter, ...

Data access

  • Access stats from the GUI (simple)
  • Dump HTTP server access data
  • Dump some raw access data to output

Design

Data storage

Stats object

Stored as a singleton in p_libvlc

Counters

counter_sample_t
{
   value
   date
}

counter_elem_t
{
   name
   type
   pp_samples / i_samples
}
  • Name contains the originating object id, like "267.frames_displayed" .How to separate by http request ? "httpd_object_id.request_id.XXX" ?
  • Type is one of MAX, LAST, COUNTER, DERIVATIVE, ...

Timing

timing_elem_t
{
   name

   last_time,

   total_time,
   total_samples,

   running,
   start_time   
}

Reporting

  • In GUI:
    • Integrated in streams and media information for relevant items (make it available for VLM streams too)
    • Where to put global data ?
  • Data log:
    • Make global options to enable and driver logger module
    • Add some logging facility to httpd
    • RRD output (muwahahahaha)