From b00c5efc0f5782de50015a0210ef1547b51ed55d Mon Sep 17 00:00:00 2001 From: Dimitrios Panteleimon Giakatos <36899728+dpgiakatos@users.noreply.github.com> Date: Mon, 22 Apr 2024 09:28:08 +0900 Subject: [PATCH 1/3] Ioda chart change yaxis range from 0 to 100% (#787) --- package.json | 2 +- src/plugins/layouts/layoutsChart.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7cdf0e8b..ff0d35f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ihr-website", - "version": "1.3.2", + "version": "1.3.3", "private": true, "type": "module", "scripts": { diff --git a/src/plugins/layouts/layoutsChart.js b/src/plugins/layouts/layoutsChart.js index c5afd918..b305f3d4 100644 --- a/src/plugins/layouts/layoutsChart.js +++ b/src/plugins/layouts/layoutsChart.js @@ -106,7 +106,7 @@ var IODA_ALARMS_SPECIFIC_ENTRY_TIMESERIES_LAYOUT = { ...COMMON_WITH_LEGEND, title: '', xaxis: { title: '', autorange: true }, - yaxis: { ticksuffix: '%', autoragne: true }, + yaxis: { ticksuffix: '%', range: [0, 100] }, margin: { t: 10, b: 40, l: 80, r: 80 }, } From bc34f479cd1c781aec4851d48dd13e3c1eac3fb1 Mon Sep 17 00:00:00 2001 From: 0xAnon0602 Date: Tue, 30 Apr 2024 06:28:56 +0530 Subject: [PATCH 2/3] no-data and network-unreachable filter added (#788) --- .../charts/AsInterdependenciesChart.vue | 84 +++++++++++++++++-- 1 file changed, 78 insertions(+), 6 deletions(-) diff --git a/src/components/charts/AsInterdependenciesChart.vue b/src/components/charts/AsInterdependenciesChart.vue index b8f9998a..9561a13f 100644 --- a/src/components/charts/AsInterdependenciesChart.vue +++ b/src/components/charts/AsInterdependenciesChart.vue @@ -77,6 +77,7 @@ const details = ref({ const loadingHegemony = ref(true) const loadingHegemonyCone = ref(true) const hegemonyFilter = ref(null) +const hegemonyTier1Filter = ref(null) const hegemonyConeFilter = ref(null) const traces = ref(DEFAULT_TRACE) const layout = ref(AS_INTERDEPENDENCIES_LAYOUT) @@ -84,6 +85,7 @@ const loadingNeighbours = ref(true) const neighbours = ref([]) const loading = ref(true) const noData = ref('') +const noDataError = ref(true) const route = useRoute() const router = useRouter() @@ -101,6 +103,15 @@ const makeHegemonyFilter = () => { .orderedByTime() } +const makeHegemonyTier1Filter = () => { + return new HegemonyQuery() + .originAs(0) + .asNumber([174,1299]) + .addressFamily(props.addressFamily) + .timeInterval(props.startTime, props.endTime) + .orderedByTime() +} + const makeHegemonyConeFilter = () => { return new HegemonyConeQuery() .asNumber(props.asNumber) @@ -109,17 +120,19 @@ const makeHegemonyConeFilter = () => { .orderedByTime() } -const apiCall = () => { +const apiCall = async() => { if (props.asNumber == 0) { return } updateAxesLabel() hegemonyFilter.value = makeHegemonyFilter() + hegemonyTier1Filter.value = makeHegemonyTier1Filter() hegemonyConeFilter.value = makeHegemonyConeFilter() traces.value = extend(true, [], DEFAULT_TRACE) loading.value = true loadingHegemony.value = true loadingHegemonyCone.value = true + await queryHegemonyTier1API() queryHegemonyAPI() queryHegemonyConeAPI() @@ -262,6 +275,26 @@ const queryHegemonyAPI = () => { ) } +const queryHegemonyTier1API = async() => { + +try { + const result = await new Promise((resolve, reject) => { + ihr_api.hegemony( + hegemonyTier1Filter.value, + result => { + resolve(result); + }, + error => { + reject(error); + } + ); + }); + if(result.results.length > 0) noDataError.value = false + } catch (error) { + console.error(error); //FIXME do a correct alert + } +} + const queryHegemonyConeAPI = () => { loadingHegemonyCone.value = true ihr_api.hegemony_cone( @@ -283,15 +316,26 @@ const fetchHegemony = (data) => { let anotherAsn let minX, maxX - if (data.length == 0) { + if (noDataError.value){ traces.value = extend(true, [], DEFAULT_TRACE) layout.value.annotations = [ { - x: 0.45, - y: 0.23, + x: 0.5, + y: 0.25, xref: 'paper', yref: 'paper', - text: 'Network is unreachable', + text: 'No Data Available', + showarrow: false, + font: { + size: 22, + }, + }, + { + x: 0.5, + y: 0.75, + xref: 'paper', + yref: 'paper', + text: 'No Data Available', showarrow: false, font: { size: 22, @@ -299,7 +343,35 @@ const fetchHegemony = (data) => { }, ] return - } else { + } + else if (data.length == 0) { + traces.value = extend(true, [], DEFAULT_TRACE) + layout.value.annotations = [ + { + x: 0.5, + y: 0.25, + xref: 'paper', + yref: 'paper', + text: 'Network is Unreachable', + showarrow: false, + font: { + size: 22, + }, + }, + { + x: 0.5, + y: 0.75, + xref: 'paper', + yref: 'paper', + text: 'Network is Unreachable', + showarrow: false, + font: { + size: 22, + }, + }, + ] + return + } else if (data.length > 0) { let noDependency = false data.forEach(elem => { if (elem.originasn == 0) { From 7f9d89e2743a19192e9dcbadc7bec043d75db03a Mon Sep 17 00:00:00 2001 From: Dimitrios Panteleimon Giakatos <36899728+dpgiakatos@users.noreply.github.com> Date: Tue, 30 Apr 2024 12:37:01 +0900 Subject: [PATCH 3/3] Change line style for direct connected AS (#789) --- src/components/charts/AsInterdependenciesChart.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/charts/AsInterdependenciesChart.vue b/src/components/charts/AsInterdependenciesChart.vue index 9561a13f..9b3e01fd 100644 --- a/src/components/charts/AsInterdependenciesChart.vue +++ b/src/components/charts/AsInterdependenciesChart.vue @@ -422,7 +422,9 @@ const fetchHegemony = (data) => { '', connectgaps: false, } - + if (elem.hege === 1) { + trace.name = trace.name + ' (direct)' + } tracesLocal[elem.asn] = trace traces.value.push(trace) }