Add telemetry
This commit is contained in:
parent
4cdd0cbd40
commit
a919b04cf0
3 changed files with 137 additions and 0 deletions
|
|
@ -13,6 +13,8 @@
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@plausible-analytics/tracker": "^0.4.0",
|
||||||
|
"@sentry/browser": "^10.8.0",
|
||||||
"@types/node": "^22.15.30",
|
"@types/node": "^22.15.30",
|
||||||
"css-loader": "^7.1.2",
|
"css-loader": "^7.1.2",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ import { HistoryView } from "./views/history/history-view";
|
||||||
import { StatusBar } from "./views/status-bar/status-bar";
|
import { StatusBar } from "./views/status-bar/status-bar";
|
||||||
import { LogsView } from "./views/logs/logs-view";
|
import { LogsView } from "./views/logs/logs-view";
|
||||||
import { StatusDescription } from "./views/status-description/status-description";
|
import { StatusDescription } from "./views/status-description/status-description";
|
||||||
|
import * as Sentry from "@sentry/browser";
|
||||||
|
import { init as plausibleInit } from "@plausible-analytics/tracker";
|
||||||
import {
|
import {
|
||||||
SyncClient,
|
SyncClient,
|
||||||
rateLimit,
|
rateLimit,
|
||||||
|
|
@ -50,6 +52,49 @@ export default class VaultLinkPlugin extends Plugin {
|
||||||
|
|
||||||
const isDebugBuild = process.env.NODE_ENV === "development";
|
const isDebugBuild = process.env.NODE_ENV === "development";
|
||||||
|
|
||||||
|
if (!isDebugBuild) {
|
||||||
|
plausibleInit({
|
||||||
|
domain: "vault-link",
|
||||||
|
endpoint: "https://stats.schmelczer.dev/status",
|
||||||
|
autoCapturePageviews: true,
|
||||||
|
captureOnLocalhost: true,
|
||||||
|
logging: true
|
||||||
|
});
|
||||||
|
|
||||||
|
Sentry.init({
|
||||||
|
dsn: "https://56accd39d92442e788a457a04623cf57@bugs.schmelczer.dev/1",
|
||||||
|
skipBrowserExtensionCheck: false
|
||||||
|
});
|
||||||
|
|
||||||
|
const onError = (event: ErrorEvent): void => {
|
||||||
|
Sentry.captureException(event.error, {
|
||||||
|
extra: {
|
||||||
|
message: event.message,
|
||||||
|
filename: event.filename,
|
||||||
|
lineno: event.lineno,
|
||||||
|
colno: event.colno
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
window.addEventListener("error", onError);
|
||||||
|
this.disposables.push(() => {
|
||||||
|
window.removeEventListener("error", onError);
|
||||||
|
});
|
||||||
|
|
||||||
|
const onUnhandledRejection = (
|
||||||
|
event: PromiseRejectionEvent
|
||||||
|
): void => {
|
||||||
|
Sentry.captureException(event.reason);
|
||||||
|
};
|
||||||
|
window.addEventListener("unhandledrejection", onUnhandledRejection);
|
||||||
|
this.disposables.push(() => {
|
||||||
|
window.removeEventListener(
|
||||||
|
"unhandledrejection",
|
||||||
|
onUnhandledRejection
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const debugOptions = isDebugBuild
|
const debugOptions = isDebugBuild
|
||||||
? {
|
? {
|
||||||
fetch: debugging.slowFetchFactory(1),
|
fetch: debugging.slowFetchFactory(1),
|
||||||
|
|
|
||||||
90
frontend/package-lock.json
generated
90
frontend/package-lock.json
generated
|
|
@ -842,6 +842,94 @@
|
||||||
"url": "https://opencollective.com/parcel"
|
"url": "https://opencollective.com/parcel"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@plausible-analytics/tracker": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@plausible-analytics/tracker/-/tracker-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-KXwttotIZymo3yGzargrsxl9hjXJo5N+Kips3ZMamYqJxJqv1Zx+POC6WOFxYwDe1iJW7T91ItQYD8mZsznpXQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@sentry-internal/browser-utils": {
|
||||||
|
"version": "10.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.8.0.tgz",
|
||||||
|
"integrity": "sha512-FaQX9eefc8sh3h3ZQy16U73KiH0xgDldXnrFiWK6OeWg8X4bJpnYbLqEi96LgHiQhjnnz+UQP1GDzH5oFuu5fA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@sentry/core": "10.8.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@sentry-internal/feedback": {
|
||||||
|
"version": "10.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.8.0.tgz",
|
||||||
|
"integrity": "sha512-n7SqgFQItq4QSPG7bCjcZcIwK6AatKnnmSDJ/i6e8jXNIyLwkEuY2NyvTXACxVdO/kafGD5VmrwnTo3Ekc1AMg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@sentry/core": "10.8.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@sentry-internal/replay": {
|
||||||
|
"version": "10.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.8.0.tgz",
|
||||||
|
"integrity": "sha512-9+qDEoEjv4VopLuOzK1zM4LcvcUsvB5N0iJ+FRCM3XzzOCbebJOniXTQbt5HflJc3XLnQNKFdKfTfgj8M/0RKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@sentry-internal/browser-utils": "10.8.0",
|
||||||
|
"@sentry/core": "10.8.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@sentry-internal/replay-canvas": {
|
||||||
|
"version": "10.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.8.0.tgz",
|
||||||
|
"integrity": "sha512-jC4OOwiNgrlIPeXIPMLkaW53BSS1do+toYHoWzzO5AXGpN6jRhanoSj36FpVuH2N3kFnxKVfVxrwh8L+/3vFWg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@sentry-internal/replay": "10.8.0",
|
||||||
|
"@sentry/core": "10.8.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@sentry/browser": {
|
||||||
|
"version": "10.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.8.0.tgz",
|
||||||
|
"integrity": "sha512-2J7HST8/ixCaboq17yFn/j/OEokXSXoCBMXRrFx4FKJggKWZ90e2Iau5mP/IPPhrW+W9zCptCgNMY0167wS4qA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@sentry-internal/browser-utils": "10.8.0",
|
||||||
|
"@sentry-internal/feedback": "10.8.0",
|
||||||
|
"@sentry-internal/replay": "10.8.0",
|
||||||
|
"@sentry-internal/replay-canvas": "10.8.0",
|
||||||
|
"@sentry/core": "10.8.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@sentry/core": {
|
||||||
|
"version": "10.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.8.0.tgz",
|
||||||
|
"integrity": "sha512-scYzM/UOItu4PjEq6CpHLdArpXjIS0laHYxE4YjkIbYIH6VMcXGQbD/FSBClsnCr1wXRnlXfXBzj0hrQAFyw+Q==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/codemirror": {
|
"node_modules/@types/codemirror": {
|
||||||
"version": "5.60.8",
|
"version": "5.60.8",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
|
@ -4497,6 +4585,8 @@
|
||||||
"version": "0.6.4",
|
"version": "0.6.4",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@plausible-analytics/tracker": "^0.4.0",
|
||||||
|
"@sentry/browser": "^10.8.0",
|
||||||
"@types/node": "^22.15.30",
|
"@types/node": "^22.15.30",
|
||||||
"css-loader": "^7.1.2",
|
"css-loader": "^7.1.2",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue