Open source observability platform for logs, metrics, traces, frontend monitoring, pipelines and LLM observability. A sophisticated, simple and highly performant alternative to Datadog, Splunk, and Elasticsearch with 140x lower storage costs and single binary deployment.
5470 matches across 18 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 11 | // ─── IDB mock helpers ───────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 131 | // ─── openDB ─────────────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 147 | // ─── mergeValues ───────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 185 | // ─── mergeMultipleValues ────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 231 | // ─── getValues ──────────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 269 | // ─── evictExpired ───────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 282 | // ─── trimToMaxFields ───────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 62 | // ─── Return value structure ─────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 92 | // ─── resetFieldValues ──────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 141 | // ─── cancelFieldStream ─────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 184 | // ─── fetchFieldValues ───────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValuesStream.ts | 70 | // ─── Trace ID helpers ──────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValuesStream.ts | 85 | // ─── Public API ────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValuesStream.ts | 134 | // ─── Stream handlers ───────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 3 | // ─── Mock fieldValueDB ──────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 12 | // ─── Mock extractValuesFromHits ─────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 30 | // ─── scheduleWrite behaviour ───────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 98 | // ─── captureFromValuesApi ───────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 175 | // ─── getFieldValuesForSuggestion ────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.ts | 29 | // ─── Configuration ──────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.ts | 56 | // ─── In-memory read cache ───────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.ts | 66 | // ─── Types ──────────────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.ts | 74 | // ─── Helpers ───────────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useFieldValueStore.ts | 141 | // ─── Public API ─────────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 94 | // ─── Default Values ───────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 182 | // ─── Composable ───────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 207 | // ── Core State ────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 230 | // ── Anomaly Detection State ───────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 350 | // ── Expand / UI State ─────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 405 | // ── Wizard State (kept for anomaly flow) ──────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 423 | // ── V3 Tab State (for standard alerts) ────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 452 | // ── Computed Properties ───────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 544 | // ── Parser ────────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 560 | // ── Stream Methods ────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 683 | // ── SQL Generation ────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 856 | // ── Validation ────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 1208 | // ── Condition Transforms ──────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 1231 | // ── UI Update Methods ─────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 1340 | // ── Error Handling ────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 1373 | // ── JSON Editor Save ──────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 1412 | // ── Panel Data Import ─────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 1654 | // ── Wizard Navigation (kept for anomaly) ──────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 1722 | // ── Save Methods ──────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 2054 | // ── Data Initialization (replaces created() hook) ─────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 2218 | // ── Watchers ──────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 2517 | // ── Lifecycle ─────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useAlertForm.ts | 2670 | // ── Return ────────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useDimensionSelector.spec.ts | 52 | // ─── selectDimensionsFromData ───────────────────────────────────────────── |
| MEDIUM | web/src/composables/useDimensionSelector.spec.ts | 192 | // ─── selectTraceDimensions ──────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 124 | // ─── Return value structure ─────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 147 | // ─── fetchQueryDataWithWebSocket ───────────────────────────────────────── |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 254 | // ─── cleanUpListeners ──────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 289 | // ─── cancelSearchQueryBasedOnRequestId ─────────────────────────────────── |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 334 | // ─── closeSocketBasedOnRequestId ───────────────────────────────────────── |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 343 | // ─── closeSocket ───────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 358 | // ─── sendSearchMessageBasedOnRequestId ─────────────────────────────────── |
| MEDIUM | web/src/composables/useWebSocket.spec.ts | 186 | // ─── connect ───────────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useWebSocket.spec.ts | 253 | // ─── sendMessage ───────────────────────────────────────────────────────── |
| MEDIUM | web/src/composables/useWebSocket.spec.ts | 299 | // ─── addMessageHandler / removeMessageHandler ──────────────────────────── |
| MEDIUM | web/src/composables/useWebSocket.spec.ts | 362 | // ─── addOpenHandler / removeOpenHandler ────────────────────────────────── |
| 1402 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/vite.config.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/vitest.config.ts | 141 | // setupFiles: "test/unit/helpers/setupTests.ts", |
| LOW | web/vitest.config.ts | 161 | // "quasar.conf.js", |
| LOW | web/quasar.conf.js | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/cypress.config.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | …posables/usePrebuiltDestinations.comprehensive.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | …tests/unit/composables/usePrebuiltDestinations.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | …unit/components/alerts/PrebuiltDestinationForm.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | …s/unit/components/alerts/DestinationTestResult.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | …/components/alerts/PrebuiltDestinationSelector.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/tests/unit/components/alerts/AddDestination.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | …ests/unit/components/alerts/DestinationPreview.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/tests/unit/services/alert_destination.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/App.vue | 41 | router.push("/logs"); |
| LOW | web/src/main.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/aws-exports.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/aws-exports.ts | 61 | REO_CLIENT_KEY: import.meta.env.VITE_REODOTDEV_CLIENT_KEY || "", |
| LOW | web/src/composables/usePrebuiltDestinations.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useLogsHighlighter.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useActions.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/usePipelines.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useFieldValuesStream.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useMetricsCorrelationDashboard.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useLogs.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useWorker.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useFieldValuesStream.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useChunkedContent.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useIngestion.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useStreams.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useFunctions.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useMetricsExplorer.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/router.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useErrorTracking.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useAlertInsights.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useStickyColumns.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useWorker.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useSessionReplay.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useFunctions.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useServiceCorrelation.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useSelectAutocomplete.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useChatHistory.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useChatHistory.spec.ts | 41 | }), |
| LOW | web/src/composables/router.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useStickyColumns.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useSessionReplay.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useRoutePrefetch.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useFieldValueStore.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useRoutePrefetch.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useSuggestions.ts | 341 | // a value, and extracts the field name to the left of that operator. |
| LOW | web/src/composables/useSuggestions.ts | 361 | const columnValueRegex = |
| LOW | web/src/composables/useSuggestions.ts | 381 | // Pick whichever capture group matched — only one will be non-null. |
| LOW | web/src/composables/useSuggestions.ts | 421 | // suggestions. This avoids confusion between stream names and field names. |
| LOW | web/src/composables/useNotifications.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useAlertForm.ts | 1 | // Copyright 2023 OpenObserve Inc. |
| LOW | web/src/composables/useEventFormatters.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useChatHistory.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useAlertInsights.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useDimensionSelector.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| LOW | web/src/composables/useLogsHighlighter.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. |
| 2379 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 436 | // Step 1: Expand variables for scopes |
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 439 | // Step 2: Populate state |
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 460 | // Step 3: Build dependency graph |
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 470 | // Step 4: Detect cycles |
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 476 | // Step 5: Mark global independent variables as ready to load |
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 550 | // Step 6: Initialize committed state (empty at first) |
| LOW | …/plugins/correlation/TelemetryCorrelationDashboard.vue | 2630 | // Step 1: Try to extract trace_id from the log record |
| LOW | web/src/plugins/pipelines/useDnD.ts | 271 | // Step 1: Build the adjacency list from the current edges |
| LOW | web/src/plugins/pipelines/useDnD.ts | 282 | // Step 2: Define the DFS function to detect cycles |
| LOW | web/src/plugins/pipelines/useDnD.ts | 305 | // Step 3: Run DFS from the source node of the new connection |
| LOW | web/src/plugins/logs/Index.vue | 868 | * As we are redirecting stream explorer to logs page, we need to check if the user has changed the stream type from |
| LOW | web/src/plugins/logs/TenstackTable.vue | 1086 | //we need to check if source column is present in the columns |
| LOW | web/src/plugins/logs/SearchBar.vue | 3109 | //before we set the time to the dateTimeRef.value we need to check if the startTime and endTime difference |
| LOW | web/src/plugins/logs/patterns/PatternList.spec.ts | 105 | // Since we're using virtual scroll, we need to check if the component |
| LOW | web/src/utils/fieldCategories.bench.ts | 114 | // Step 1: discover dynamic prefix groups from the field set |
| LOW | web/src/utils/fieldCategories.bench.ts | 117 | // Step 2: build flat field objects with resolved group keys |
| LOW | web/src/utils/fieldCategories.bench.ts | 128 | // Step 3: bucket by group key |
| LOW | web/src/utils/fieldCategories.bench.ts | 136 | // Step 4: sort groups |
| LOW | web/src/utils/fieldCategories.bench.ts | 141 | // Step 5: inject label rows |
| LOW | web/src/utils/llmUtils.ts | 263 | // Step 1: Parse JSON string if needed |
| LOW | web/src/utils/llmUtils.ts | 273 | // Step 2: Extract meaningful text from parsed object |
| LOW | web/src/utils/alerts/conditionsFormatter.ts | 396 | // Step 1: Format the value (add quotes if needed, based on type) |
| LOW | web/src/utils/alerts/conditionsFormatter.ts | 403 | // Step 2: Build the condition string (column operator value) |
| LOW | web/src/utils/alerts/conditionsFormatter.ts | 412 | // Step 3: Add logical operator prefix (except for first item at index 0) |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 110 | // Step 1: Aggregate y_axis values by breakdown, ensuring missing values are set to empty string |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 129 | // Step 2: Sort and extract the top keys based on the configured number of top results |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 149 | // Step 3: Initialize result array and others object for aggregation |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 174 | // Step 4: Add 'others' aggregation to the result array if enabled |
| LOW | …/utils/dashboard/variables/variablesDependencyUtils.ts | 354 | // Step 1: Initialize nodes |
| LOW | …/utils/dashboard/variables/variablesDependencyUtils.ts | 371 | // Step 2: Build edges |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 83 | // Step 1: Find appropriate converter for this chart type |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 96 | // Step 2: Preprocess data (common for all chart types) |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 104 | // Step 3: Initialize extras object |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 111 | // Step 4: Delegate to chart-specific converter |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 121 | // Step 5: Apply common chart configurations |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 135 | // Step 6: Apply comprehensive legend configuration (same as SQL charts) |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 147 | // Step 7: Apply annotations (if applicable) |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 153 | // Step 8: Handle empty data case |
| LOW | web/src/utils/dashboard/sql/shared/contextBuilder.ts | 117 | // Step 1: Get the X-Axis key |
| LOW | web/src/utils/dashboard/sql/shared/contextBuilder.ts | 120 | // Step 2: Get the Y-Axis key |
| LOW | web/src/utils/templates/validation.ts | 46 | // Step 1: Replace quoted placeholders first: "{placeholder}" -> "test" |
| LOW | web/src/utils/templates/validation.ts | 49 | // Step 2: Iteratively replace bare placeholders (simple identifiers only) |
| LOW | web/src/components/TenstackTable.vue | 2241 | //we need to check if source column is present in the columns |
| LOW | …b/src/components/logstream/AssociatedRegexPatterns.vue | 828 | //so we need to check if the policy or apply_at value is changed and if it is then we need to update the isFormDirty |
| LOW | web/src/components/pipeline/NodeForm/Query.vue | 589 | //before assigning the sql , we need to check if the sql does limit is applied or not |
| LOW | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 430 | // Step 1: Ensure folders exist |
| LOW | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 433 | // Step 2: Download dashboard JSON to get the actual title |
| LOW | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 442 | // Step 3: Check if dashboard already exists by listing all dashboards in the folder |
| LOW | web/src/components/alerts/AddDestination.vue | 864 | // Step 1: Parse metadata and remove credential_ prefix |
| LOW | web/src/components/alerts/AddDestination.vue | 884 | // Step 2: Restore sensitive fields from destination properties |
| LOW | web/src/components/alerts/IncidentDetailDrawer.vue | 1585 | // Step 1: Get stream schema (like logs page does) |
| LOW | web/src/components/alerts/IncidentDetailDrawer.vue | 1589 | // Step 2: Extract schema fields (like logs page does) |
| LOW | web/src/components/alerts/IncidentDetailDrawer.vue | 1598 | // Step 3: Get semantic groups to resolve dimension names to field patterns |
| LOW | web/src/components/alerts/IncidentDetailDrawer.vue | 1604 | // Step 4: For each dimension, find the matching schema field |
| LOW | web/src/components/alerts/QueryEditorDialog.vue | 582 | // Step 1: grow the VRL pane (sqlEditorMaximized = false triggers CSS) |
| LOW | web/src/components/alerts/QueryEditorDialog.vue | 586 | // Step 2: after two animation frames the browser has finished laying out |
| LOW | web/src/components/iam/quota/Quota.vue | 1289 | //if the active type is json then we need to check if the changes are there in the changedValues |
| LOW | web/src/components/iam/quota/Quota.vue | 1304 | //if the active type is table then we need to check if the changes are there in the jsonStrToDisplay |
| LOW | web/src/components/functions/EnrichmentTableList.vue | 428 | //here we need to check if the action is there or not |
| LOW | web/src/views/LogStream.vue | 766 | // We need to check if stream is present in store, if not then we need to fetch the stream |
| 731 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | web/src/composables/useDashboardPanel.spec.ts | 898 | panel.dashboardPanelData.meta.stream.selectedStreamFields.push( |
| CRITICAL | web/src/composables/useDashboardPanel.spec.ts | 3380 | panel.dashboardPanelData.meta.stream.selectedStreamFields.push( |
| CRITICAL | web/src/composables/useAlertForm.ts | 981 | formData.value.query_condition.aggregation.group_by.forEach( |
| CRITICAL | web/src/composables/dashboard/useDashboardPanel.spec.ts | 210 | expect(panel.dashboardPanelData.meta.promql.labelValuesMap.get("pod")).toEqual([ |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1337 | // ] of searchObj.data.queryResults.partitionDetail.partitions.entries()) { |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1346 | // searchObj.data.queryResults.partitionDetail.paginations.push( |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1349 | // searchObj.data.queryResults.partitionDetail.partitionTotal.push(-1); |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 997 | // // searchObj.data.queryResults.partitionDetail.partitions.forEach( |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1007 | // ] of searchObj.data.queryResults.partitionDetail.partitions.entries()) { |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1211 | // searchObj.data.queryResults.partitionDetail.paginations.push( |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1214 | // searchObj.data.queryResults.partitionDetail.partitionTotal.push( |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1264 | // searchObj.data.queryResults.partitionDetail.paginations.push( |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1270 | // searchObj.data.queryResults.partitionDetail.partitionTotal.push( |
| CRITICAL | …b/src/composables/useLogs/useSearchHistogramManager.ts | 131 | searchObj.data.histogramQuery.query.sql.replace( |
| CRITICAL | web/src/composables/useLogs/useHistogram.ts | 612 | // searchObj.data.queryResults.partitionDetail.partitions.map( |
| CRITICAL | web/src/composables/useLogs/usePagination.ts | 193 | // searchObj.data.queryResults.partitionDetail.partitions.forEach( |
| CRITICAL | web/src/composables/useLogs/usePagination.ts | 208 | ] of searchObj.data.queryResults.partitionDetail.partitions.entries()) { |
| CRITICAL | web/src/plugins/traces/Index.vue | 701 | searchObj.data.datetime.relative.period.label.toLowerCase() == "weeks" |
| CRITICAL | web/src/plugins/traces/Index.vue | 706 | period = searchObj.data.datetime.relative.period.label.toLowerCase(); |
| CRITICAL | web/src/plugins/traces/SearchResult.vue | 204 | const RGIndex = this.searchObj.data.resultGrid.columns.indexOf(col.name); |
| CRITICAL | web/src/plugins/traces/SearchResult.vue | 205 | this.searchObj.data.resultGrid.columns.splice(RGIndex, 1); |
| CRITICAL | web/src/plugins/traces/SearchResult.vue | 207 | const SFIndex = this.searchObj.data.stream.selectedFields.indexOf( |
| CRITICAL | web/src/plugins/traces/SearchResult.vue | 211 | this.searchObj.data.stream.selectedFields.splice(SFIndex, 1); |
| CRITICAL | web/src/plugins/traces/TraceDetails.vue | 1949 | searchObj.data.traceDetails.selectedTrace.service_name.forEach( |
| CRITICAL | web/src/plugins/pipelines/PipelineFlow.spec.ts | 275 | wrapper.vm.pipelineObj.currentSelectedPipeline.nodes.push({ id: '1' }); |
| CRITICAL | web/src/plugins/pipelines/PipelineFlow.spec.ts | 363 | wrapper.vm.pipelineObj.currentSelectedPipeline.nodes.push({ id: '1' }); |
| CRITICAL | web/src/plugins/logs/Index.vue | 541 | stream_name: this.searchObj.data.stream.selectedStream.join(","), |
| CRITICAL | web/src/plugins/logs/Index.vue | 577 | stream_name: this.searchObj.data.stream.selectedStream.join(","), |
| CRITICAL | web/src/plugins/logs/Index.vue | 605 | stream_name: this.searchObj.data.stream.selectedStream.join(","), |
| CRITICAL | web/src/plugins/logs/Index.vue | 639 | stream_name: this.searchObj.data.stream.selectedStream.join(","), |
| CRITICAL | web/src/plugins/logs/Index.vue | 1126 | (!store.state.logs.logs.data.stream.selectedStream.includes( |
| CRITICAL | web/src/plugins/logs/Index.vue | 3384 | // this.searchObj.data.stream.selectedStream.hasOwnProperty("value") && |
| CRITICAL | web/src/plugins/logs/SearchResult.vue | 763 | const RGIndex = this.searchObj.data.resultGrid.columns.indexOf(col.id); |
| CRITICAL | web/src/plugins/logs/SearchResult.vue | 764 | this.searchObj.data.resultGrid.columns.splice(RGIndex, 1); |
| CRITICAL | web/src/utils/alerts/alertValidation.ts | 403 | !input.query_condition.aggregation.having.value.toString().trim() |
| CRITICAL | web/src/components/alerts/TemplateList.vue | 319 | query.type = router.currentRoute.value.query.type.toString() as string; |
| CRITICAL | web/src/components/alerts/PreviewAlert.vue | 1248 | props.formData.query_condition.aggregation.having.column.trim() !== ""; |
| CRITICAL | …/components/dashboards/addPanel/DrilldownPopUp.spec.ts | 612 | wrapper.vm.drilldownData.data.variables.push({ |
| CRITICAL | …/components/dashboards/addPanel/DrilldownPopUp.spec.ts | 966 | wrapper.vm.drilldownData.data.variables.push({ |
| CRITICAL | …omponents/dashboards/addPanel/ColorPaletteDropDown.vue | 54 | v-if="dashboardPanelData.data.config.color.mode.startsWith('continuous')" |
| CRITICAL | web/src/components/dashboards/addPanel/ConfigPanel.vue | 2348 | props.dashboardPanelData.meta.streamFields.groupedFields.find( |
| CRITICAL | …/components/promql/components/PromQLBuilderOptions.vue | 172 | props.dashboardPanelData.meta.streamFields.groupedFields.find( |
| CRITICAL | web/src/views/Ingestion.spec.ts | 788 | const shouldShowWarning = wrapper.vm.store.state.zoConfig.hasOwnProperty('restricted_routes_on_empty_data') && |
| CRITICAL | web/src/views/Ingestion.spec.ts | 805 | const shouldShowWarning = wrapper.vm.store.state.zoConfig.hasOwnProperty('restricted_routes_on_empty_data') && |
| CRITICAL | web/src/views/Dashboards/addPanel/AddPanel.spec.ts | 998 | wrapper.vm.dashboardPanelData.data.queries.push(newQuery); |
| CRITICAL | web/src/views/Dashboards/addPanel/AddPanel.spec.ts | 4083 | wrapper.vm.dashboardPanelData.data.title.trim() === "" |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/src/main.ts | 172 | function showNewVersionNotification() { |
| LOW | web/src/composables/useLogsHighlighter.ts | 517 | function createStyledSpanWithClasses( |
| LOW | web/src/composables/useLogsHighlighter.ts | 579 | function isLogLineWithMixedContent(value: string): boolean { |
| LOW | web/src/composables/useLogsHighlighter.ts | 602 | function colorizeObjectWithClasses( |
| LOW | web/src/composables/useMetricsCorrelationDashboard.ts | 41 | export function useMetricsCorrelationDashboard() { |
| LOW | web/src/composables/useServiceCorrelation.ts | 421 | export function clearSemanticGroupsCaches() { |
| LOW | web/src/composables/useServiceCorrelation.ts | 431 | export function getSemanticGroupsCacheStatus(): Record<string, { age_seconds: number; expired: boolean; groups_count: nu |
| LOW | web/src/composables/useDimensionSelector.spec.ts | 37 | function buildSamplesWithCardinality( |
| LOW | web/src/composables/useDimensionSelector.ts | 405 | function selectDimensionsFromSchema( |
| LOW | web/src/composables/useTextHighlighter.ts | 594 | function processTextWithHighlights( |
| LOW | web/src/composables/useMetricSubjectButtons.ts | 143 | function patternsForSemanticGroups( |
| LOW | web/src/composables/useMetricSubjectButtons.ts | 250 | export function buildWorkloadChipDimensions( |
| LOW | web/src/composables/useCorrelationDefaultSlug.ts | 112 | export function extractCorrelationFilters( |
| LOW | web/src/composables/useCorrelationDefaultSlug.ts | 174 | export function buildCorrelationWhereClause(filters: SavedFilter[]): string { |
| LOW | web/src/composables/useLatencyInsightsAnalysis.ts | 72 | export function useLatencyInsightsAnalysis() { |
| LOW | web/src/composables/useLatencyInsightsDashboard.ts | 31 | export function useLatencyInsightsDashboard() { |
| LOW | web/src/composables/dashboard/promqlChunkProcessor.ts | 41 | export function createPromQLChunkProcessor(options: PromQLChunkProcessorOptions) { |
| LOW | web/src/test/unit/workers/rumcssworker.spec.js | 48 | function replaceAbsoluteUrlsWithProxies( |
| LOW | web/src/plugins/traces/Index.vue | 499 | function recomputeInsightsTimeRange() { |
| LOW | web/src/plugins/traces/Index.spec.ts | 2232 | function mountWithServicesCatalogStub() { |
| LOW | web/src/plugins/traces/Index.spec.ts | 2276 | function mountWithServicesCatalogStub() { |
| LOW | web/src/plugins/traces/SearchResult.vue | 338 | function openUnifiedAnalysisDashboard() { |
| LOW | web/src/plugins/traces/LLMTrendPanel.vue | 449 | function buildHistogramThresholdOption(): EChartsOption { |
| LOW | web/src/plugins/logs/Index.vue | 1236 | function isEnterpriseClusterEnabled() { |
| LOW | web/src/plugins/logs/SearchSchedulersList.vue | 752 | function convertUnixToQuasarFormat(unixMicroseconds: any) { |
| LOW | web/src/utils/identityConfig.ts | 118 | export function clearAllIdentityConfigCache(): void { |
| LOW | web/src/utils/telemetryCorrelation.ts | 67 | export function extractSemanticDimensions( |
| LOW | web/src/utils/telemetryCorrelation.ts | 132 | export function filterDimensionsForCorrelation( |
| LOW | web/src/utils/telemetryCorrelation.ts | 188 | function translateDimensionsToFields( |
| LOW | web/src/utils/telemetryCorrelation.ts | 214 | function buildExactDimensionConditions( |
| LOW | web/src/utils/telemetryCorrelation.ts | 361 | export function generateCorrelationQueries( |
| LOW | web/src/utils/zincutils.ts | 1213 | export function convertUnixToQuasarFormat(unixMicroseconds: any) { |
| LOW | web/src/utils/zincutils.ts | 1221 | export function getCronIntervalDifferenceInSeconds(cronExpression: string) { |
| LOW | web/src/utils/zincutils.ts | 1241 | export function isAboveMinRefreshInterval( |
| LOW | web/src/utils/metrics/metricGrouping.ts | 241 | export function getDefaultMetricSelections( |
| LOW | web/src/utils/prebuilt-templates/index.ts | 84 | export function getPrebuiltTypesByCategory() { |
| LOW | web/src/utils/prebuilt-templates/index.ts | 104 | export function detectPrebuiltTypeFromUrl(url: string): string | null { |
| LOW | web/src/utils/prebuilt-templates/index.ts | 145 | export function generateDestinationHeaders(type: string, credentials: Record<string, any>): Record<string, string> { |
| LOW | web/src/utils/alerts/triggerStatus.ts | 71 | export function getBackendStatusFromLabel(label: string): string | undefined { |
| LOW | web/src/utils/alerts/alertSummaryGenerator.ts | 296 | function generatePlainEnglishSummary(formData: any, destinations: any[], isRealTime: boolean, t: (key: string) => string |
| LOW | …b/src/utils/dashboard/convertDashboardSchemaVersion.ts | 148 | export function convertDashboardSchemaVersion(data: any) { |
| LOW | …tils/dashboard/streaming/overlayNewDataOnOldOptions.ts | 46 | export function overlayNewDataOnOldOptions( |
| LOW | …/utils/dashboard/sql/charts/convertSQLLineAreaChart.ts | 25 | export function applyLineAreaScatterBarChart(ctx: SQLContext): void { |
| LOW | web/src/utils/dashboard/sql/shared/seriesBuilder.ts | 150 | function getUniqueStackedXAxisValues(breakDownKey: string): any[] { |
| LOW | web/src/utils/logs/statusParser.ts | 97 | export function extractStatusFromTemplate(text: string, isDark = false): StatusInfo { |
| LOW | web/src/utils/templates/validation.ts | 83 | export function getTemplateValidationErrorMessage(): string { |
| LOW | web/src/utils/query/visualizationUtils.ts | 49 | export function allSelectionFieldsHaveAlias(sql: string): boolean { |
| LOW | web/src/utils/query/sqlUtils.ts | 304 | function reconstructCaseExpression(caseExpr: any, sqlParser: any): string { |
| LOW | web/src/components/logstream/schema.vue | 2368 | function convertUnixToQuasarFormat(unixMicroseconds: any) { |
| LOW | web/src/components/settings/ServiceIdentitySetup.vue | 3158 | function getEffectiveCardinalityClass(group?: FoundGroup): string { |
| LOW | web/src/components/settings/ServiceIdentitySetup.vue | 3241 | function getSecondaryTertiaryValues(secondaryVal: string): string[] { |
| LOW | web/src/components/settings/ServiceIdentitySetup.vue | 3290 | function getFieldCardinalityTooltip(fieldId: string): string | null { |
| LOW | web/src/components/settings/ServiceIdentitySetup.vue | 3382 | function removeDisambiguationField(idx: number) { |
| LOW | web/src/components/settings/ImportModelPricing.vue | 204 | function updateModelPricingPattern(pattern: string, index: number) { |
| LOW | web/src/components/settings/ImportModelPricing.vue | 306 | async function validateModelPricingInputs(jsonObj: any, index: number) { |
| LOW | …omponents/rum/correlation/TraceCorrelationCard.spec.ts | 24 | function createMockCorrelationData(overrides: Record<string, any> = {}) { |
| LOW | …omponents/rum/correlation/TraceCorrelationCard.spec.ts | 41 | function createMockPerformanceData(overrides: Record<string, any> = {}) { |
| LOW | web/src/components/alerts/AlertList.vue | 1655 | function convertUnixToQuasarFormat(unixMicroseconds: any) { |
| LOW | web/src/components/iam/roles/PermissionsTable.vue | 199 | function handleOTableExpansionChange(ids: string[]) { |
| LOW | web/src/components/iam/roles/AppRoles.spec.ts | 359 | async function mountAppRolesWithAddRoleStub() { |
| 270 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/src/composables/useTextHighlighter.spec.ts | 268 | "user@example.com", |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 649 | expect(result).toContain("user@example.com"); |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 1117 | 'Query: SELECT * FROM users WHERE email = "user@example.com" AND status = "active" LIMIT 100'; |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 1126 | expect(result).toContain("user@example.com"); |
| LOW | web/src/composables/useSelectAutocomplete.spec.ts | 770 | user: { name: 'John Doe', email: 'john@example.com' }, |
| LOW | web/src/composables/useLogsHighlighter.spec.ts | 418 | const result = logsHighlighter.detectSemanticType("user@example.com"); |
| LOW | web/src/composables/useLogsHighlighter.spec.ts | 621 | email: "user@example.com", |
| LOW | web/src/composables/usePrebuiltDestinations.spec.ts | 309 | recipients: "user@example.com", |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 12 | { name: 'John Doe', id: 1 }, |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 62 | expect(filteredOptions.value.some((option: any) => option.name === 'John Doe')).toBe(true); |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 78 | expect(filteredOptions.value[0].name).toBe('John Doe'); |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 87 | expect(filteredOptions.value.some((option: any) => option.name === 'John Doe')).toBe(true); |
| LOW | …b/src/composables/useLogs/useTemplateTokenizer.spec.ts | 352 | expect(wildcardLabel("<*>", ["user@example.com", "admin@test.com"])).toBe("email"); |
| LOW | …b/src/composables/useLogs/useTemplateTokenizer.spec.ts | 419 | expect(inferTypeFromValues(["user@example.com", "admin@test.org"])).toBe("email"); |
| LOW | web/src/test/unit/mockData/actionScripts.ts | 43 | created_by: "admin@example.com", |
| LOW | web/src/plugins/logs/JsonPreview.spec.ts | 993 | wrapper.vm.selectedText = "user@example.com"; |
| LOW | web/src/utils/common.spec.ts | 346 | await expect(getDefaultOrganization({email: "test@test.com"}, "org")) |
| LOW | web/src/utils/common.spec.ts | 366 | await getDefaultOrganization({email: "test@test.com"}, "org"); |
| LOW | web/src/components/settings/License.spec.ts | 134 | contact_name: 'John Doe', |
| LOW | web/src/components/settings/License.spec.ts | 308 | expect(wrapper.text()).toContain('John Doe'); |
| LOW | web/src/components/settings/BuiltInPatternsTab.spec.ts | 68 | examples: { Valid: ["user@example.com"], Invalid: ["not-an-email"] }, |
| LOW | …c/components/settings/DomainManagement.test-helpers.ts | 136 | email: "user@example.com", |
| LOW | …src/components/settings/OrganizationManagement.spec.ts | 249 | user_email: "admin@example.com", |
| LOW | web/src/components/settings/DomainManagement.spec.ts | 263 | expect(vm.isValidEmail("user@example.com", "example.com")).toBe(true); |
| LOW | web/src/components/settings/DomainManagement.spec.ts | 270 | expect(vm.isValidEmail("user@example.com", "different.org")).toBe(false); |
| LOW | web/src/components/settings/DomainManagement.spec.ts | 638 | expect(vm.isValidEmail("test@test.com", null)).toBe(false); |
| LOW | web/src/components/settings/DomainManagement.spec.ts | 639 | expect(vm.isValidEmail("test@test.com", undefined)).toBe(false); |
| LOW | web/src/components/actionScripts/ActionScripts.spec.ts | 52 | created_by: "admin@example.com", |
| LOW | web/src/components/actionScripts/ActionScripts.spec.ts | 826 | created_by: "admin@example.com", |
| LOW | web/src/components/actionScripts/ActionScripts.spec.ts | 947 | created_by: "admin@example.com", |
| LOW | web/src/components/actionScripts/ActionScripts.spec.ts | 980 | created_by: "admin@example.com", |
| LOW | …rc/components/rum/errorTracking/view/ErrorTags.spec.ts | 48 | usr_email: "user@example.com", |
| LOW | web/src/components/queries/RunningQueries.spec.ts | 46 | user_id: "user@example.com", |
| LOW | web/src/components/queries/RunningQueries.spec.ts | 96 | user_id: "user@example.com", |
| LOW | web/src/components/queries/RunningQueries.spec.ts | 457 | wrapper.vm.filterQuery = "user@example.com"; |
| LOW | web/src/components/queries/RunningQueries.spec.ts | 461 | expect(filtered.some((q: any) => q.user_id?.includes("user@example.com"))).toBe(true); |
| LOW | web/src/components/queries/RunningQueries.spec.ts | 597 | wrapper.vm.filterQuery = "user@example.com"; |
| LOW | …/src/components/alerts/PrebuiltDestinationForm.spec.ts | 253 | modelValue: { recipients: "user@example.com" }, |
| LOW | web/src/components/iam/groups/GroupUsers.spec.ts | 152 | email: "admin@example.com", |
| LOW | web/src/components/iam/groups/GroupUsers.spec.ts | 175 | groupUsers: ["user1@example.com", "admin@example.com"], |
| LOW | web/src/components/iam/groups/GroupUsers.spec.ts | 394 | email: "admin@example.com", |
| LOW | web/src/components/iam/groups/GroupUsers.spec.ts | 414 | const admin = wrapper.vm.users.find((user: any) => user.email === "admin@example.com"); |
| LOW | web/src/components/iam/groups/GroupUsers.spec.ts | 697 | expect(filteredUsers.some((user: any) => user.email === "admin@example.com")).toBe(true); |
| LOW | web/src/components/iam/groups/GroupUsers.spec.ts | 717 | { email: "admin@example.com", isInGroup: true, org: "TestOrg1", role: "admin" }, |
| LOW | …onents/iam/serviceAccounts/ServiceAccountsList.spec.js | 546 | email: "admin@example.com", |
| LOW | web/src/components/iam/users/InvitationList.spec.ts | 21 | inviter_id: 'admin@example.com', |
| LOW | web/src/components/iam/users/InvitationList.spec.ts | 129 | userEmail: 'user@example.com', |
| LOW | web/src/components/iam/users/AddUser.spec.js | 949 | email: "user@example.com", |
| LOW | web/src/components/iam/users/AddUser.spec.js | 971 | email: "user@example.com", |
| LOW | web/src/components/iam/users/AddUser.spec.js | 991 | email: "user@example.com", |
| LOW | web/src/components/iam/users/AddUser.spec.js | 1005 | email: "user@example.com", |
| LOW | web/src/components/iam/users/User.spec.js | 84 | email: "user@example.com", |
| LOW | web/src/components/iam/users/User.spec.js | 183 | wrapper.vm.deleteUserEmail = "user@example.com"; |
| LOW | web/src/components/iam/users/User.spec.js | 195 | wrapper.vm.deleteUserEmail = "user@example.com"; |
| LOW | web/src/components/logs/LogsHighLighting.spec.ts | 452 | await wrapper.setProps({ data: "user@example.com" }); |
| LOW | web/src/components/logs/LogsHighLighting.spec.ts | 457 | expect(span.html()).toContain("user@example.com"); |
| LOW | web/src/components/logs/LogsHighLighting.spec.ts | 993 | user: "admin@example.com", |
| LOW | …nents/dashboards/addPanel/CustomMarkdownEditor.spec.ts | 703 | name: "John Doe", |
| LOW | …omponents/dashboards/addPanel/CustomHTMLEditor.spec.ts | 413 | name: "John Doe", |
| LOW | …b/src/components/functions/EnrichmentTableList.spec.ts | 131 | userInfo: { email: "test@test.com" }, |
| 109 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/api-testing/tests/test_serviceaccounts.py | 47 | # Create a service account |
| MEDIUM | tests/api-testing/tests/test_serviceaccounts.py | 79 | # Create a service account |
| MEDIUM | tests/api-testing/tests/test_serviceaccounts.py | 117 | # Create a service account |
| MEDIUM | tests/api-testing/tests/test_serviceaccounts.py | 165 | # Create a service account |
| MEDIUM | tests/api-testing/tests/test_organisations.py | 79 | # Create a new organization |
| MEDIUM | tests/api-testing/tests/test_enrichment_table_url.py | 42 | # Initialize page object |
| MEDIUM | tests/api-testing/tests/test_enrichment_table_url.py | 84 | # Create the enrichment table (200 means job saved, runs async in background) |
| MEDIUM | tests/api-testing/tests/test_enrichment_table_url.py | 113 | # Create the enrichment table first |
| MEDIUM | tests/api-testing/tests/test_pipeline_dynamic.py | 246 | # Create the pipeline |
| MEDIUM | tests/api-testing/tests/test_pipeline_dynamic.py | 481 | # Create the pipeline |
| MEDIUM | tests/api-testing/tests/test_pipeline_dynamic.py | 1203 | # Create the pipeline |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 30 | # Define the characters to choose from lower case letters |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 819 | # Define the payload |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 1131 | # Define the test function |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 1145 | # Define the JSON payload |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 1190 | # # Define the test function |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 1202 | # Define the JSON payload |
| MEDIUM | tests/api-testing/tests/test_alertsV2.py | 637 | # Create a logger |
| MEDIUM | tests/api-testing/tests/test_alertsV2.py | 75 | skip_tls_verify_value = False # Define the skip_tls_verify_value |
| MEDIUM | tests/api-testing/tests/test_alertsV2.py | 283 | skip_tls_verify_value = False # Define the skip_tls_verify_value |
| MEDIUM | tests/api-testing/tests/test_alerts.py | 276 | # Create a second alert |
| MEDIUM | tests/api-testing/tests/test_dashboards.py | 211 | # Create a dashboard first |
| MEDIUM | tests/api-testing/tests/test_dashboards.py | 243 | # Create a dashboard first |
| MEDIUM | tests/api-testing/tests/test_dashboards.py | 668 | # Create a dashboard with panels first |
| MEDIUM | tests/api-testing/tests/test_dashboards.py | 724 | # Create a dashboard |
| MEDIUM | tests/api-testing/tests/test_dashboards.py | 790 | # Create a dashboard |
| MEDIUM | tests/api-testing/tests/test_functions.py | 19 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_functions.py | 48 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_functions.py | 67 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_functions.py | 85 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_functions.py | 113 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_functions.py | 134 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_functions.py | 163 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_functions.py | 181 | # Create a function |
| MEDIUM | tests/api-testing/tests/test_summary.py | 131 | # Create a pipeline |
| MEDIUM | tests/api-testing/tests/test_summary.py | 180 | skip_tls_verify_value = False # Define the skip_tls_verify_value |
| MEDIUM | tests/api-testing/tests/test_backfill.py | 434 | # Create a pipeline and backfill job |
| MEDIUM | tests/api-testing/tests/test_backfill.py | 604 | # Create a pipeline first |
| MEDIUM | tests/api-testing/tests/test_backfill.py | 702 | # Create a real pipeline first |
| MEDIUM | tests/api-testing/tests/test_backfill.py | 727 | # Create a REALTIME pipeline (not scheduled) |
| MEDIUM | tests/api-testing/tests/test_pipeline.py | 58 | # Create a pipeline |
| MEDIUM | tests/api-testing/tests/test_pipeline.py | 211 | # Create a pipeline |
| MEDIUM | tests/api-testing/tests/test_pipeline.py | 341 | # Create a pipeline |
| MEDIUM | tests/api-testing/tests/test_pipeline.py | 1083 | # Create a pipeline |
| MEDIUM | tests/api-testing/tests/test_folders.py | 30 | # Create a dashboards folder |
| MEDIUM | tests/api-testing/tests/test_folders.py | 167 | # Create a alerts folder |
| MEDIUM | tests/api-testing/tests/pages/destination_page.py | 63 | skip_tls_verify_value = False # Define the skip_tls_verify_value |
| MEDIUM | tests/api-testing/tests/pages/destination_page.py | 204 | # Define the payload for the PUT request |
| MEDIUM | scripts/translations/translator.py | 16 | # Define the path for the target language file (e.g., fr.json, es.json) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/api-testing/env.sh | 18 | # Check if yq is available (preferred method) |
| LOW | tests/api-testing/env.sh | 35 | # Check if we're entering the env section |
| LOW | tests/api-testing/env.sh | 41 | # Check if we're leaving the env section (next top-level key) |
| LOW | tests/api-testing/tests/test_max_query_range.py | 654 | # Set max_query_range to 0 (disabled) |
| LOW | tests/api-testing/tests/test_max_query_range.py | 839 | # Set max_query_range to 1 hour |
| LOW | tests/api-testing/tests/test_function_test_endpoint.py | 166 | # Check if error message is present in results |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 354 | # Check if data went to literal template name (indicating substitution failure) |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 554 | # Check if data went to literal template name (indicating substitution failure) |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 1354 | # Check if the stream was created at all |
| LOW | tests/api-testing/tests/test_sourcemap_api.py | 366 | # Check if there are multiple frames (cross-chunk) |
| LOW | tests/api-testing/tests/test_alert_history.py | 45 | # Check if triggers stream already exists |
| LOW | tests/api-testing/tests/test_alertsV2.py | 621 | # Check if the response is a dictionary (which it seems to be) |
| LOW | tests/api-testing/tests/test_alertsV2.py | 108 | # Check if the destination name matches |
| LOW | tests/api-testing/tests/test_alertsV2.py | 214 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_alertsV2.py | 316 | # Check if the destination name matches |
| LOW | tests/api-testing/tests/test_alertsV2.py | 416 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_alertsV2.py | 504 | # Check if the response is a dictionary (which it seems to be) |
| LOW | tests/api-testing/tests/test_alertsV2.py | 529 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_alertsV2.py | 562 | # Check if the response is a dictionary (which it seems to be) |
| LOW | tests/api-testing/tests/test_alertsV2.py | 587 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_alertsV2.py | 649 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_alertsV2.py | 683 | # Check if the response was successful |
| LOW | tests/api-testing/tests/test_alertsV2.py | 710 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_alertsV2.py | 158 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/test_alertsV2.py | 368 | "type": None, # Set it to None or remove it |
| LOW | …ts/api-testing/tests/test_dashboard_multiwindow_vrl.py | 567 | # Check if function_error is reported in metadata |
| LOW | tests/api-testing/tests/test_summary.py | 212 | # Check if the destination name matches |
| LOW | tests/api-testing/tests/test_summary.py | 261 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/test_summary.py | 426 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_summary.py | 551 | # Check if "list" is in the response and proceed |
| LOW | tests/api-testing/tests/test_summary.py | 555 | # Check if the alerts list is empty |
| LOW | tests/api-testing/tests/test_summary.py | 573 | # Check if the "list" is present and assert that it's empty |
| LOW | tests/api-testing/tests/pages/destination_page.py | 294 | # Check if any templates of the specified type exist |
| LOW | tests/api-testing/tests/pages/destination_page.py | 315 | # Check if any templates of the specified type exist |
| LOW | tests/api-testing/tests/pages/destination_page.py | 339 | # Check if any templates of the specified type exist |
| LOW | tests/api-testing/tests/pages/enrichment_page.py | 36 | # Read the file content as binary |
| LOW | tests/api-testing/tests/pages/enrichment_page.py | 187 | # Check if it's keyed by table_name |
| LOW | tests/api-testing/tests/pages/enrichment_page.py | 194 | # Check if it's a single status object |
| LOW | tests/api-testing/tests/pages/template_page.py | 180 | # Check if any templates of the specified type exist |
| LOW | tests/api-testing/tests/pages/template_page.py | 201 | # Check if any templates of the specified type exist |
| LOW | tests/api-testing/tests/pages/alert_page.py | 693 | # Check if any alerts of the specified type exist |
| LOW | tests/api-testing/tests/pages/alert_page.py | 715 | # Check if any templates of the specified type exist |
| LOW | tests/api-testing/tests/pages/alert_page.py | 30 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/pages/alert_page.py | 81 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/pages/alert_page.py | 132 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/pages/alert_page.py | 183 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/pages/alert_page.py | 454 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/pages/alert_page.py | 504 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/pages/alert_page.py | 553 | "type": None, # Set it to None or remove it |
| LOW | tests/api-testing/tests/pages/alert_page.py | 602 | "type": None, # Set it to None or remove it |
| LOW | tests/ui-testing/env.sh | 18 | # Check if yq is available (preferred method) |
| LOW | tests/ui-testing/env.sh | 35 | # Check if we're entering the env section |
| LOW | tests/ui-testing/env.sh | 41 | # Check if we're leaving the env section (next top-level key) |
| LOW | scripts/translations/translator.py | 19 | # Check if the target language file exists |
| LOW | scripts/translations/translator.py | 76 | # Check if this key exists in existing translations |
| LOW | .github/workflows/playwright.yml | 565 | # Check if this is a rerun |
| LOW | .github/workflows/playwright.yml | 570 | # Check if this is "re-run all" - if so, skip TestDino and run all tests |
| LOW | .github/workflows/playwright.yml | 663 | # Check if the TestDino output contains tests for this shard (case-insensitive) |
| LOW | .github/workflows/playwright.yml | 676 | # Check if file actually starts with our folder (case-insensitive) |
| LOW | .github/workflows/playwright.yml | 681 | # Check if this file is actually in the current shard's run_files list |
| 9 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/api-testing/tests/test_js_result_array.py | 36 | filtered.push(rows[i]); |
| HIGH | tests/api-testing/tests/test_js_result_array.py | 41 | rows.push(filtered[i]); |
| HIGH | tests/api-testing/tests/test_js_result_array.py | 79 | filtered.push(rows[i]); |
| HIGH | tests/api-testing/tests/test_js_result_array.py | 84 | rows.push(filtered[i]); |
| HIGH | tests/api-testing/tests/test_js_result_array.py | 196 | rows.push(newRow); |
| HIGH | tests/api-testing/tests/test_js_result_array.py | 270 | row.doubled = (row.value || 0) * 2;""", |
| HIGH | tests/api-testing/tests/test_js_result_array.py | 315 | sum += rows[i].value || 0; |
| HIGH | tests/api-testing/tests/test_js_enrichment.py | 203 | if (data === null || data === undefined) { |
| HIGH | tests/api-testing/tests/test_js_enrichment.py | 203 | if (data === null || data === undefined) { |
| HIGH | tests/api-testing/tests/test_js_enrichment.py | 245 | if (userData === null || userData === undefined) { |
| HIGH | tests/api-testing/tests/test_js_enrichment.py | 245 | if (userData === null || userData === undefined) { |
| HIGH | tests/api-testing/tests/test_pipeline_dynamic.py | 1257 | # Ingest test data with event_name = null (field set to null) |
| HIGH | tests/api-testing/tests/test_pipeline_dynamic.py | 1363 | # Test passes - pipeline works with event_name=null, data timing is secondary |
| HIGH | …i-testing/tests/test_functions_meta_org_restriction.py | 75 | "function": "row.count = (row.count || 0) + 1;", |
| HIGH | …i-testing/tests/test_functions_meta_org_restriction.py | 93 | "function": "row.count = (row.count || 0) + 1;", |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/api-testing/tests/test_search.py | 0 | running an e2e test for valid match all histogram query. |
| HIGH | tests/api-testing/tests/test_search.py | 0 | running an e2e test for valid match all histogram query. |
| HIGH | tests/api-testing/tests/test_search.py | 0 | running an e2e test for valid match all histogram query. |
| HIGH | tests/api-testing/tests/pages/destination_page.py | 0 | running an e2e test for validating deleted destinations in sc. |
| HIGH | tests/api-testing/tests/pages/destination_page.py | 0 | running an e2e test for validating deleted destinations in sc. |
| HIGH | tests/api-testing/tests/pages/destination_page.py | 0 | running an e2e test for validating deleted destinations in sc. |
| HIGH | tests/api-testing/tests/pages/template_page.py | 0 | running an e2e test for validating deleted templates in sc. |
| HIGH | tests/api-testing/tests/pages/template_page.py | 0 | running an e2e test for validating deleted templates in sc. |
| HIGH | tests/api-testing/tests/pages/alert_page.py | 0 | running an e2e test for validating deleted templates in sc. |
| HIGH | tests/api-testing/tests/pages/alert_page.py | 0 | running an e2e test for validating deleted alerts in sc. |
| HIGH | tests/api-testing/tests/pages/alert_page.py | 0 | running an e2e test for validating deleted alerts in sc. |
| HIGH | tests/api-testing/tests/pages/alert_page.py | 0 | running an e2e test for validating deleted alerts in sc. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | web/src/components/alerts/QueryEditorDialog.vue | 1273 | // Absolutely fills outer — cannot affect outer's height |
| LOW | tests/api-testing/tests/test_js_enrichment.py | 60 | # It will just return 'unknown' for missing data |
| MEDIUM | tests/api-testing/tests/test_pipeline_dynamic.py | 747 | # Edge case tests for comprehensive validation |
| MEDIUM | tests/api-testing/tests/test_pipeline_dynamic.py | 903 | # Ingest comprehensive test data |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 1422 | # For streaming responses, use a more nuanced approach to determine total |
| MEDIUM | …aywright-tests/RegressionSet/alerts-regression.spec.js | 128 | test("Bug #9967: PromQL alert creation - comprehensive validation", { |
| MEDIUM | …aywright-tests/RegressionSet/alerts-regression.spec.js | 132 | testLogger.info('Testing Bug #9967 fix - comprehensive validation'); |
| MEDIUM | …aywright-tests/RegressionSet/alerts-regression.spec.js | 236 | testLogger.info('✅ Bug #9967 comprehensive test completed - all scenarios verified'); |
| MEDIUM | tests/ui-testing/pages/generalPages/sanityPage.js | 1046 | // Click refresh button with robust waits |
| MEDIUM | tests/ui-testing/pages/alertsPages/alertsPage.js | 1090 | // Close with robust handling for dialog backdrops |
| MEDIUM | tests/ui-testing/pages/alertsPages/alertsPage.js | 1125 | // Close with robust handling for dialog backdrops |
| MEDIUM | tests/ui-testing/pages/reportsPages/reportsPage.js | 94 | // within. More robust than relying on a standalone embedded-name data-test |
| MEDIUM | tests/ui-testing/pages/logsPages/logsPage.js | 2978 | // Use the same robust waiting pattern as clickSavedViewSearchInput(): |
| MEDIUM | tests/ui-testing/pages/logsPages/logsPage.js | 8199 | // Find anomaly column index by header text (more robust than hardcoded index) |
| MEDIUM | …ts/ui-testing/pages/dashboardPages/dashboard-filter.js | 366 | // New robust function for nested group filter conditions |
| MEDIUM | src/config/src/meta/dashboards/mod.rs | 95 | /// future versions of the dashboard should utilize the `created_at` Unix |
| MEDIUM | src/service/tantivy/bloom_builder.rs | 45 | /// `create_tantivy_index` produces a single segment, but this is robust to that changing. |
| MEDIUM | src/service/enrichment_table/url_processor.rs | 918 | /// Using reqwest for its robust async streaming support and production-ready |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | web/src/components/O2AIChat.vue | 1599 | // AI-generated chat title state |
| HIGH | web/src/components/O2AIChat.vue | 2290 | // Handle title events - AI-generated chat title from first message |
| HIGH | web/src/components/O2AIChat.vue | 3319 | // Prefer AI-generated title, fallback to default |
| HIGH | web/src/components/O2AIChat.vue | 3475 | resetTitleState(); // Clear AI-generated title for new chat |
| HIGH | web/src/components/O2AIChat.vue | 5650 | // AI-generated title |
| HIGH | src/config/src/meta/alerts/incidents.rs | 260 | /// AI-generated root cause analysis (markdown) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/coverage.sh | 98 | except Exception as e: |
| LOW | tests/api-testing/tests/test_enrichment_table_join.py | 138 | except Exception as e: |
| LOW | tests/api-testing/tests/test_logs_to_logs_join.py | 114 | except Exception as e: |
| LOW | tests/api-testing/tests/test_enrichment_table_url.py | 63 | except Exception as e: |
| LOW | tests/api-testing/tests/test_sourcemap_api.py | 114 | except Exception as e: |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 1390 | print(f"Error parsing metadata JSON: {e}") |
| MEDIUM | tests/api-testing/tests/test_streaming.py | 1406 | print(f"Error parsing hits JSON: {e}") |
| LOW | tests/api-testing/tests/test_bulk.py | 52 | except Exception as e: |
| MEDIUM | tests/api-testing/tests/test_bulk.py | 53 | print("Error parsing JSON response:", str(e)) |
| LOW | tests/api-testing/tests/test_sourcemap_rbac.py | 99 | except Exception as e: |
| LOW | tests/api-testing/tests/test_sourcemap_rbac.py | 121 | except Exception as e: |
| LOW | tests/api-testing/tests/test_rum.py | 174 | except Exception as e: |
| LOW | tests/api-testing/tests/sourcemap_helpers.py | 236 | except Exception as e: |
| LOW | tests/api-testing/tests/sourcemap_helpers.py | 261 | except Exception: |
| LOW | tests/api-testing/tests/test_backfill.py | 87 | except Exception as e: |
| LOW | tests/api-testing/tests/test_backfill.py | 97 | except Exception as e: |
| MEDIUM | tests/api-testing/tests/pages/alert_page.py | 247 | print(f"Error processing alert {alert}: {str(e)}") |
| MEDIUM | tests/api-testing/tests/pages/alert_page.py | 301 | print(f"Error processing alert {alert}: {str(e)}") |
| LOW | scripts/translations/translator.py | 111 | except Exception as e: |
| MEDIUM | scripts/translations/translator.py | 113 | print(f"Error: {str(e)}") |
| LOW | scripts/translations/main.py | 48 | except Exception as e: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | config/prebuilt-destinations.json | 198 | "Authorization": "GenieKey YOUR_API_KEY" |
| HIGH | src/infra/src/table/entity/README.md | 7 | Be sure to replace `YOUR_DATABASE_URL` with the database connection string. Alternatively, if you set the environment va |
| HIGH | src/infra/src/table/entity/README.md | 30 | --database-url YOUR_DATABASE_URL |
| HIGH | src/config/src/prebuilt_loader.rs | 632 | "GenieKey YOUR_API_KEY".to_string(), |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/api-testing/tests/test_serviceaccounts.py | 5 | |
| LOW | tests/api-testing/tests/test_serviceaccounts.py | 6 | |
| LOW | tests/api-testing/tests/test_serviceaccounts.py | 6 | |
| LOW | tests/api-testing/tests/test_search.py | 2 | |
| LOW | tests/api-testing/tests/test_subquery_join_match.py | 30 | |
| LOW | tests/api-testing/tests/test_alertsV2.py | 4 | |
| LOW | tests/api-testing/tests/test_alertsV2.py | 6 | |
| LOW | tests/api-testing/tests/test_alerts.py | 1 | |
| LOW | tests/api-testing/tests/test_workflow.py | 4 | |
| LOW | tests/api-testing/tests/test_workflow.py | 5 | |
| LOW | tests/api-testing/tests/test_workflow.py | 6 | |
| LOW | tests/api-testing/tests/test_workflow.py | 7 | |
| LOW | tests/api-testing/tests/test_workflow.py | 8 | |
| LOW | tests/api-testing/tests/test_fuzzy.py | 2 | |
| LOW | tests/api-testing/tests/test_summary.py | 3 | |
| LOW | tests/api-testing/tests/test_summary.py | 3 | |
| LOW | tests/api-testing/tests/test_summary.py | 3 | |
| LOW | tests/api-testing/tests/test_summary.py | 10 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/api-testing/tests/test_search.py | 1348 | |
| LOW | tests/api-testing/tests/test_search.py | 1428 | |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 165 | |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 401 | |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 607 | |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 761 | |
| LOW | tests/api-testing/tests/test_pipeline_dynamic.py | 895 | |
| LOW | tests/api-testing/tests/test_streaming.py | 1363 | |
| LOW | …/api-testing/tests/test_dashboards_multi_window_vrl.py | 389 | |
| LOW | tests/api-testing/tests/test_alert_history.py | 38 | |
| LOW | tests/api-testing/tests/test_dashboards.py | 60 | |
| LOW | tests/api-testing/tests/test_dashboards.py | 426 | |
| LOW | …ts/api-testing/tests/test_dashboard_multiwindow_vrl.py | 125 | |
| LOW | tests/api-testing/tests/test_summary.py | 341 | |
| LOW | tests/api-testing/tests/sourcemap_helpers.py | 223 | |
| LOW | tests/api-testing/tests/pages/enrichment_page.py | 204 | |
| LOW | scripts/translations/translator.py | 117 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/src/utils/zincutils.ts | 786 | // // Example usage: |
| LOW | tests/api-testing/env.sh | 6 | # Usage: |
| LOW | tests/ui-testing/env.sh | 6 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .github/workflows/ok-to-test.yml | 23 | # See app.yml for an example app manifest - you can use fake URLs when generating |