diff --git a/apps/studio/components/interfaces/Settings/Logs/LogsQueryPanel.tsx b/apps/studio/components/interfaces/Settings/Logs/LogsQueryPanel.tsx
index 7afed9f5cc4..a6b583f1587 100644
--- a/apps/studio/components/interfaces/Settings/Logs/LogsQueryPanel.tsx
+++ b/apps/studio/components/interfaces/Settings/Logs/LogsQueryPanel.tsx
@@ -1,4 +1,3 @@
-import { useFlag } from 'common'
import { BookOpen, Check, ChevronDown, ChevronsUpDown, Copy, ExternalLink, X } from 'lucide-react'
import Link from 'next/link'
import { ReactNode, useEffect, useState } from 'react'
@@ -18,12 +17,10 @@ import {
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
- Label,
Popover,
PopoverContent,
PopoverTrigger,
SidePanel,
- Switch,
Tooltip,
TooltipContent,
TooltipTrigger,
@@ -48,8 +45,6 @@ export interface LogsQueryPanelProps {
onSelectTemplate: (template: LogTemplate) => void
onSelectSource: (source: string) => void
onDateChange: (value: DatePickerValue) => void
- useOtel?: boolean
- onUseOtelChange?: (value: boolean) => void
}
function DropdownMenuItemContent({ name, desc }: { name: ReactNode; desc?: string }) {
@@ -68,13 +63,9 @@ const LogsQueryPanel = ({
onSelectTemplate,
onSelectSource,
onDateChange,
- useOtel = false,
- onUseOtelChange,
}: LogsQueryPanelProps) => {
const [showReference, setShowReference] = useState(false)
const { logsTemplates } = useIsFeatureEnabled(['logs:templates'])
- const showChToggleInLogExplorer = useFlag('showChToggleInLogExplorer')
- const otelToggleEnabled = !!showChToggleInLogExplorer && !!onUseOtelChange
const {
projectAuthAll: authEnabled,
@@ -167,30 +158,6 @@ const LogsQueryPanel = ({
helpers={EXPLORER_DATEPICKER_HELPERS}
/>
- {otelToggleEnabled && (
-
-
-
- onUseOtelChange?.(checked)}
- />
-
- OTEL endpoint
-
-
-
-
- Run this query against the new ClickHouse-backed OTEL endpoint instead of
- BigQuery. Use to validate ClickHouse SQL before relying on it.
-
-
- )}
-
{
useEditorHints()
const monaco = useMonaco()
@@ -90,10 +93,14 @@ export const LogsExplorerPage: NextPageWithLayout = () => {
}, [timestampStart, timestampEnd, defaultHelper])
const [datePickerValue, setDatePickerValue] = useState(initialDatePickerValue)
+ const useOtelEndpoint = useFlag('otelLegacyLogs')
+
const { logsDefaultQuery } = useCustomContent(['logs:default_query'])
- const PLACEHOLDER_QUERY = IS_PLATFORM
- ? (logsDefaultQuery ?? PLATFORM_PLACEHOLDER_QUERY)
- : LOCAL_PLACEHOLDER_QUERY
+ const PLACEHOLDER_QUERY = useOtelEndpoint
+ ? OTEL_PLACEHOLDER_QUERY
+ : IS_PLATFORM
+ ? (logsDefaultQuery ?? PLATFORM_PLACEHOLDER_QUERY)
+ : LOCAL_PLACEHOLDER_QUERY
const [editorValue, setEditorValue] = useState(PLACEHOLDER_QUERY)
const [saveModalOpen, setSaveModalOpen] = useState(false)
@@ -105,11 +112,6 @@ export const LogsExplorerPage: NextPageWithLayout = () => {
[]
)
- const [useOtelEndpoint, setUseOtelEndpoint] = useLocalStorage(
- `logs-explorer-use-otel-endpoint-${projectRef}`,
- false
- )
-
const { getEntitlementNumericValue } = useCheckEntitlements('log.retention_days')
const entitledToAuditLogDays = getEntitlementNumericValue()
@@ -332,6 +334,18 @@ export const LogsExplorerPage: NextPageWithLayout = () => {
}
}, [q, search, setSearch])
+ useEffect(() => {
+ if (!useOtelEndpoint || q || search || queryId) return
+ if (editorValue === OTEL_PLACEHOLDER_QUERY) return
+ const isUntouchedDefault =
+ editorValue === LOCAL_PLACEHOLDER_QUERY ||
+ editorValue === PLATFORM_PLACEHOLDER_QUERY ||
+ editorValue === logsDefaultQuery
+ if (!isUntouchedDefault) return
+ setEditorValue(OTEL_PLACEHOLDER_QUERY)
+ editorRef.current?.setValue(OTEL_PLACEHOLDER_QUERY)
+ }, [useOtelEndpoint, q, search, queryId, editorValue, logsDefaultQuery])
+
useEffect(() => {
// prevents overwriting when the user selects a helper.
// without this, if the user selects "last 3 days" it would overwrite it with "last hour"
@@ -386,8 +400,6 @@ export const LogsExplorerPage: NextPageWithLayout = () => {
templates={allTemplates.filter((template) => template.mode === 'custom')}
onSelectTemplate={onSelectTemplate}
warnings={warnings}
- useOtel={useOtelEndpoint}
- onUseOtelChange={setUseOtelEndpoint}
/>