52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
google.charts.load('current', { 'packages': ['corechart'] });
|
|
google.charts.setOnLoadCallback(drawChart);
|
|
|
|
function drawChart() {
|
|
var data = new google.visualization.DataTable();
|
|
data.addColumn('string', 'Year');
|
|
data.addColumn('number', 'Requests');
|
|
|
|
var options = {
|
|
title: 'The number of requests from different protocols',
|
|
isStacked: true,
|
|
vAxis: {
|
|
minValue: 0,
|
|
maxValue: 200
|
|
},
|
|
backgroundColor: '#0c212b',
|
|
tooltip: { trigger: 'none' },
|
|
colors: ['#1D86C7'],
|
|
legend: { position: "none" }
|
|
};
|
|
|
|
var chart = new google.visualization.ColumnChart(document.getElementById('StackedColumnsChart'));
|
|
|
|
// Update chart data every 2 seconds
|
|
setInterval(function() {
|
|
var newData = generateRandomData();
|
|
data = google.visualization.arrayToDataTable(newData);
|
|
chart.draw(data, options);
|
|
}, 2000);
|
|
}
|
|
|
|
function generateRandomData() {
|
|
var newData = [
|
|
['Year', 'Requests'],
|
|
['TCP/IP', generateRandomNumber()],
|
|
['HTTP', generateRandomNumber()],
|
|
['HTTPS', generateRandomNumber()],
|
|
['FTP', generateRandomNumber()],
|
|
['SMTP', generateRandomNumber()],
|
|
['POP3', generateRandomNumber()],
|
|
['IMAP', generateRandomNumber()],
|
|
['DNS', generateRandomNumber()],
|
|
['DHCP', generateRandomNumber()],
|
|
['SSH', generateRandomNumber()]
|
|
];
|
|
return newData;
|
|
}
|
|
|
|
function generateRandomNumber() {
|
|
return Math.floor(Math.random() * 21); // Generating a random number between 0 and 500
|
|
}
|