StatsSystem

From VideoLAN Wiki
Revision as of 14:42, 22 July 2006 by The thing (talk | contribs) (Reverted edits by 1153528875 (Talk); changed back to last version by Xtophe)
Jump to navigation Jump to search

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)