Skip to content

Commit 96f3350

Browse files
committed
try out honeycomb frontend monitoring
1 parent c7c979a commit 96f3350

File tree

3 files changed

+594
-10
lines changed

3 files changed

+594
-10
lines changed

packages/viewer/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
"validate": "svelte-check"
1818
},
1919
"dependencies": {
20+
"@honeycombio/opentelemetry-web": "^0.15.0",
21+
"@opentelemetry/auto-instrumentations-web": "^0.46.0",
2022
"@pi-base/core": "workspace:*",
2123
"@sentry/browser": "^7.93.0",
2224
"bootstrap": "^4.6.2",

packages/viewer/src/routes/+layout.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,32 @@ import { defaultHost } from '@/constants'
33
import * as errors from '@/errors'
44
import { sync } from '@/gateway'
55
import type { LayoutLoad } from './$types'
6+
import { browser } from '$app/environment'
7+
8+
import { HoneycombWebSDK } from '@honeycombio/opentelemetry-web';
9+
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
610

711
export const load: LayoutLoad = async ({ fetch, url: { host } }) => {
812
const dev = host.match(/(dev(elopment)?[.-]|localhost)/) !== null
913

14+
if (browser) {
15+
const configDefaults = {
16+
ignoreNetworkEvents: true,
17+
}
18+
19+
const sdk = new HoneycombWebSDK({
20+
debug: dev,
21+
apiKey: 'Sx608N12wwH9ZJ6qmHMVnA',
22+
serviceName: 'π-base web',
23+
instrumentations: [getWebAutoInstrumentations({
24+
'@opentelemetry/instrumentation-xml-http-request': configDefaults,
25+
'@opentelemetry/instrumentation-fetch': configDefaults,
26+
'@opentelemetry/instrumentation-document-load': configDefaults,
27+
})],
28+
});
29+
sdk.start();
30+
}
31+
1032
const errorHandler = dev
1133
? errors.log()
1234
: errors.sentry({ environment: errorEnv(host) })

0 commit comments

Comments
 (0)