-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchartTopIPs.m
More file actions
56 lines (41 loc) · 1.46 KB
/
Copy pathchartTopIPs.m
File metadata and controls
56 lines (41 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
function [pageTopIPs, dayTopIPs, hourTopIPs] = chartTopIPs(topIPs, uniqIP, uniqPages, rawIPSum, rawTimedate)
% Top pages
pageNumber = size(uniqPages,2);
pagesTopIPs = zeros(size(topIPs,1) * pageNumber, 4);
for i=1:size(topIPs,1)
pageTopIPs((pageNumber * (i-1) + 1):(pageNumber*i), 1) = topIPs(i,1);
pageTopIPs((pageNumber * (i-1) + 1):(pageNumber*i), 2) = topIPs(i,2);
for j = 1:pageNumber
pageTopIPs(pageNumber * (i-1) + j, 3) = j;
pageTopIPs(pageNumber * (i-1) + j, 4) = exp(uniqPages(uniqIP == topIPs(i,2),j))-1;
end
end
% Requests by day / by hour for each class
n= size(topIPs, 1);
m =size(rawIPSum,1);
tmpData = zeros(m, 3 + n);
tmpData(:, 1) = rawTimedate(:,1);
tmpData(:, 2) = ceil((rawTimedate(:,1) - 1388534400)/(60*60*24));
tmpData(:, 3) = ceil((rawTimedate(:,1) - 1388534400 - tmpData(:, 2)*60*60*24)/(60*60));
for i = 1:m
if sum(topIPs(:,2) == rawIPSum(i)) > 0
tmpData(i,find(topIPs(:,2) == rawIPSum(i), 2) + 3) = 1;
end
end
listDays = unique(tmpData(:, 2));
m0 = size(listDays,1);
dayTopIPs = zeros(m0, 1 + n + 1);
dayTopIPs(:,1) = listDays;
for i = 1:m0
dayTopIPs(i,2:n+1) = sum(tmpData(tmpData(:,2) == listDays(i,1),4:n+3));
end
dayTopIPs(:,n+2) = sum(dayTopIPs(:,2:n+1),2);
listHours = unique(tmpData(:, 3));
m0 = size(listHours,1);
hourTopIPs = zeros(m0, 1 + n + 1);
hourTopIPs(:,1) = listHours;
for i = 1:m0
hourTopIPs(i,2:n+1) = sum(tmpData(tmpData(:,3) == listHours(i,1),4:n+3));
end
hourTopIPs(:,n+2) = sum(hourTopIPs(:,2:n+1),2);
end