Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better handling of endpoints deployed into elastic scale environments #2019

Merged
merged 102 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
bb2665b
always display logical endpoints and show how many instances total
PhilBastian Aug 15, 2024
fcd59a2
enable link to future instances screen on active endpoints screen
PhilBastian Aug 16, 2024
6530cce
enable link to future instances screen on inactive endpoints screen
PhilBastian Aug 16, 2024
c5f3f70
initial heartbeat instance screen
PhilBastian Aug 16, 2024
913e154
remove display type
PhilBastian Aug 16, 2024
2b667cb
remove superfluous text
PhilBastian Aug 16, 2024
56a4884
separate instance sort and filter from endpoint sort and filter
PhilBastian Aug 16, 2024
87951fc
separate endpoint sort/filter from instance sort/filter
PhilBastian Aug 16, 2024
a662ca0
include total instance count and fix references
PhilBastian Aug 16, 2024
e539c4c
Separate instances from logical UI changes
johnsimons Aug 21, 2024
084991e
Using Tippy instead
johnsimons Aug 21, 2024
d9f1b03
small adjustments to layout
johnsimons Aug 21, 2024
04c95fa
Added tooltip to actions
johnsimons Aug 22, 2024
9c39325
Added extra note to tooltip
johnsimons Aug 22, 2024
9bd1e15
no tooltip
johnsimons Aug 22, 2024
3ebd8b1
sort by date
johnsimons Aug 22, 2024
2fd0a32
We no longer use the stats endpoint
johnsimons Aug 22, 2024
07ea42c
starting changes on configuration screen
johnsimons Aug 23, 2024
4612a14
Hooked up the configuration
johnsimons Aug 24, 2024
b5c65b4
Fixed issue with track/no track
johnsimons Sep 2, 2024
8a19cd9
Remove link from inactive non tracked endpoints
johnsimons Sep 3, 2024
4736eee
Separate types
johnsimons Sep 3, 2024
811f348
Remove dead instances for untracked endpoints
johnsimons Sep 4, 2024
79c62db
Rename inactive/active to unhealthy/healthy
johnsimons Sep 4, 2024
88c67bf
assign id to logical endpoint
PhilBastian Sep 3, 2024
41ddc4d
fix grammar and remove default toggle link
PhilBastian Sep 3, 2024
29df7a0
show saving toast
PhilBastian Sep 3, 2024
a97236f
Remove warning
johnsimons Sep 4, 2024
f70a3a0
use onoffswitch for default tracking selection
PhilBastian Sep 4, 2024
5d9f481
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 4, 2024
143a3e1
Allow navigation to empty instances
johnsimons Sep 4, 2024
cbfcdf0
Removed extra unnecessary html
johnsimons Sep 4, 2024
75b4091
rename active->healthy for endpoint list components
PhilBastian Sep 4, 2024
f3134b8
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 4, 2024
9f94a4d
Navigate back to previous tab
johnsimons Sep 4, 2024
2fab297
Adding tests to HeartbeatsInstanceStore
johnsimons Sep 5, 2024
8038c3a
convert unhealthy endpoints to sortable grid
PhilBastian Sep 4, 2024
cc2afe3
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 5, 2024
3a04d81
Make filter text a search type
johnsimons Sep 5, 2024
371a5f9
table alignment and readability
PhilBastian Sep 5, 2024
97909fd
remove extra icons/tooltip
PhilBastian Sep 5, 2024
3b45cfd
align column header text at bottom of available space
PhilBastian Sep 5, 2024
fe5f564
fix endpoint name overflow
PhilBastian Sep 5, 2024
525c3e2
style fix
PhilBastian Sep 5, 2024
f1ef134
convert healthy endpoints to sortable grid
PhilBastian Sep 5, 2024
173c4c4
convert heartbeat configuration to sortable grid
PhilBastian Sep 5, 2024
716f5f2
fix filtering on heartbeats config
PhilBastian Sep 5, 2024
f2d8a40
Adding tests for HeartbeatsStore
johnsimons Sep 5, 2024
4a7a967
fix instance sorting on healthy and configuration heartbeats screens …
PhilBastian Sep 5, 2024
a814a59
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 5, 2024
177c703
fix test reference
PhilBastian Sep 5, 2024
772cbc1
create data view for externally refreshed data and apply to unhealthy…
PhilBastian Sep 6, 2024
c7c2252
extract common heartbeatslist component and apply to all heartbeat li…
PhilBastian Sep 6, 2024
1bed8ee
add paging to endpoint instances screen
PhilBastian Sep 6, 2024
a644e67
Adding bulk operation to instances screen
johnsimons Sep 6, 2024
f7c44fd
move mute toggle to separate column
PhilBastian Sep 6, 2024
62ac4e5
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 6, 2024
457ea35
Adding search result counters
johnsimons Sep 6, 2024
9641718
sizing tweak to better fit content
PhilBastian Sep 6, 2024
86a6afe
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 6, 2024
c42174b
change onoffswitch to take a value instead of a model, and change end…
PhilBastian Sep 6, 2024
c988b88
add bulk to configuration screen
johnsimons Sep 6, 2024
e798af3
store itemsPerPage between subtabs
PhilBastian Sep 6, 2024
af2513b
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 6, 2024
43228ec
fix route back button
PhilBastian Sep 6, 2024
ebedebd
update colour for buttons
johnsimons Sep 6, 2024
1328066
make bell black
johnsimons Sep 6, 2024
cbd8a6a
make bulk action buttons aligned with filter edit
PhilBastian Sep 6, 2024
d40c46c
use fontawesome icons from existing loaded set
PhilBastian Sep 6, 2024
37ade99
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 6, 2024
3a669a6
better icons
johnsimons Sep 9, 2024
d184c25
better tooltip
johnsimons Sep 9, 2024
dae0dd1
Add hack for safari
johnsimons Sep 9, 2024
6f3f0dd
Fix test
johnsimons Sep 9, 2024
6e5346d
Fix monitoring wrap
johnsimons Sep 9, 2024
bc773b9
don't treat muted instances as unhealthy
PhilBastian Sep 9, 2024
8f49200
make instance name heading clearer
PhilBastian Sep 9, 2024
535f7fc
include host name as part of endpoint name where appropriate
PhilBastian Sep 9, 2024
3a07643
Revert "include host name as part of endpoint name where appropriate"
PhilBastian Sep 9, 2024
00b0709
Ensure wrapping title
johnsimons Sep 9, 2024
90617bc
Muted instances on any logical are considered unhealty
johnsimons Sep 9, 2024
cc037fb
Display zero for untracked
johnsimons Sep 9, 2024
8d7489f
Fixing icon colour when button is disabled
johnsimons Sep 9, 2024
16e21e7
fix name no longer reflecting functionality
PhilBastian Sep 9, 2024
3728f47
More tests
johnsimons Sep 9, 2024
54d0e71
fix heartbeat alert number
PhilBastian Sep 9, 2024
ceda311
Fixing top counter for heartbeats
johnsimons Sep 10, 2024
89d7b91
Check whether setting is supported
johnsimons Sep 10, 2024
79cd4eb
Rename column to hostname
johnsimons Sep 10, 2024
cf8e7cc
Revert "Rename column to hostname"
johnsimons Sep 10, 2024
7668f5e
Display "no plugin installed"
johnsimons Sep 10, 2024
1d6279e
prevent store refresh while doing bulk save
PhilBastian Sep 10, 2024
8f3f4ae
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 10, 2024
faea2c2
rename column to host name
PhilBastian Sep 10, 2024
1b4a3a0
show muted count for non-tracked endpoints
PhilBastian Sep 10, 2024
8753390
Merge branch 'master' into elastic_scale
johnsimons Sep 10, 2024
7e2f01f
Use the correct minimum SC version
johnsimons Sep 10, 2024
eb86533
Better tooltip for no heartbeats data
johnsimons Sep 10, 2024
d79b570
Merge branch 'master' into elastic_scale
johnsimons Sep 10, 2024
bf60d21
changes from review
PhilBastian Sep 11, 2024
06ed82b
Merge branch 'elastic_scale' of https://github.com/Particular/Service…
PhilBastian Sep 11, 2024
df2b26f
further changes from code review
PhilBastian Sep 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions src/Frontend/src/components/FilterInput.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<script setup lang="ts">
const model = defineModel<string>({ required: true });
</script>

