Difference between revisions of "StatsSystem"
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 | + | * 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. | + | * 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. |
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" ?
- 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)