web_defender/static/ddos/js/StackedColumnsChart.js
2024-12-09 13:43:16 +05:30

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
}