<template>
<div role="search" aria-label="filter" class="filter-input">
<input type="search" placeholder="Filter by name..." aria-label="filter by name" class="form-control-static filter-input" v-model="model" />
</div>
</template>

<style scoped>
.filter-input input {
display: inline-block;
width: 100%;
padding-right: 10px;
padding-left: 30px;
border: 1px solid #aaa;
border-radius: 4px;
height: 100%;
}

div.filter-input {
position: relative;
width: 280px;
height: 36px;
}

.filter-input:before {
font-family: "FontAwesome";
width: 1.43em;
content: "\f0b0";
color: #919e9e;
position: absolute;
top: calc(50% - 0.7em);
left: 0.75em;
}
</style>
15 changes: 1 addition & 14 deletions src/Frontend/src/components/OrderBy.vue
Original file line number Diff line number Diff line change
@@ -1,21 +1,8 @@
<script lang="ts">
export function getSortFunction<T>(selector: SortOptions<T>["selector"], dir: SortDirection) {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
if (!selector) return (firstElement: T, secondElement: T) => 0;
return (firstElement: T, secondElement: T) => {
if (dir === SortDirection.Ascending) {
return selector(firstElement) < selector(secondElement) ? -1 : 1;
} else {
return selector(firstElement) < selector(secondElement) ? 1 : -1;
}
};
}
</script>

