StatsSystem

From VideoLAN Wiki
Revision as of 14:11, 15 December 2005 by Zorglub (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 sent/errors (if sout)
  • stats about httpd/vod, per access

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_decoded"

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)