Skip to content

Commit

Permalink
Merge pull request #5 from catscarlet/dev
Browse files Browse the repository at this point in the history
 Prepare v0.4.0.
  • Loading branch information
catscarlet committed Jul 3, 2019
2 parents c6155b1 + 4e5fe1f commit eda7526
Show file tree
Hide file tree
Showing 14 changed files with 199 additions and 56 deletions.
Binary file modified snap-chart.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified snap-table.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 4 additions & 3 deletions vue-app/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
{
"name": "Web-Log-Analyzer-IceFairy",
"version": "0.3.0",
"description": "A Vue.js project",
"version": "0.4.0",
"description": "A Client-Only web log analyzing tool.",
"author": "Catscarlet <i@catscarlet.com>",
"private": true,
"homepage": "https://github.com/catscarlet/Web-Log-Analyzer-IceFairy",
"license" : "MPL-2.0",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build"
Expand Down
37 changes: 16 additions & 21 deletions vue-app/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,9 @@
</label>

<el-button type="primary" size="mini" @click="prepareAnalyze">Start Analyzing</el-button>
<!--<el-button type="primary" size="mini" @click="testFile">testFile</el-button>-->
<!--<el-button type="primary" size="mini" @click="debug1" :disabled="true">console.log analyzed_data</el-button>-->
<el-button type="warning" size="mini" @click="cleanAnalyzedData" :disabled="disable_clean_button">Clean Analyzed Data</el-button>
<el-button type="warning" size="mini" @click="reset">Reset</el-button>

<!--
<el-button size="mini" type="primary">primary</el-button>
<el-button size="mini" type="success">success</el-button>
<el-button size="mini" type="info">info</el-button>
<el-button size="mini" type="warning">warning</el-button>
<el-button size="mini" type="danger">danger</el-button>
-->

<!--{{ analyzed_status }}-->
</el-row>

<div class="number-per-page">
Expand Down Expand Up @@ -81,12 +70,12 @@
<el-submenu index="1">
<template slot="title"><span><i class="el-icon-time"></i>Traffic</span></template>
<el-menu-item-group>
<el-menu-item index="/ChartDataTraffic" :disabled="disable_menu">
- ChartDataTraffic
</el-menu-item>
<el-menu-item index="/ChartDataTimes" :disabled="disable_menu">
- ChartDataTimes
</el-menu-item>
<el-menu-item index="/ChartDataTraffic" :disabled="disable_menu">
- ChartDataTraffic
</el-menu-item>
</el-menu-item-group>
</el-submenu>

Expand Down Expand Up @@ -135,11 +124,17 @@
<el-submenu index="5">
<template slot="title"><i class="el-icon-document"></i>Referrer</template>
<el-menu-item-group>
<el-menu-item index="/TopReferrerDomain" :disabled="disable_menu">
- TopReferrerDomain
<el-menu-item index="/TopReferrerDomainTimes" :disabled="disable_menu">
- TopReferrerDomainTimes
</el-menu-item>
<el-menu-item index="/TopReferrerDomainTraffice" :disabled="disable_menu">
- TopReferrerDomainTraffice
</el-menu-item>
<el-menu-item index="/TopReferrerUrl" :disabled="disable_menu">
- TopReferrerUrl
<el-menu-item index="/TopReferrerUrlTimes" :disabled="disable_menu">
- TopReferrerUrlTimes
</el-menu-item>
<el-menu-item index="/TopReferrerUrlTraffic" :disabled="disable_menu">
- TopReferrerUrlTraffic
</el-menu-item>
</el-menu-item-group>
</el-submenu>
Expand Down Expand Up @@ -262,8 +257,8 @@ export default {
console.log('analyzed_data has been saved into:window.localStorage AnalyzedDataStorage');
this.analyzed_status = 3;
if (this.$router.currentRoute.path != '/ChartDataTraffic') {
this.$router.push({path: '/ChartDataTraffic'});
if (this.$router.currentRoute.path != '/ChartDataTimes') {
this.$router.push({path: '/ChartDataTimes'});
} else {
this.$router.go(0);
}
Expand All @@ -275,7 +270,7 @@ export default {
checkAnalyzedData() {
if (!window.localStorage.getItem('AnalyzedDataStorage')) {
this.analyzed_status = 0;
}else {
} else {
this.analyzed_status = 4;
};
},
Expand Down
21 changes: 21 additions & 0 deletions vue-app/src/common/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ export const WebLogAnalyzer = (reader_result) => {

let chart_data_traffic = {};
let chart_data_time = {};
let total_data_time = 0;
let total_data_traffic = 0;

for (let d = new Date(first_day.getTime()); dateobj2YYYYMM(d) <= dateobj2YYYYMM(last_day); d.setDate(d.getDate() + 1)) {
let index = dateobj2YYYYMM(d);
Expand All @@ -83,6 +85,8 @@ export const WebLogAnalyzer = (reader_result) => {
let top_withparam_page_times_obj = {};
let top_referrer_domain_times_obj = {};
let top_referrer_page_times_obj = {};
let top_referrer_domain_traffic_obj = {};
let top_referrer_page_traffic_obj = {};
let top_urlnoparam_page_traffic_obj = {};
let top_withparam_page_traffic_obj = {};

Expand All @@ -96,10 +100,14 @@ export const WebLogAnalyzer = (reader_result) => {
top_withparam_page_traffic_obj = prepareTopData(line, top_withparam_page_traffic_obj, 'url', 'byte');
top_referrer_domain_times_obj = prepareTopData(line, top_referrer_domain_times_obj, 'referrerdomain');
top_referrer_page_times_obj = prepareTopData(line, top_referrer_page_times_obj, 'referrer');
top_referrer_domain_traffic_obj = prepareTopData(line, top_referrer_domain_traffic_obj, 'referrerdomain', 'byte');
top_referrer_page_traffic_obj = prepareTopData(line, top_referrer_page_traffic_obj, 'referrer', 'byte');
chart_data_traffic = prepareChartData(line, chart_data_traffic, 'byte');
chart_data_time = prepareChartData(line, chart_data_time);
status_traffic = prepareTopData(line, status_traffic, 'status', 'byte');
status_times = prepareTopData(line, status_times, 'status');
total_data_time++;
total_data_traffic = prepareTraffic(line, total_data_traffic);
}
//post
let top_ip_times_array = obj2arr(top_ip_times_obj);
Expand All @@ -112,6 +120,8 @@ export const WebLogAnalyzer = (reader_result) => {

let top_referrer_domain_times_array = obj2arr(top_referrer_domain_times_obj);
let top_referrer_page_times_array = obj2arr(top_referrer_page_times_obj);
let top_referrer_domain_traffic_array = obj2arr(top_referrer_domain_traffic_obj);
let top_referrer_page_traffic_array = obj2arr(top_referrer_page_traffic_obj);

let analyzed_data = {
'top_ip_times_array': top_ip_times_array,
Expand All @@ -120,8 +130,12 @@ export const WebLogAnalyzer = (reader_result) => {
'top_withparam_page_times_array': top_withparam_page_times_array,
'top_referrer_domain_times_array': top_referrer_domain_times_array,
'top_referrer_page_times_array': top_referrer_page_times_array,
'top_referrer_domain_traffic_array': top_referrer_domain_traffic_array,
'top_referrer_page_traffic_array': top_referrer_page_traffic_array,
'chart_data_traffic': chart_data_traffic,
'chart_data_time': chart_data_time,
'total_data_time': total_data_time,
'total_data_traffic': total_data_traffic,
'status_traffic': status_traffic,
'status_times': status_times,
'top_urlnoparam_page_traffic_array': top_urlnoparam_page_traffic_array,
Expand Down Expand Up @@ -156,6 +170,7 @@ export const WebLogAnalyzer = (reader_result) => {
function prepareChartData(line, obj, value) {
let time_obj = new Date(line.time);
let day = dateobj2YYYYMM(time_obj);

if (value === undefined) {
obj[day] = obj[day] + 1;
} else {
Expand All @@ -165,6 +180,12 @@ export const WebLogAnalyzer = (reader_result) => {
return obj;
}

function prepareTraffic(line, obj) {
obj = obj + line.byte;

return obj;
}

function obj2arr(obj) {
let result = [];
for (let id in obj) {
Expand Down
23 changes: 6 additions & 17 deletions vue-app/src/components/ChartDataTimes.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,11 @@

<div class="panel-header">
<span>ChartDataTime</span>
<span>Total: {{ total_data_time }}</span>

<div class="page-button">
<!--
<el-button type="primary" size="mini" @click="test">test</el-button>
-->
<el-button-group>
</el-button-group>

</div>
</div>

Expand All @@ -34,6 +31,7 @@ export default {
items: [],
list: [],
chart_data: {},
total_data_time: 0,
};
},
components: {
Expand All @@ -42,6 +40,8 @@ export default {
methods: {
initPage() {
this.items = this.analyzed_data.chart_data_time,
this.total_data_time = this.analyzed_data.total_data_time;
this.showChart();
},
showChart() {
Expand All @@ -59,7 +59,6 @@ export default {
}
let label = 'ChartDataTimes';
let chart_data = {
labels: labels,
datasets: [
{
Expand All @@ -72,12 +71,6 @@ export default {
console.log(chart_data);
this.chart_data = chart_data;
},
/*
test() {
console.log(this.items);
console.log(this.chart_data);
},
*/
},
beforeMount() {
this.initPage();
Expand All @@ -93,6 +86,8 @@ export default {
.panel-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 2px;
}
.panel-title {
Expand All @@ -113,10 +108,4 @@ export default {
.chart1 {
height: calc(100vh - 168px);
}
.chart2 {
position: relative;
width: 100%;
height: 100%;
}
</style>
11 changes: 6 additions & 5 deletions vue-app/src/components/ChartDataTraffic.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,11 @@

<div class="panel-header">
<span>ChartDataTraffic</span>
<span>Total: {{ total_data_traffic }} Byte</span>

<div class="page-button">
<!--
<el-button type="primary" size="mini" @click="test">test</el-button>
-->
<el-button-group>
</el-button-group>

</div>
</div>

Expand All @@ -35,14 +32,16 @@ export default {
items: [],
list: [],
chart_data: {},
total_data_traffic: 0,
};
},
components: {
LineChart,
},
methods: {
initPage() {
this.items = this.analyzed_data.chart_data_traffic,
this.items = this.analyzed_data.chart_data_traffic;
this.total_data_traffic = toThousands(this.analyzed_data.total_data_traffic);
this.showChart();
},
Expand Down Expand Up @@ -88,6 +87,8 @@ export default {
.panel-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 2px;
}
.panel-title {
Expand Down
2 changes: 1 addition & 1 deletion vue-app/src/components/TopIPTraffic.vue
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export default {
},
methods: {
initPage() {
console.log('TopIPTimes initPage');
console.log('TopIPTraffic initPage');
this.top_ip_traffic_array = this.analyzed_data.top_ip_traffic_array;
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export default {
analyzed_data: GlobalGetAnalyzedData(),
top_referrer_domain_times_array: [],
array_description: {
data_name: 'TopReferrerDomain List',
data_name: 'TopReferrerDomainTimes List',
id_name: 'Domain',
unit_name: 'Times',
},
Expand All @@ -32,7 +32,7 @@ export default {
},
methods: {
initPage() {
console.log('TopIPTimes initPage');
console.log('TopReferrerDomainTimes initPage');
this.top_referrer_domain_times_array = this.analyzed_data.top_referrer_domain_times_array;
},
},
Expand Down
52 changes: 52 additions & 0 deletions vue-app/src/components/TopReferrerDomainTraffice.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<template>
<div>

<div class="data-table-div">
<data-table :import_data="top_referrer_domain_traffic_array" :array_description="array_description"></data-table>
</div>

</div>
</template>

<script>
import {GlobalGetAnalyzedData} from '../common/';
import DataTable from '../subcomponents/DataTable.vue';
export default {
props: [
],
data() {
return {
analyzed_data: GlobalGetAnalyzedData(),
top_referrer_domain_traffic_array: [],
array_description: {
data_name: 'TopReferrerDomainTraffice List',
id_name: 'Domain',
unit_name: 'Bytes',
},
import_data: [],
};
},
components: {
DataTable,
},
methods: {
initPage() {
console.log('TopReferrerDomainTraffice initPage');
this.top_referrer_domain_traffic_array = this.analyzed_data.top_referrer_domain_traffic_array;
},
},
beforeMount() {
this.initPage();
},
mounted() {
},
watch: {
},
};
</script>

<style>
.data-table-div {
}
</style>
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export default {
analyzed_data: GlobalGetAnalyzedData(),
top_referrer_page_times_array: [],
array_description: {
data_name: 'TopReferrerUrl List',
data_name: 'TopReferrerUrlTimes List',
id_name: 'Url',
unit_name: 'Times',
},
Expand All @@ -32,7 +32,7 @@ export default {
},
methods: {
initPage() {
console.log('TopReferrerUrl initPage');
console.log('TopReferrerUrlTimes initPage');
this.top_referrer_page_times_array = this.analyzed_data.top_referrer_page_times_array;
let tmp = [];
for (let item of this.analyzed_data.top_referrer_page_times_array) {
Expand Down

0 comments on commit eda7526

Please sign in to comment.