1 | .. $Id: overview.rst 624 2011-08-21 20:15:37Z jemian $ |
---|
2 | |
---|
3 | RRD database changes |
---|
4 | ------------------------------------------------------------------ |
---|
5 | |
---|
6 | * Each EPICS PV goes into its own RRD database. |
---|
7 | This simplifies the addition of PVs into the logging system. |
---|
8 | * 10x finer time granularity now than before. |
---|
9 | Data are being averaged into minimum 30-second bins. |
---|
10 | (Data can always be updated to system at 1 Hz, if available.) |
---|
11 | |
---|
12 | Default WWW page |
---|
13 | ------------------------------------------------------------------ |
---|
14 | |
---|
15 | The default WWW page is now PHP. This allows for greater |
---|
16 | flexibility in designing new interfaces. The default |
---|
17 | interface shows a gallery of available PNG plots with |
---|
18 | data logged from the last week. Each plot is linked to |
---|
19 | a full description of logged data (6 plots for last: |
---|
20 | hour, day, week, month, year, and decade). |
---|
21 | |
---|
22 | Codebase |
---|
23 | ------------------------------------------------------------------ |
---|
24 | |
---|
25 | Python has been used to implement the support code, calling ``rrdtool`` |
---|
26 | through the rrdtool Python support module. |
---|
27 | The main WWW page is rendered in PHP. |
---|
28 | |
---|
29 | Configuration details |
---|
30 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
---|
31 | |
---|
32 | Two XML files are used for configuration: |
---|
33 | * ``pvlist.xml`` |
---|
34 | describes each of the EPICS Process Variables to be logged |
---|
35 | * ``properties.xml`` |
---|
36 | describes various other configuration and implementation |
---|
37 | details for the support code. |
---|
38 | |
---|
39 | RRD database creation |
---|
40 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
---|
41 | |
---|
42 | Each PV has its own RRD database, created by :mod:`rrdCreate`. |
---|
43 | |
---|
44 | CGI script operation |
---|
45 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
---|
46 | |
---|
47 | A web page request will cause ``rrdcgi`` to generate |
---|
48 | the www page content (text and plots) on demand. |
---|
49 | It may be necessary to force the |
---|
50 | page to refresh the local browser cache in order for some of the |
---|
51 | longer-term plots to be rebuilt. Usually, ``<shift>-"Refresh"`` |
---|
52 | or similar will get this done. |
---|
53 | |
---|
54 | |
---|
55 | Dependencies |
---|
56 | ------------------------------------------------------------------ |
---|
57 | |
---|
58 | :note: TODO: verify |
---|
59 | |
---|
60 | Several different software tools are necessary to provide |
---|
61 | this support: |
---|
62 | * Python |
---|
63 | |
---|
64 | * librrdtool |
---|
65 | * CaChannel |
---|
66 | * xml.etree.ElementTree |
---|
67 | |
---|
68 | * PHP |
---|
69 | |
---|
70 | * rrdtool support |
---|
71 | |
---|
72 | * WWW server |
---|
73 | |
---|
74 | * rrdtool support |
---|
75 | |
---|