logger/uihandlerserver/web/graph/timetofailture.jsp
author jsedek@netbeans.org
Fri, 18 Jan 2008 16:42:58 +0000
changeset 2817 4a965fcfdeb2
parent 2815 b2e251132095
child 2818 4901449e1c5b
permissions -rw-r--r--
probably better not to use shortcuts
jsedek@2780
     1
<%@page contentType="text/html"%>
jsedek@2780
     2
<%@page pageEncoding="UTF-8"%>
jsedek@2780
     3
<%@ page import="java.util.List" import="java.util.Iterator"%>
jsedek@2780
     4
<%@ page import="org.netbeans.server.uihandler.LogsManager" %>
jsedek@2780
     5
<%@ page import="org.netbeans.server.uihandler.statistics.TimeToFailture" %>
jsedek@2780
     6
<%@ taglib uri="/WEB-INF/chart-tag.tld" prefix="chart" %>
jsedek@2780
     7
<%@ taglib uri="/WEB-INF/statistics.tld" prefix="ui" %>
jsedek@2780
     8
<ui:useStatistic name="TimeToFailture"/>
jsedek@2790
     9
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
jsedek@2780
    10
jsedek@2790
    11
<c:set var="path" value='/ <a href="../index.jsp">Analytics</a> / Graph / Time To Failture'/>
jsedek@2795
    12
<%@include file="/WEB-INF/jspf/header.jspf" %>
jsedek@2808
    13
<%! static int COLUMNS_NO = 1;%>
jsedek@2780
    14
<div class="f-page-cell bg-sky" >
jsedek@2814
    15
    <h2>Mean Time To Failure NetBeans statistics</h2>
jsedek@2780
    16
    
jsedek@2780
    17
    <p>
jsedek@2814
    18
        This statistics measures mean time to NetBeans failure. Mean Time To Failure
jsedek@2814
    19
        is simply the reciprocal of the failure rate. In other words is the 
jsedek@2814
    20
        expected time to failure of a system. 
jsedek@2814
    21
    </p>
jsedek@2814
    22
    <p>
jsedek@2814
    23
        You can see the graph of the Time To Failure values that are measured 
jsedek@2814
    24
        by UI Gestures Collector. Time between exceptions in IDE is measured.
jsedek@2814
    25
        The graph pretty well matches exponential distribution that is a teoretical
jsedek@2814
    26
        model for system reliability. You can get more information about 
jsedek@2814
    27
        <a href="http://en.wikipedia.org/wiki/Failure_rate">failure rate</a> or
jsedek@2814
    28
        <a href="http://en.wikipedia.org/wiki/MTTF">Mean Time Between Failure</a> at
jsedek@2817
    29
        Wikipedia. Mean Time Between Failure is pretty similar to Mean Time To 
jsedek@2817
    30
        Failure in our case.
jsedek@2780
    31
    </p>
jsedek@2780
    32
</div>
jsedek@2780
    33
jsedek@2780
    34
<table width="100%">
jsedek@2780
    35
    <%
jsedek@2790
    36
            List<TimeToFailture.TTFData> data = (List<TimeToFailture.TTFData>) pageContext.getAttribute("globalTimeToFailture");
jsedek@2780
    37
            if (data != null) {
jsedek@2780
    38
                pageContext.setAttribute("results", data);
jsedek@2780
    39
    %>
jsedek@2780
    40
    <tr>
jsedek@2780
    41
        <td align="center" width="480">
jsedek@2780
    42
            <chart:line serie="serie"
jsedek@2790
    43
                        collection="results"
jsedek@2790
    44
                        category="trimmedTime"
jsedek@2790
    45
                        value="count"
jsedek@2814
    46
                        title="Time To Failure"
jsedek@2790
    47
                        />
jsedek@2780
    48
            <p>
jsedek@2780
    49
                This is the overall statistics of all the submitted data.
jsedek@2780
    50
            </p>
jsedek@2780
    51
        </td>
jsedek@2790
    52
        <td>
jsedek@2808
    53
            <table>
jsedek@2808
    54
                <thead class="tblheader">
jsedek@2795
    55
                    <% for (int j = 0; j < COLUMNS_NO; j++) {%>
jsedek@2790
    56
                    <th>
jsedek@2814
    57
                        Time To Failure &nbsp;
jsedek@2808
    58
                    </th>
jsedek@2808
    59
                    <th>
jsedek@2808
    60
                        Number of events
jsedek@2808
    61
                    </th>
jsedek@2808
    62
                    <% }%>
jsedek@2808
    63
                </thead>
jsedek@2808
    64
                <tbody>
jsedek@2808
    65
                    <% data = TimeToFailture.groupData(data, 2);
jsedek@2808
    66
        int column = data.size() / COLUMNS_NO;
jsedek@2808
    67
        int previousTime = 0;
jsedek@2808
    68
        for (int i = 0; i < column; i++) {%>
jsedek@2808
    69
                    <tr>
jsedek@2808
    70
                        <%
jsedek@2808
    71
                        for (int j = 0; j < COLUMNS_NO; j++) {
jsedek@2808
    72
                            TimeToFailture.TTFData dat = data.get(column * j + i);
jsedek@2808
    73
                        %>
jsedek@2808
    74
                        <td class="tbltd1"><%= previousTime %> mins - <%= dat.getTrimmedTime()%> mins</td>
jsedek@2808
    75
                        <td class="tbltd1"><%= dat.getCount()%></td>
jsedek@2808
    76
                        <%
jsedek@2808
    77
                            previousTime = dat.getTrimmedTime();
jsedek@2808
    78
                        }
jsedek@2808
    79
                        %>
jsedek@2808
    80
                    </tr>
jsedek@2808
    81
                    
jsedek@2808
    82
                    <%}%>
jsedek@2808
    83
                </tbody>
jsedek@2808
    84
            </table>
jsedek@2808
    85
        </td>
jsedek@2808
    86
    </tr>
jsedek@2814
    87
    <tr style="font-size:bigger">
jsedek@2814
    88
        <td>
jsedek@2814
    89
            <h3>Global Mean Time To Failture: 
jsedek@2815
    90
                <span style="color:red">
jsedek@2814
    91
                    <%= pageContext.getAttribute("globalTimeToFailtureMTTF")%>
jsedek@2815
    92
                </span>
jsedek@2814
    93
            </h3>        
jsedek@2814
    94
        </td>
jsedek@2814
    95
    </tr>
jsedek@2808
    96
    <% }%>
