StatsSystem: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| 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
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)