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

61 lines
2.4 KiB
JavaScript

google.charts.load('current', { 'packages': ['bar'] });
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'MSSQL', 'LDAP', 'UDP', 'Portmap', 'NetBios', 'BENIGN', 'Syn', 'UDPLag'],
['0', 0, 0, 0, 0, 0, 0, 0, 0], // Initial values are 0
['1', 0, 0, 0, 0, 0, 0, 0, 0],
['2', 0, 0, 0, 0, 0, 0, 0, 0]
]);
var options = {
chart: {
title: 'Dynamically calculating the statistical distribution of attack vectors (normal distribution, skew distribution)',
},
vAxis: {
title: ' ',
viewWindow: {
min: 0,
max: 100
}
},
height:350,
hAxis: { title: ' ' },
backgroundColor: '#0c212b',
tooltip: { trigger: 'none' },
colors: ['#0CB0B0', '#3F69B0', '#0C7DB1', '#0CB079', '#7276B0']
};
var chart = new google.charts.Bar(document.getElementById('columnInThreeChart'));
function updateData() {
var deviceId = localStorage.getItem('deviceId');
// Check deviceId
if (deviceId === 'xAq9W1PO5rmAuuQ' || deviceId === 'wzI0R1JqWqV0Lyi') {
// Generate random data if deviceId matches
for (var i = 0; i < 3; i++) {
for (var j = 1; j < 9; j++) {
data.setValue(i, j, Math.floor(Math.random() * 10)); // Random value between 0 and 80
}
}
} else {
// Set data to 0 if deviceId does not match
for (var i = 0; i < 3; i++) {
for (var j = 1; j < 9; j++) {
data.setValue(i, j, 0);
}
}
}
// Draw chart
chart.draw(data, google.charts.Bar.convertOptions(options));
}
// Initial draw
updateData();
// Update data every 2 seconds
setInterval(updateData, 2000);
}