<script setup generic="T" lang="ts">
import { onMounted, ref } from "vue";
import { useCookies } from "vue3-cookies";
import SortOptions, { SortDirection } from "@/resources/SortOptions";
import getSortFunction from "@/components/getSortFunction";

const emit = defineEmits<{
sortUpdated: [option: SortOptions<T>];
Expand Down
20 changes: 20 additions & 0 deletions src/Frontend/src/components/ResultsCount.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<script setup lang="ts">
defineProps<{
displayed: number;
total: number;
}>();
</script>

<template>
<div class="col format-showing-results">
<div>Showing {{ displayed }} of {{ total }} result(s)</div>
</div>
</template>

<style scoped>
.format-showing-results {
display: flex;
align-items: flex-end;
color: gray;
}
</style>
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ import LicenseExpired from "../../components/LicenseExpired.vue";
import ServiceControlNotAvailable from "../ServiceControlNotAvailable.vue";
import LastTenOperations from "../failedmessages/LastTenOperations.vue";
import MessageGroupList, { IMessageGroupList } from "../failedmessages/MessageGroupList.vue";
import OrderBy, { getSortFunction } from "@/components/OrderBy.vue";
import OrderBy from "@/components/OrderBy.vue";
import SortOptions, { SortDirection } from "@/resources/SortOptions";
import GroupOperation from "@/resources/GroupOperation";
import getSortFunction from "@/components/getSortFunction";

const selectedClassifier = ref<string>("");
const classifiers = ref<string[]>([]);
Expand Down
20 changes: 20 additions & 0 deletions src/Frontend/src/components/getSortFunction.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import type { GroupPropertyType } from "@/resources/SortOptions";
import { SortDirection } from "@/resources/SortOptions";

export default function getSortFunction<T>(selector: ((group: T) => GroupPropertyType) | undefined, dir: SortDirection) {
if (!selector) {
return () => 0;
}
const sortFunc = (firstElement: T, secondElement: T) => {
const x = selector(firstElement);
const y = selector(secondElement);
if (x > y) {
return 1;
} else if (x < y) {
return -1;
}
return 0;
};

return dir === SortDirection.Ascending ? sortFunc : (firstElement: T, secondElement: T) => -sortFunc(firstElement, secondElement);
}
45 changes: 0 additions & 45 deletions src/Frontend/src/components/heartbeats/ActiveEndpoints.vue

This file was deleted.

Loading