|
1 | 1 | format longG |
2 | 2 | clear all;close all; |
3 | | -stringCSV = 'LatenciesOverTime'; |
4 | | -dataID = '5'; |
| 3 | +stringCSV = 'ResponseCodesPerSecond'; |
| 4 | +dataID = '6'; |
5 | 5 | bytesDevider=1000000; |
6 | 6 | bytesDevider=1; |
7 | 7 | data = readtable(strcat('/Users/mymac/Documents/SCRIPTSHEET/SKRIPSI/data_jmeter/',dataID,'/', stringCSV,'.csv'), 'ReadVariableNames', false, 'HeaderLines', 1); |
|
29 | 29 | % legend_base_name = 'Worker-'; |
30 | 30 | legend_base_name = 'HTTP Request-'; |
31 | 31 |
|
32 | | -set(gca, 'YScale', 'log') |
| 32 | +% set(gca, 'YScale', 'log') |
33 | 33 |
|
34 | 34 | % kalo ini format number dalam menit elapsed time |
35 | 35 | x = (datenum(datestr(data{:,1}, 'yyyy-mm-dd hh:MM:ss.fff')) - datenum(datestr(data{1,1}, 'yyyy-mm-dd hh:MM:ss.fff'))) * 100000/60; |
|
44 | 44 | end |
45 | 45 |
|
46 | 46 | for i=1:size(data,2)-1 |
47 | | - if(size(data,2) <= 2) |
| 47 | + if(size(data,2) < 2) |
48 | 48 | % ini untuk khusus yang 1 kolom saja |
49 | 49 | scatter(x,data{:,i+1},strcat(colors{color_counter},markers{marker_counter}),'DisplayName',strcat(legend_base_name,sprintf('%.0f',i))); |
50 | 50 | else |
51 | 51 | if(strcmp(stringCSV, 'BytesThroughputOverTime') || strcmp(stringCSV,'ResponseCodesPerSecond') || strcmp(stringCSV,'TransactionsPerSecond')) |
52 | 52 | marker_size = 12; |
53 | 53 | markers = {'.'}; |
54 | | - colors = {'r','b','g','m'}; |
| 54 | +% colors = {'b','r'}; |
| 55 | +% colors = {'r','b',[0 0.7 0],'m'}; |
| 56 | + colors = {'r','b',[0 0.7 0],'m','cyan','k',[0.1 0.6 0.6]}; |
| 57 | +% colors = {'r','b','k','m'}; |
| 58 | +% colors = {'k','r','b','c','m',[0 0.7 0]}; |
55 | 59 | ylabel(ylabels,'FontSize',14); |
56 | | - plot(x,data{:,i+1}/bytesDevider,strcat(colors{color_counter},markers{marker_counter}),'MarkerSize',marker_size); |
| 60 | + plt(i) = plot(x,data{:,i+1}/bytesDevider,strcat(markers{marker_counter}),'MarkerSize',marker_size,'Color',colors{color_counter}); |
57 | 61 | else |
58 | 62 |
|
59 | 63 |
|
60 | 64 | % markers = {''}; |
61 | 65 | % lines = {'--','-.','-'}; |
62 | | -% plot(x,data{:,i+1},strcat(lines{line_counter},strcat(colors{color_counter},markers{marker_counter})),'MarkerSize',marker_size,'LineWidth',line_width,'DisplayName',strcat(legend_base_name,sprintf('%.0f',i))); |
| 66 | + plot(x,data{:,i+1},strcat(lines{line_counter},strcat(colors{color_counter},markers{marker_counter})),'MarkerSize',marker_size,'LineWidth',line_width,'DisplayName',strcat(legend_base_name,sprintf('%.0f',i))); |
63 | 67 |
|
64 | 68 | % UNTUK MQTT YANG DATA RANGE JAUH |
65 | | -marker_size = 8; |
66 | | - markers = {'.'}; |
67 | | - colors = {'r',[0 0.7 0],'b'}; |
68 | | - plot(x,data{:,i+1},markers{marker_counter},'MarkerSize',marker_size,'Color',colors{color_counter}); |
| 69 | +% marker_size = 8; |
| 70 | +% markers = {'.'}; |
| 71 | +% colors = {'r',[0 0.7 0],'b'}; |
| 72 | +% plot(x,data{:,i+1},markers{marker_counter},'MarkerSize',marker_size,'Color',colors{color_counter}); |
69 | 73 | end |
70 | 74 | end |
71 | 75 |
|
|
95 | 99 |
|
96 | 100 | ax = gca; |
97 | 101 | ax.YAxis.Exponent = 0; |
| 102 | +ax.YAxis.TickLabelFormat = '%.0f'; |
98 | 103 | ax.GridLineStyle = ':'; |
99 | 104 | ax.GridAlpha = 0.3; |
100 | 105 | ax.LineWidth = 0.9; |
101 | 106 | set(gca,'FontSize',16); |
102 | 107 |
|
103 | 108 |
|
104 | 109 | if(strcmp(stringCSV, 'BytesThroughputOverTime') || strcmp(stringCSV,'ResponseCodesPerSecond') || strcmp(stringCSV,'TransactionsPerSecond')) |
105 | | - legend('Bytes received per second','Bytes sent per second'); |
| 110 | +% legend('Bytes received per second','Bytes sent per second'); |
106 | 111 | % legend('HTTP failure','HTTP success'); |
107 | | -% legend('200 OK','502 Bad Gateway','504 Gateway Timeout','Non HTTP Timeout'); |
| 112 | + legend('200 OK','502 Bad Gateway','504 Gateway Timeout','Non HTTP Timeout: java','Non HTTP Timeout: socket','Non HTTP Timeout','timeout'); |
| 113 | +% legend('200 OK','500 Internal Server Error','501 Not Implemented','502 Bad Gateway'); |
| 114 | +% legend('MQTT Connect (failure)','MQTT Connect (success)','MQTT Disconnect (failure)','MQTT Disconnect (success)','MQTT Publish (failure)','MQTT Publish (success)','box','on'); |
| 115 | +% gridLegend(plt,1,'location','north'); |
| 116 | +% columnlegend(2,{'MQTT Connect (failure)','MQTT Connect (success)','MQTT Disconnect (failure)','MQTT Disconnect (success)','MQTT Publish (failure)','MQTT Publish (success)'},'Location','north'); |
| 117 | + |
108 | 118 | end |
109 | | -legend('MQTT Connect','MQTT Disconnect','MQTT Publish'); |
| 119 | +% legend('MQTT Connect','MQTT Disconnect','MQTT Publish'); |
110 | 120 | legend('show'); |
111 | 121 | lgd = legend; |
112 | | -%lgd.FontSize=10; |
113 | | -% lgd.Location = 'northWest'; |
| 122 | + |
| 123 | +% lgd.FontSize=7; |
| 124 | +% lgd.Orientation='Horizontal'; |
| 125 | +lgd.Location = 'northwest'; |
114 | 126 | % lgd.Location = 'south'; |
115 | 127 | set(gcf,'Units','Inches'); |
116 | 128 |
|
117 | | -% title({'Threads State over Time (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
118 | | -% title({'','HTTP Response Times over Time (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
119 | | -%title({'HTTP Latencies over Time (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 129 | +% title({'Threads State over Time (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 130 | +% title({'HTTP Response Times over Time (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 131 | +% title({'HTTP Latencies over Time (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
120 | 132 |
|
121 | | -% title({'Threads State over Time (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
122 | | -% title({'MQTT Response Times over Time (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
123 | | -title({'MQTT Latencies over Time (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 133 | +% title({'Threads State over Time (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 134 | +% title({'MQTT Response Times over Time (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 135 | +% title({'MQTT Latencies over Time (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
124 | 136 |
|
125 | | -% title({'Response Times Percentile (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
126 | | -% title({'Transactions per second (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
127 | | -% title({'Bytes Throughput over Time (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',15); |
128 | | -%title({'Response Codes per second (50K Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 137 | +% title({'Response Times Percentile (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 138 | +% title({'Transactions per second (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
| 139 | +% title({'Bytes Throughput over Time (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',15); |
| 140 | +title({'Response Codes per second (1M Threads)','Instance Type (m5.xlarge/m5a.xlarge)'},'FontSize',14); |
129 | 141 |
|
130 | 142 | xlabel('Elapsed time (minutes), Granulation: 500 ms','FontSize',15); |
131 | 143 | % xlabel('Percentiles (%)','FontSize',15); |
132 | | -ylabel({ylabelslat},'FontSize',15); |
| 144 | +ylabel({ylabelsrescode},'FontSize',15); |
133 | 145 | pos = get(gcf,'Position'); |
134 | 146 | set(findall(gcf,'-property','FontName'),'FontName','Times New Roman'); |
135 | 147 | set(gcf,'PaperPositionMode','Auto','PaperUnits','Inches','PaperSize',[pos(3), pos(4)]); |
|
0 commit comments