Home forums Using CanvasJS graph not showing data Reply To: graph not showing data

#25730

Thanks. I tried to change the object to Timestamp, but still no graph is shown:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.net.*" %>
<%@ page import="java.Math.*" %>
<%@ page import="java.Long.*" %>
<%@ page import="java.Double.*" %>
<%@ page import="java.Integer.*" %>
<%@ page import="com.google.gson.Gson"%>
<%@ page import="com.google.gson.JsonObject"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="java.sql.Timestamp"%>

<%

String fileName = "/WEB-INF/heapUsage/heapUsage_2019-06-18.txt";
InputStream ins = application.getResourceAsStream(fileName);
Gson gsonObj = new Gson();
Map<Object,Object> map = null;
List<Map<Object,Object>> list = new ArrayList<Map<Object,Object>>();
SimpleDateFormat format = new SimpleDateFormat("HH:mm");

try{
        if(ins == null){
                response.setStatus(response.SC_NOT_FOUND);
        }
        else
        {
                BufferedReader br = new BufferedReader((new InputStreamReader(ins)));
                String data;
                int i=0;
                while((data= br.readLine())!= null)
                {
                        String[] splittedString = data.split(" ");
                        Double doubleValue = Double.parseDouble(splittedString[4]);
                        doubleValue = doubleValue / 1024 ;
                        int valueint = (int) Math.round(doubleValue);
                        Date date = format.parse(splittedString[1]);
                    //    out.println("date:" +date);
                        Timestamp timestamp = new Timestamp(date.getTime());
                        map = new HashMap<Object,Object>(); map.put("x",timestamp); map.put("y",valueint ); list.add(map);
               //         out.println("timestamp" + timestamp + "  " + valueint +"<br>");
                        i++;
                }
        }
}
catch(IOException e){
        out.println(e.getMessage());
}

String dataPoints = gsonObj.toJson(list);
%>

<!DOCTYPE HTML>
<html>
<head>
<title>Ori - jsp to show heap usage graph</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
window.onload = function() {

var chart = new CanvasJS.Chart("chartContainer", {
        theme: "light1", // "light2", "dark1", "dark2"
        animationEnabled: true,
        zoomEnabled: true,
        title: {
                text: "Try Zooming and Panning"
        },
        axisX:{
            interval:10,
            intervalType: "minute",      
            valueFormatString: "HH:mm" ,
            labelAngle: -50
        },
        axisY: {
                title: "Heap Usage (in MB)",
                titleFontSize: 24,
                includeZero: false
        },      
        data: [{
                type: "line",
                yValueFormatString: "#,##0.0## MB",
                dataPoints: <%out.print(dataPoints);%>
        }]
});
chart.render();

}
</script>
</head>
<body>
<div id="chartContainer" style="height: 370px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>

the input file has those lines:
time 00:00 heap used 4328397.3
time 00:01 heap used 5508091.8
time 00:02 heap used 3746890.8
time 00:03 heap used 4563022.0
time 00:04 heap used 5473306.6
time 00:05 heap used 3969021.0
time 00:06 heap used 5197849.5
time 00:07 heap used 6038831.7
time 00:08 heap used 4405659.5
time 00:09 heap used 5208964.9
time 00:10 heap used 3764457.6
time 00:11 heap used 4978505.6
time 00:12 heap used 5749038.9

Thanks,
Ori