feat: utilities - telemetry
This commit is contained in:
@@ -15,35 +15,35 @@
|
||||
v-list-tile-avatar: v-icon info_outline
|
||||
v-list-tile-content
|
||||
v-list-tile-title.body-1 Version of Wiki.js installed
|
||||
v-list-tile-subtitle.caption: em e.g. v2.0.123
|
||||
v-list-tile-sub-title.caption: em e.g. v2.0.123
|
||||
v-list-tile
|
||||
v-list-tile-avatar: v-icon info_outline
|
||||
v-list-tile-content
|
||||
v-list-tile-title.body-1 Basic OS information
|
||||
v-list-tile-subtitle.caption: em Platform (Linux, macOS or Windows), Total CPU cores and DB type (PostgreSQL, MySQL, MariaDB, SQLite or SQL Server)
|
||||
v-list-tile-sub-title.caption: em Platform (Linux, macOS or Windows), Total CPU cores and DB type (PostgreSQL, MySQL, MariaDB, SQLite or SQL Server)
|
||||
v-list-tile
|
||||
v-list-tile-avatar: v-icon info_outline
|
||||
v-list-tile-content
|
||||
v-list-tile-title.body-1 Crash debug data
|
||||
v-list-tile-subtitle.caption: em Stack trace of the error
|
||||
v-list-tile-sub-title.caption: em Stack trace of the error
|
||||
v-list-tile
|
||||
v-list-tile-avatar: v-icon info_outline
|
||||
v-list-tile-content
|
||||
v-list-tile-title.body-1 Setup analytics
|
||||
v-list-tile-subtitle.caption: em Installation checkpoint reached
|
||||
v-list-tile-sub-title.caption: em Installation checkpoint reached
|
||||
.body-1.pl-3 Note that crash debug data is stored for a maximum of 30 days while analytics are stored for a maximum of 16 months, after which it is permanently deleted.
|
||||
v-divider.my-3
|
||||
v-subheader What is it used for?
|
||||
.body-1.pl-3 Telemetry is used by developers to improve Wiki.js, mostly for the following reasons:
|
||||
v-list(dense)
|
||||
v-list-tile
|
||||
v-list-tile-avatar: v-icon info_outline
|
||||
v-list-tile-avatar: v-icon chevron_right
|
||||
v-list-tile-content: v-list-tile-title.body-1 Identify critical bugs more easily and fix them in a timely manner.
|
||||
v-list-tile
|
||||
v-list-tile-avatar: v-icon info_outline
|
||||
v-list-tile-avatar: v-icon chevron_right
|
||||
v-list-tile-content: v-list-tile-title.body-1 Understand the upgrade rate of current installations.
|
||||
v-list-tile
|
||||
v-list-tile-avatar: v-icon info_outline
|
||||
v-list-tile-avatar: v-icon chevron_right
|
||||
v-list-tile-content: v-list-tile-title.body-1 Optimize performance and testing scenarios based on most popular environments.
|
||||
.body-1.pl-3 Only authorized developers have access to the data. It is not shared to any 3rd party nor is it used for any other application than improving Wiki.js.
|
||||
v-divider.my-3
|
||||
@@ -52,13 +52,12 @@
|
||||
v-switch.mt-0(
|
||||
v-model='telemetry',
|
||||
label='Enable Telemetry',
|
||||
:value='true',
|
||||
color='primary',
|
||||
hint='Allow Wiki.js to transmit telemetry data.',
|
||||
persistent-hint
|
||||
)
|
||||
.subheading.mt-3.grey--text.text--darken-1 Client ID
|
||||
.body-1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
.body-1 {{clientId}}
|
||||
v-card-chin
|
||||
v-btn(depressed, color='success', @click='updateTelemetry')
|
||||
v-icon(left) chevron_right
|
||||
@@ -71,7 +70,89 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
|
||||
import utilityTelemetryResetIdMutation from 'gql/admin/utilities/utilities-mutation-telemetry-resetid.gql'
|
||||
import utilityTelemetrySetMutation from 'gql/admin/utilities/utilities-mutation-telemetry-set.gql'
|
||||
import utilityTelemetryQuery from 'gql/admin/utilities/utilities-query-telemetry.gql'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
telemetry: false,
|
||||
clientId: 'N/A'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async updateTelemetry() {
|
||||
this.loading = true
|
||||
this.$store.commit(`loadingStart`, 'admin-utilities-telemetry-set')
|
||||
|
||||
try {
|
||||
const respRaw = await this.$apollo.mutate({
|
||||
mutation: utilityTelemetrySetMutation,
|
||||
variables: {
|
||||
enabled: this.telemetry
|
||||
}
|
||||
})
|
||||
const resp = _.get(respRaw, 'data.system.setTelemetry.responseResult', {})
|
||||
if (resp.succeeded) {
|
||||
this.$store.commit('showNotification', {
|
||||
message: 'Telemetry updated successfully.',
|
||||
style: 'success',
|
||||
icon: 'check'
|
||||
})
|
||||
} else {
|
||||
throw new Error(resp.message)
|
||||
}
|
||||
} catch (err) {
|
||||
this.$store.commit('pushGraphError', err)
|
||||
}
|
||||
|
||||
this.$store.commit(`loadingStop`, 'admin-utilities-telemetry-set')
|
||||
this.loading = false
|
||||
},
|
||||
async resetClientId() {
|
||||
this.loading = true
|
||||
this.$store.commit(`loadingStart`, 'admin-utilities-telemetry-resetid')
|
||||
|
||||
try {
|
||||
const respRaw = await this.$apollo.mutate({
|
||||
mutation: utilityTelemetryResetIdMutation
|
||||
})
|
||||
const resp = _.get(respRaw, 'data.system.resetTelemetryClientId.responseResult', {})
|
||||
if (resp.succeeded) {
|
||||
this.$apollo.queries.telemetry.refetch()
|
||||
this.$store.commit('showNotification', {
|
||||
message: 'Telemetry Client ID reset successfully.',
|
||||
style: 'success',
|
||||
icon: 'check'
|
||||
})
|
||||
} else {
|
||||
throw new Error(resp.message)
|
||||
}
|
||||
} catch (err) {
|
||||
this.$store.commit('pushGraphError', err)
|
||||
}
|
||||
|
||||
this.$store.commit(`loadingStop`, 'admin-utilities-telemetry-resetid')
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
apollo: {
|
||||
telemetry: {
|
||||
query: utilityTelemetryQuery,
|
||||
fetchPolicy: 'network-only',
|
||||
manual: true,
|
||||
result ({ data }) {
|
||||
this.telemetry = _.get(data, 'system.info.telemetry', false)
|
||||
this.clientId = _.get(data, 'system.info.telemetryClientId', 'N/A')
|
||||
},
|
||||
watchLoading (isLoading) {
|
||||
this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'admin-utilities-telemetry-refresh')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@@ -65,7 +65,7 @@ export default {
|
||||
key: 'UtilityImportv1',
|
||||
icon: 'present_to_all',
|
||||
i18nKey: 'importv1',
|
||||
isAvailable: true
|
||||
isAvailable: false
|
||||
},
|
||||
{
|
||||
key: 'UtilityTelemetry',
|
||||
|
Reference in New Issue
Block a user