fix(root): add hyperdx and better logging
This commit is contained in:
committed by
Carl-Gerhard Lindesvärd
parent
4bafa16419
commit
c819c18962
@@ -1,12 +1,13 @@
|
||||
'use client';
|
||||
|
||||
import React, { useRef, useState } from 'react';
|
||||
import React, { useEffect, useRef, useState } from 'react';
|
||||
import { TooltipProvider } from '@/components/ui/tooltip';
|
||||
import { ModalProvider } from '@/modals';
|
||||
import type { AppStore } from '@/redux';
|
||||
import makeStore from '@/redux';
|
||||
import { api } from '@/trpc/client';
|
||||
import { ClerkProvider, useAuth } from '@clerk/nextjs';
|
||||
import HyperDX from '@hyperdx/browser';
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
||||
import { httpLink } from '@trpc/client';
|
||||
import { ThemeProvider } from 'next-themes';
|
||||
@@ -17,7 +18,7 @@ import superjson from 'superjson';
|
||||
import { OpenPanelComponent } from '@openpanel/nextjs';
|
||||
|
||||
function AllProviders({ children }: { children: React.ReactNode }) {
|
||||
const { userId, getToken } = useAuth();
|
||||
const { getToken } = useAuth();
|
||||
const [queryClient] = useState(
|
||||
() =>
|
||||
new QueryClient({
|
||||
@@ -56,6 +57,19 @@ function AllProviders({ children }: { children: React.ReactNode }) {
|
||||
storeRef.current = makeStore();
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (process.env.NEXT_PUBLIC_HYPERDX_API_KEY) {
|
||||
HyperDX.init({
|
||||
apiKey: process.env.NEXT_PUBLIC_HYPERDX_API_KEY,
|
||||
service: 'dashboard-browser',
|
||||
tracePropagationTargets: [/api.openpanel.dev/i], // Set to link traces from frontend to backend requests
|
||||
advancedNetworkCapture: true,
|
||||
consoleCapture: true,
|
||||
captureConsole: true,
|
||||
});
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
attribute="class"
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
/* eslint-disable */
|
||||
|
||||
export async function register() {
|
||||
if (
|
||||
process.env.NODE_ENV === 'production' &&
|
||||
process.env.NEXT_RUNTIME === 'nodejs'
|
||||
) {
|
||||
if (process.env.NEXT_RUNTIME === 'nodejs' && process.env.HYPERDX_API_KEY) {
|
||||
const { initSDK } = await import('@hyperdx/node-opentelemetry');
|
||||
initSDK({
|
||||
consoleCapture: true,
|
||||
apiKey: process.env.HYPERDX_API_KEY,
|
||||
service: 'dashboard',
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user