jsedek@2808
    97
    <%
jsedek@2808
    98
            data = (List<TimeToFailture.TTFData>) pageContext.getAttribute("userTimeToFailture");
jsedek@2808
    99
            if (data != null) {
jsedek@2808
   100
                pageContext.setAttribute("userResults", data);
jsedek@2808
   101
    %>
jsedek@2808
   102
    <tr>
jsedek@2808
   103
        <td align="center" width="480">
jsedek@2808
   104
            <chart:line serie="serie"
jsedek@2808
   105
                        collection="userResults"
jsedek@2808
   106
                        category="trimmedTime"
jsedek@2808
   107
                        value="count"
jsedek@2814
   108
                        title="Time To Failure"
jsedek@2808
   109
                        />
jsedek@2808
   110
            <p>
jsedek@2808
   111
                This is the statistic of all your submitted data.
jsedek@2808
   112
            </p>
jsedek@2808
   113
        </td>
jsedek@2808
   114
        <td>
jsedek@2808
   115
            <table>
jsedek@2808
   116
                <thead class="tblheader">
jsedek@2808
   117
                    <% for (int j = 0; j < COLUMNS_NO; j++) {%>
jsedek@2808
   118
                    <th>
jsedek@2814
   119
                        Time To Failture (mins)
jsedek@2790
   120
                    </th>
jsedek@2790
   121
                    <th>
jsedek@2790
   122
                        Number of events
jsedek@2790
   123
                    </th>
jsedek@2790
   124
                    <% }%>
jsedek@2790
   125
                </thead>
jsedek@2790
   126
                <tbody>
jsedek@2795
   127
                    <% int column = data.size() / COLUMNS_NO;
jsedek@2790
   128
        for (int i = 0; i < column; i++) {%>
jsedek@2790
   129
                    <tr>
jsedek@2790
   130
                        <%
jsedek@2795
   131
                        for (int j = 0; j < COLUMNS_NO; j++) {
jsedek@2790
   132
                            TimeToFailture.TTFData dat = data.get(column * j + i);
jsedek@2790
   133
                        %>
jsedek@2808
   134
                        <td class="tbltd1"><%= dat.getTrimmedTime()%></td>
jsedek@2808
   135
                        <td class="tbltd1"><%= dat.getCount()%></td>
jsedek@2790
   136
                        <%}%>
jsedek@2790
   137
                    </tr>
jsedek@2790
   138
                    
jsedek@2790
   139
                    <%}%>
jsedek@2790
   140
                </tbody>
jsedek@2790
   141
            </table>
jsedek@2790
   142
        </td>
jsedek@2780
   143
    </tr>
jsedek@2814
   144
    <tr style="font-size:bigger">
jsedek@2815
   145
        <td>
jsedek@2815
   146
            <h3>Your Mean Time To Failture: 
jsedek@2815
   147
                <span style="color:red">
jsedek@2815
   148
                    <%= pageContext.getAttribute("userTimeToFailtureMTTF")%>
jsedek@2815
   149
                </span>
jsedek@2815
   150
            </h3>        
jsedek@2815
   151
        </td>
jsedek@2814
   152
    </tr>
jsedek@2780
   153
    <% } %>
jsedek@2780
   154
</table>
jsedek@2780
   155
jsedek@2802
   156
<%@include file="/WEB-INF/jspf/footer.jspf" %>