Difference between revisions of "StatsSystem"
Jump to navigation
Jump to search
Line 11: | Line 11: | ||
* 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 | + | * 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 32: | ||
=== Counters === | === Counters === | ||
+ | <pre> | ||
counter_sample_t | counter_sample_t | ||
{ | { | ||
Line 44: | Line 45: | ||
pp_samples / i_samples | pp_samples / i_samples | ||
} | } | ||
+ | </pre> | ||
− | Name contains the originating object id, like "267. | + | Name contains the originating object id, like "267.frames_displayed" |
+ | |||
+ | How to separate by http request ? "httpd_object_id.request_id.XXX" ? | ||
=== Timing === | === Timing === | ||
+ | <pre> | ||
timing_elem_t | timing_elem_t | ||
{ | { | ||
Line 61: | Line 66: | ||
start_time | start_time | ||
} | } | ||
+ | </pre> | ||
== Reporting == | == Reporting == |
Revision as of 14:13, 15 December 2005
Contents
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" ?
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)