summaryrefslogtreecommitdiff
path: root/src/examples/rrdHeaderInfo.html
blob: 42824c3466f543fedbb2a322c25689c573e91b2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
 Example HTML/javascript file that display the
 header of a RRD archive files
 Part of the javascriptRRD package
 Copyright (c) 2009 Frank Wuerthwein, fkw@ucsd.edu

 Original repository: http://javascriptrrd.sourceforge.net/
 
 MIT License [http://www.opensource.org/licenses/mit-license.php]

-->

<html>
  
    <script type="text/javascript" src="../lib/binaryXHR.js"></script>
    <script type="text/javascript" src="../lib/rrdFile.js"></script>
  <head>
    <title>RRD Header Info</title>
  </head>

  <body>
    <h1 id="title">Javascript needed for this page to work</h1>

    <script type="text/javascript">
      document.getElementById("title").firstChild.data="RRD Header Info";
    </script>

    <label for="form_label_fname">RRD URL:</label>
    <input type="text" id="input_fname" value="Test.rrd"
           onchange="input_update()">
     <button onclick="input_update()">Update</button>
    <hr>

    <table id="infotable" border=1>
	<tr><th>RRD file</th><td id="fname" colspan="3">None</td></tr>
	<tr><th>Step</th><td id="step">N/A</td><th>Last update</th><td id="last_update">N/A</td></tr>
    </table>

    <script type="text/javascript">
      function write_failure() {
        var pel=document.getElementById("hello");
        pel.style.color='red';
        pel.firstChild.data="Invalid RRD file.";
      }      

      function update_info(fname,rrd_data) {
        document.getElementById("fname").firstChild.data=fname;
        document.getElementById("step").firstChild.data=rrd_data.getStep();
        document.getElementById("last_update").firstChild.data=rrd_data.getLastUpdate();
        var oTable=document.getElementById("infotable");
        while (oTable.rows.length>=3) {
          oTable.deleteRow(2);
        } 


        var nrDSs=rrd_data.getNrDSs()
        var oRow=oTable.insertRow(-1);
        var oCell=oRow.insertCell(0);
        oCell.innerHTML="<b>DS list</b>";
        oCell.colSpan=4;
        for (var i=0; i<nrDSs; i++) {
          var oDS=rrd_data.getDS(i);
          oRow=oTable.insertRow(-1);
          oCell=oRow.insertCell(0)
          oCell.innerHTML="<b>"+oDS.getName()+"</B>";
          oCell=oRow.insertCell(1)
          oCell.innerHTML=oDS.getType();
          oCell.colSpan=3;
        }
      }      
      function update_info_handler(bf) {
          var rrd_data=undefined;
          try {
            var rrd_data=new RRDFile(bf);            
          } catch(err) {
            alert("File "+fname+" is not a valid RRD archive!");
          }
          if (rrd_data!=undefined) {
            update_info(fname,rrd_data)
          }
      }

      fname=document.getElementById("input_fname").value;

      function input_update() {
        fname=document.getElementById("input_fname").value;
        try {
          FetchBinaryURLAsync(fname,update_info_handler);
        } catch (err) {
           alert("Failed loading "+fname+"\n"+err);
        }
      }

      //try {
      //  FetchBinaryURLAsync(fname,update_info_handler);
      //} catch (err) {
      //  alert("Failed loading "+fname+"\n"+err);
      //}
      
    </script>
  </body>
</html>