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.
This report presents the forensic synthetic code analysis of openobserve/openobserve, a TypeScript project with 19,942 GitHub stars. SynthScan v2.0 examined 1,952,956 lines of code across 4612 source files, recording 7811 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 7.3 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 7811 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 11 | // ─── IDB mock helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 131 | // ─── openDB ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 147 | // ─── mergeValues ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 185 | // ─── mergeMultipleValues ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 231 | // ─── getValues ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 269 | // ─── evictExpired ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/fieldValueDB.spec.ts | 282 | // ─── trimToMaxFields ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 62 | // ─── Return value structure ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 92 | // ─── resetFieldValues ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 141 | // ─── cancelFieldStream ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValuesStream.spec.ts | 184 | // ─── fetchFieldValues ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValuesStream.ts | 70 | // ─── Trace ID helpers ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValuesStream.ts | 85 | // ─── Public API ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValuesStream.ts | 134 | // ─── Stream handlers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useUnauthorizedErrorGrouper.ts | 20 | // ── Friendly name overrides ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useUnauthorizedErrorGrouper.ts | 40 | // ── URL → {label, urlPath} extraction ─────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useUnauthorizedErrorGrouper.ts | 101 | // ── Module-level singleton state ───────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useUnauthorizedErrorGrouper.ts | 155 | // ── Public API ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 3 | // ─── Mock fieldValueDB ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 12 | // ─── Mock extractValuesFromHits ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 30 | // ─── scheduleWrite behaviour ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 98 | // ─── captureFromValuesApi ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValueStore.spec.ts | 175 | // ─── getFieldValuesForSuggestion ────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValueStore.ts | 29 | // ─── Configuration ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | web/src/composables/useFieldValueStore.ts | 56 | // ─── In-memory read cache ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | web/src/composables/useFieldValueStore.ts | 66 | // ─── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | web/src/composables/useFieldValueStore.ts | 74 | // ─── Helpers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useFieldValueStore.ts | 141 | // ─── Public API ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 94 | // ─── Default Values ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 182 | // ─── Composable ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 207 | // ── Core State ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 230 | // ── Anomaly Detection State ───────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 350 | // ── Expand / UI State ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 405 | // ── Wizard State (kept for anomaly flow) ──────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 423 | // ── V3 Tab State (for standard alerts) ────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 452 | // ── Computed Properties ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 544 | // ── Parser ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 560 | // ── Stream Methods ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 639 | // ── SQL → stream-name sync ────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 729 | // ── SQL Generation ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 902 | // ── Validation ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 1254 | // ── Condition Transforms ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 1277 | // ── UI Update Methods ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 1386 | // ── Error Handling ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 1419 | // ── JSON Editor Save ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 1458 | // ── Panel Data Import ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 1700 | // ── Wizard Navigation (kept for anomaly) ──────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 1768 | // ── Save Methods ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 2100 | // ── Data Initialization (replaces created() hook) ─────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 2264 | // ── Watchers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 2563 | // ── Lifecycle ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useAlertForm.ts | 2716 | // ── Return ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useDimensionSelector.spec.ts | 52 | // ─── selectDimensionsFromData ───────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useDimensionSelector.spec.ts | 192 | // ─── selectTraceDimensions ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 124 | // ─── Return value structure ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 147 | // ─── fetchQueryDataWithWebSocket ───────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 254 | // ─── cleanUpListeners ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 289 | // ─── cancelSearchQueryBasedOnRequestId ─────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 334 | // ─── closeSocketBasedOnRequestId ───────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/composables/useSearchWebSocket.spec.ts | 343 | // ─── closeSocket ───────────────────────────────────────────────────────── | COMMENT |
| 2264 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/vite.config.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/vitest.config.ts | 61 | // column is meant to read in the user's own timezone — so those tests can | COMMENT |
| LOW | web/vitest.config.ts | 161 | // deps: { | COMMENT |
| LOW | web/vitest.config.ts | 181 | // "env.d.ts", | COMMENT |
| LOW | web/quasar.conf.js | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/cypress.config.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | …posables/usePrebuiltDestinations.comprehensive.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | …tests/unit/composables/usePrebuiltDestinations.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | …unit/components/alerts/PrebuiltDestinationForm.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | …s/unit/components/alerts/DestinationTestResult.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | …/components/alerts/PrebuiltDestinationSelector.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/tests/unit/components/alerts/AddDestination.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | …ests/unit/components/alerts/DestinationPreview.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/tests/unit/services/alert_destination.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/main.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/aws-exports.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useTreeInteraction.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/usePrebuiltDestinations.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useLogsHighlighter.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useActions.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/usePipelines.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useFieldValuesStream.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useMetricsCorrelationDashboard.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useLogs.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useWorker.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useFieldValuesStream.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useSessionActivity.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useChunkedContent.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useTreeVisualization.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useIngestion.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useUnauthorizedErrorGrouper.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useStreams.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useServiceGraphTree.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useFunctions.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useMetricsExplorer.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/router.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useErrorTracking.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useAlertInsights.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useStickyColumns.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useWorker.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useSessionReplay.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useWidenRange.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useFunctions.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useServiceCorrelation.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useSelectAutocomplete.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useChatHistory.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useChatHistory.spec.ts | 41 | }), | COMMENT |
| LOW | web/src/composables/router.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useVrlPlaceholder.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useStickyColumns.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useSessionReplay.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useRoutePrefetch.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useFieldGrouping.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useFieldValueStore.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useRoutePrefetch.spec.ts | 1 | // Copyright 2026 OpenObserve Inc. | COMMENT |
| LOW | web/src/composables/useRoutePrefetch.spec.ts | 81 | // Re-create the composable so we can inject a failing loader via vi.doMock | COMMENT |
| LOW | web/src/composables/useSuggestions.ts | 321 | focusOn: "", // label or value | COMMENT |
| LOW | web/src/composables/useSuggestions.ts | 341 | // | COMMENT |
| LOW | web/src/composables/useSuggestions.ts | 361 | // Slice the WHERE clause up to (and including) the cursor position. | COMMENT |
| 2735 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 447 | // Step 1: Expand variables for scopes | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 450 | // Step 2: Populate state | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 471 | // Step 3: Build dependency graph | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 481 | // Step 4: Detect cycles | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 487 | // Step 5: Mark global independent variables as ready to load | COMMENT |
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 561 | // Step 6: Initialize committed state (empty at first) | COMMENT |
| LOW | …/plugins/correlation/TelemetryCorrelationDashboard.vue | 3114 | // Step 1: Try to extract trace_id from the log record | COMMENT |
| LOW | web/src/plugins/pipelines/useDnD.ts | 278 | // Step 1: Build the adjacency list from the current edges | COMMENT |
| LOW | web/src/plugins/pipelines/useDnD.ts | 289 | // Step 2: Define the DFS function to detect cycles | COMMENT |
| LOW | web/src/plugins/pipelines/useDnD.ts | 312 | // Step 3: Run DFS from the source node of the new connection | COMMENT |
| LOW | web/src/plugins/logs/Index.vue | 802 | * As we are redirecting stream explorer to logs page, we need to check if the user has changed the stream type from | COMMENT |
| LOW | web/src/plugins/logs/TenstackTable.vue | 1242 | //we need to check if source column is present in the columns | COMMENT |
| LOW | web/src/plugins/logs/SearchBar.vue | 3674 | //before we set the time to the dateTimeRef.value we need to check if the startTime and endTime difference | COMMENT |
| LOW⚡ | web/src/plugins/logs/SearchBar.spec.ts | 4214 | // Step 1: user types full SQL query — auto-detect turns on SQL mode | COMMENT |
| LOW⚡ | web/src/plugins/logs/SearchBar.spec.ts | 4218 | // Step 2: user removes 'select * from otel_demo where ', leaving filter | COMMENT |
| LOW⚡ | web/src/plugins/logs/SearchBar.spec.ts | 4221 | // Step 3: sqlMode must be off so run-query uses filter mode | COMMENT |
| LOW | web/src/plugins/logs/patterns/PatternList.spec.ts | 105 | // Since we're using virtual scroll, we need to check if the component | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 114 | // Step 1: discover dynamic prefix groups from the field set | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 117 | // Step 2: build flat field objects with resolved group keys | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 128 | // Step 3: bucket by group key | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 136 | // Step 4: sort groups | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 141 | // Step 5: inject label rows | COMMENT |
| LOW⚡ | web/src/utils/llmUtils.ts | 263 | // Step 1: Parse JSON string if needed | COMMENT |
| LOW⚡ | web/src/utils/llmUtils.ts | 273 | // Step 2: Extract meaningful text from parsed object | COMMENT |
| LOW⚡ | web/src/utils/alerts/conditionsFormatter.ts | 396 | // Step 1: Format the value (add quotes if needed, based on type) | COMMENT |
| LOW⚡ | web/src/utils/alerts/conditionsFormatter.ts | 403 | // Step 2: Build the condition string (column operator value) | COMMENT |
| LOW⚡ | web/src/utils/alerts/conditionsFormatter.ts | 412 | // Step 3: Add logical operator prefix (except for first item at index 0) | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 110 | // Step 1: Aggregate y_axis values by breakdown, ensuring missing values are set to empty string | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 129 | // Step 2: Sort and extract the top keys based on the configured number of top results | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 149 | // Step 3: Initialize result array and others object for aggregation | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 174 | // Step 4: Add 'others' aggregation to the result array if enabled | COMMENT |
| LOW | …/utils/dashboard/variables/variablesDependencyUtils.ts | 354 | // Step 1: Initialize nodes | COMMENT |
| LOW | …/utils/dashboard/variables/variablesDependencyUtils.ts | 371 | // Step 2: Build edges | COMMENT |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 83 | // Step 1: Find appropriate converter for this chart type | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 96 | // Step 2: Preprocess data (common for all chart types) | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 104 | // Step 3: Initialize extras object | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 111 | // Step 4: Delegate to chart-specific converter | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 121 | // Step 5: Apply common chart configurations | COMMENT |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 135 | // Step 6: Apply comprehensive legend configuration (same as SQL charts) | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 147 | // Step 7: Apply annotations (if applicable) | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 153 | // Step 8: Handle empty data case | COMMENT |
| LOW⚡ | web/src/utils/dashboard/sql/shared/contextBuilder.ts | 124 | // Step 1: Get the X-Axis key | COMMENT |
| LOW⚡ | web/src/utils/dashboard/sql/shared/contextBuilder.ts | 127 | // Step 2: Get the Y-Axis key | COMMENT |
| LOW⚡ | web/src/utils/templates/validation.ts | 46 | // Step 1: Replace quoted placeholders first: "{placeholder}" -> "test" | COMMENT |
| LOW⚡ | web/src/utils/templates/validation.ts | 49 | // Step 2: Iteratively replace bare placeholders (simple identifiers only) | COMMENT |
| LOW | web/src/components/TenstackTable.vue | 2552 | //we need to check if source column is present in the columns | COMMENT |
| LOW | …b/src/components/logstream/AssociatedRegexPatterns.vue | 815 | //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 | COMMENT |
| LOW | web/src/components/pipeline/NodeForm/Query.vue | 609 | //before assigning the sql , we need to check if the sql does limit is applied or not | COMMENT |
| LOW⚡ | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 419 | // Step 1: Ensure folders exist | COMMENT |
| LOW⚡ | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 422 | // Step 2: Download dashboard JSON to get the actual title | COMMENT |
| LOW⚡ | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 431 | // Step 3: Check if dashboard already exists by listing all dashboards in the folder | COMMENT |
| LOW | web/src/components/alerts/AddDestination.vue | 875 | // Step 1: Parse metadata and remove credential_ prefix | COMMENT |
| LOW | web/src/components/alerts/AddDestination.vue | 899 | // Step 2: Restore sensitive fields from destination properties | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1557 | // Step 1: Get stream schema (like logs page does) | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1561 | // Step 2: Extract schema fields (like logs page does) | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1570 | // Step 3: Get semantic groups to resolve dimension names to field patterns | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1576 | // Step 4: For each dimension, find the matching schema field | COMMENT |
| LOW⚡ | web/src/components/alerts/QueryEditorDialog.vue | 629 | // Step 1: grow the VRL pane (sqlEditorMaximized = false triggers CSS) | COMMENT |
| LOW⚡ | web/src/components/alerts/QueryEditorDialog.vue | 633 | // Step 2: after two animation frames the browser has finished laying out | COMMENT |
| LOW | web/src/components/iam/quota/Quota.vue | 1347 | //if the active type is json then we need to check if the changes are there in the changedValues | COMMENT |
| 735 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 447 | // Step 1: Expand variables for scopes | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 450 | // Step 2: Populate state | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 471 | // Step 3: Build dependency graph | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 481 | // Step 4: Detect cycles | COMMENT |
| LOW⚡ | web/src/composables/dashboard/useVariablesManager.ts | 487 | // Step 5: Mark global independent variables as ready to load | COMMENT |
| LOW | web/src/composables/dashboard/useVariablesManager.ts | 561 | // Step 6: Initialize committed state (empty at first) | COMMENT |
| LOW | …/plugins/correlation/TelemetryCorrelationDashboard.vue | 3114 | // Step 1: Try to extract trace_id from the log record | COMMENT |
| LOW | web/src/plugins/pipelines/useDnD.ts | 278 | // Step 1: Build the adjacency list from the current edges | COMMENT |
| LOW | web/src/plugins/pipelines/useDnD.ts | 289 | // Step 2: Define the DFS function to detect cycles | COMMENT |
| LOW | web/src/plugins/pipelines/useDnD.ts | 312 | // Step 3: Run DFS from the source node of the new connection | COMMENT |
| LOW⚡ | web/src/plugins/logs/SearchBar.spec.ts | 4214 | // Step 1: user types full SQL query — auto-detect turns on SQL mode | COMMENT |
| LOW⚡ | web/src/plugins/logs/SearchBar.spec.ts | 4218 | // Step 2: user removes 'select * from otel_demo where ', leaving filter | COMMENT |
| LOW⚡ | web/src/plugins/logs/SearchBar.spec.ts | 4221 | // Step 3: sqlMode must be off so run-query uses filter mode | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 114 | // Step 1: discover dynamic prefix groups from the field set | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 117 | // Step 2: build flat field objects with resolved group keys | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 128 | // Step 3: bucket by group key | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 136 | // Step 4: sort groups | COMMENT |
| LOW⚡ | web/src/utils/fieldCategories.bench.ts | 141 | // Step 5: inject label rows | COMMENT |
| LOW⚡ | web/src/utils/llmUtils.ts | 263 | // Step 1: Parse JSON string if needed | COMMENT |
| LOW⚡ | web/src/utils/llmUtils.ts | 273 | // Step 2: Extract meaningful text from parsed object | COMMENT |
| LOW⚡ | web/src/utils/alerts/conditionsFormatter.ts | 396 | // Step 1: Format the value (add quotes if needed, based on type) | COMMENT |
| LOW⚡ | web/src/utils/alerts/conditionsFormatter.ts | 403 | // Step 2: Build the condition string (column operator value) | COMMENT |
| LOW⚡ | web/src/utils/alerts/conditionsFormatter.ts | 412 | // Step 3: Add logical operator prefix (except for first item at index 0) | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 110 | // Step 1: Aggregate y_axis values by breakdown, ensuring missing values are set to empty string | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 129 | // Step 2: Sort and extract the top keys based on the configured number of top results | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 149 | // Step 3: Initialize result array and others object for aggregation | COMMENT |
| LOW | web/src/utils/dashboard/sqlProcessData.ts | 174 | // Step 4: Add 'others' aggregation to the result array if enabled | COMMENT |
| LOW | …/utils/dashboard/variables/variablesDependencyUtils.ts | 354 | // Step 1: Initialize nodes | COMMENT |
| LOW | …/utils/dashboard/variables/variablesDependencyUtils.ts | 371 | // Step 2: Build edges | COMMENT |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 83 | // Step 1: Find appropriate converter for this chart type | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 96 | // Step 2: Preprocess data (common for all chart types) | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 104 | // Step 3: Initialize extras object | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 111 | // Step 4: Delegate to chart-specific converter | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 121 | // Step 5: Apply common chart configurations | COMMENT |
| LOW | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 135 | // Step 6: Apply comprehensive legend configuration (same as SQL charts) | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 147 | // Step 7: Apply annotations (if applicable) | COMMENT |
| LOW⚡ | …b/src/utils/dashboard/promql/convertPromQLChartData.ts | 153 | // Step 8: Handle empty data case | COMMENT |
| LOW⚡ | web/src/utils/dashboard/sql/shared/contextBuilder.ts | 124 | // Step 1: Get the X-Axis key | COMMENT |
| LOW⚡ | web/src/utils/dashboard/sql/shared/contextBuilder.ts | 127 | // Step 2: Get the Y-Axis key | COMMENT |
| LOW⚡ | web/src/utils/templates/validation.ts | 46 | // Step 1: Replace quoted placeholders first: "{placeholder}" -> "test" | COMMENT |
| LOW⚡ | web/src/utils/templates/validation.ts | 49 | // Step 2: Iteratively replace bare placeholders (simple identifiers only) | COMMENT |
| LOW⚡ | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 419 | // Step 1: Ensure folders exist | COMMENT |
| LOW⚡ | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 422 | // Step 2: Download dashboard JSON to get the actual title | COMMENT |
| LOW⚡ | …omponents/ingestion/recommended/AWSIntegrationTile.vue | 431 | // Step 3: Check if dashboard already exists by listing all dashboards in the folder | COMMENT |
| LOW | web/src/components/alerts/AddDestination.vue | 875 | // Step 1: Parse metadata and remove credential_ prefix | COMMENT |
| LOW | web/src/components/alerts/AddDestination.vue | 899 | // Step 2: Restore sensitive fields from destination properties | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1557 | // Step 1: Get stream schema (like logs page does) | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1561 | // Step 2: Extract schema fields (like logs page does) | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1570 | // Step 3: Get semantic groups to resolve dimension names to field patterns | COMMENT |
| LOW⚡ | web/src/components/alerts/IncidentDetailDrawer.vue | 1576 | // Step 4: For each dimension, find the matching schema field | COMMENT |
| LOW⚡ | web/src/components/alerts/QueryEditorDialog.vue | 629 | // Step 1: grow the VRL pane (sqlEditorMaximized = false triggers CSS) | COMMENT |
| LOW⚡ | web/src/components/alerts/QueryEditorDialog.vue | 633 | // Step 2: after two animation frames the browser has finished laying out | COMMENT |
| LOW⚡ | tests/api-testing/tests/rum/test_rum.py | 157 | # Step 1: fetch a valid rum token | COMMENT |
| LOW⚡ | tests/api-testing/tests/rum/test_rum.py | 162 | # Step 2: ingest one valid RUM data record so _rumdata exists with a `service` column | COMMENT |
| LOW⚡ | tests/api-testing/tests/rum/test_rum.py | 205 | # Step 1: fetch a valid rum token | COMMENT |
| LOW⚡ | tests/api-testing/tests/rum/test_rum.py | 210 | # Step 2: ingest a log with a unique identifier we can search for | COMMENT |
| LOW | tests/api-testing/tests/rum/test_rum.py | 174 | # Step 3: wait until the _rumdata stream schema is registered and queryable | COMMENT |
| LOW | tests/api-testing/tests/rum/test_rum.py | 191 | # Step 4: a service value that was never ingested yields empty hits, not an error | COMMENT |
| LOW | tests/api-testing/tests/rum/test_rum.py | 225 | # Step 3: poll search until the unique message appears in _rumlog | COMMENT |
| LOW⚡ | …i-testing/tests/pipelines/test_enrichment_table_url.py | 325 | # Step 1: Create the enrichment table | COMMENT |
| 719 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | web/src/composables/useDashboardPanel.spec.ts | 915 | panel.dashboardPanelData.meta.stream.selectedStreamFields.push( | CODE |
| CRITICAL | web/src/composables/useDashboardPanel.spec.ts | 3397 | panel.dashboardPanelData.meta.stream.selectedStreamFields.push( | CODE |
| CRITICAL | web/src/composables/useAlertForm.ts | 1027 | formData.value.query_condition.aggregation.group_by.forEach( | CODE |
| CRITICAL | web/src/composables/dashboard/useDashboardPanel.spec.ts | 220 | expect(panel.dashboardPanelData.meta.promql.labelValuesMap.get("pod")).toEqual([ | CODE |
| CRITICAL⚡ | web/src/composables/useLogs/useSearchBar.ts | 1344 | // ] of searchObj.data.queryResults.partitionDetail.partitions.entries()) { | COMMENT |
| CRITICAL⚡ | web/src/composables/useLogs/useSearchBar.ts | 1353 | // searchObj.data.queryResults.partitionDetail.paginations.push( | COMMENT |
| CRITICAL⚡ | web/src/composables/useLogs/useSearchBar.ts | 1356 | // searchObj.data.queryResults.partitionDetail.partitionTotal.push(-1); | COMMENT |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1004 | // // searchObj.data.queryResults.partitionDetail.partitions.forEach( | COMMENT |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1014 | // ] of searchObj.data.queryResults.partitionDetail.partitions.entries()) { | COMMENT |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1218 | // searchObj.data.queryResults.partitionDetail.paginations.push( | COMMENT |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1221 | // searchObj.data.queryResults.partitionDetail.partitionTotal.push( | COMMENT |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1271 | // searchObj.data.queryResults.partitionDetail.paginations.push( | COMMENT |
| CRITICAL | web/src/composables/useLogs/useSearchBar.ts | 1277 | // searchObj.data.queryResults.partitionDetail.partitionTotal.push( | COMMENT |
| CRITICAL | …b/src/composables/useLogs/useSearchHistogramManager.ts | 132 | searchObj.data.histogramQuery.query.sql.replace( | CODE |
| CRITICAL | web/src/composables/useLogs/useHistogram.ts | 613 | // searchObj.data.queryResults.partitionDetail.partitions.map( | COMMENT |
| CRITICAL | web/src/composables/useLogs/usePagination.ts | 193 | // searchObj.data.queryResults.partitionDetail.partitions.forEach( | COMMENT |
| CRITICAL | web/src/composables/useLogs/usePagination.ts | 208 | ] of searchObj.data.queryResults.partitionDetail.partitions.entries()) { | CODE |
| CRITICAL | web/src/plugins/traces/Index.vue | 665 | searchObj.data.datetime.relative.period.label.toLowerCase() == "weeks" | CODE |
| CRITICAL | web/src/plugins/traces/Index.vue | 670 | period = searchObj.data.datetime.relative.period.label.toLowerCase(); | CODE |
| CRITICAL⚡ | web/src/plugins/traces/SearchResult.vue | 273 | const RGIndex = this.searchObj.data.resultGrid.columns.indexOf(col.name); | CODE |
| CRITICAL⚡ | web/src/plugins/traces/SearchResult.vue | 274 | this.searchObj.data.resultGrid.columns.splice(RGIndex, 1); | CODE |
| CRITICAL⚡ | web/src/plugins/traces/SearchResult.vue | 276 | const SFIndex = this.searchObj.data.stream.selectedFields.indexOf( | CODE |
| CRITICAL⚡ | web/src/plugins/traces/SearchResult.vue | 280 | this.searchObj.data.stream.selectedFields.splice(SFIndex, 1); | CODE |
| CRITICAL | web/src/plugins/traces/TraceDetails.vue | 2067 | searchObj.data.traceDetails.selectedTrace.service_name.forEach( | CODE |
| CRITICAL | web/src/plugins/pipelines/PipelineFlow.spec.ts | 275 | wrapper.vm.pipelineObj.currentSelectedPipeline.nodes.push({ id: '1' }); | CODE |
| CRITICAL | web/src/plugins/pipelines/PipelineFlow.spec.ts | 363 | wrapper.vm.pipelineObj.currentSelectedPipeline.nodes.push({ id: '1' }); | CODE |
| CRITICAL | web/src/plugins/logs/Index.vue | 479 | stream_name: this.searchObj.data.stream.selectedStream.join(","), | CODE |
| CRITICAL | web/src/plugins/logs/Index.vue | 515 | stream_name: this.searchObj.data.stream.selectedStream.join(","), | CODE |
| CRITICAL | web/src/plugins/logs/Index.vue | 543 | stream_name: this.searchObj.data.stream.selectedStream.join(","), | CODE |
| CRITICAL | web/src/plugins/logs/Index.vue | 577 | stream_name: this.searchObj.data.stream.selectedStream.join(","), | CODE |
| CRITICAL | web/src/plugins/logs/Index.vue | 1064 | (!store.state.logs.logs.data.stream.selectedStream.includes( | CODE |
| CRITICAL | web/src/plugins/logs/Index.vue | 3549 | // this.searchObj.data.stream.selectedStream.hasOwnProperty("value") && | COMMENT |
| CRITICAL | web/src/plugins/logs/SearchResult.vue | 904 | const RGIndex = this.searchObj.data.resultGrid.columns.indexOf(col.id); | CODE |
| CRITICAL | web/src/plugins/logs/SearchResult.vue | 905 | this.searchObj.data.resultGrid.columns.splice(RGIndex, 1); | CODE |
| CRITICAL | web/src/utils/alerts/alertValidation.ts | 403 | !input.query_condition.aggregation.having.value.toString().trim() | CODE |
| CRITICAL | web/src/components/alerts/TemplateList.vue | 425 | query.type = router.currentRoute.value.query.type.toString() as string; | CODE |
| CRITICAL | web/src/components/alerts/PreviewAlert.vue | 1247 | props.formData.query_condition.aggregation.having.column.trim() !== ""; | CODE |
| CRITICAL | …/components/dashboards/addPanel/DrilldownPopUp.spec.ts | 634 | wrapper.vm.drilldownData.data.variables.push({ | CODE |
| CRITICAL | …/components/dashboards/addPanel/DrilldownPopUp.spec.ts | 1058 | wrapper.vm.drilldownData.data.variables.push({ | CODE |
| CRITICAL | …omponents/dashboards/addPanel/ColorPaletteDropDown.vue | 136 | v-if="dashboardPanelData.data.config.color.mode.startsWith('continuous')" | CODE |
| CRITICAL | web/src/components/dashboards/addPanel/ConfigPanel.vue | 2390 | props.dashboardPanelData.meta.streamFields.groupedFields.find( | CODE |
| CRITICAL⚡ | …/components/dashboards/addPanel/PanelFieldList.spec.ts | 332 | mockReturn.dashboardPanelData.meta.stream.streamResults.map( | CODE |
| CRITICAL | …/components/promql/components/PromQLBuilderOptions.vue | 200 | props.dashboardPanelData.meta.streamFields.groupedFields.find( | CODE |
| CRITICAL | web/src/views/Ingestion.spec.ts | 783 | const shouldShowWarning = wrapper.vm.store.state.zoConfig.hasOwnProperty('restricted_routes_on_empty_data') && | CODE |
| CRITICAL | web/src/views/Ingestion.spec.ts | 800 | const shouldShowWarning = wrapper.vm.store.state.zoConfig.hasOwnProperty('restricted_routes_on_empty_data') && | CODE |
| CRITICAL | web/src/views/Dashboards/addPanel/AddPanel.spec.ts | 998 | wrapper.vm.dashboardPanelData.data.queries.push(newQuery); | CODE |
| CRITICAL | web/src/views/Dashboards/addPanel/AddPanel.spec.ts | 4083 | wrapper.vm.dashboardPanelData.data.title.trim() === "" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/src/main.ts | 199 | function showNewVersionNotification() { | CODE |
| LOW | web/src/composables/useLogsHighlighter.ts | 517 | function createStyledSpanWithClasses( | CODE |
| LOW | web/src/composables/useLogsHighlighter.ts | 579 | function isLogLineWithMixedContent(value: string): boolean { | CODE |
| LOW | web/src/composables/useLogsHighlighter.ts | 602 | function colorizeObjectWithClasses( | CODE |
| LOW | web/src/composables/useMetricsCorrelationDashboard.ts | 42 | export function useMetricsCorrelationDashboard() { | CODE |
| LOW | web/src/composables/useServiceCorrelation.ts | 400 | export function clearSemanticGroupsCaches() { | CODE |
| LOW | web/src/composables/useServiceCorrelation.ts | 410 | export function getSemanticGroupsCacheStatus(): Record<string, { age_seconds: number; expired: boolean; groups_count: nu | CODE |
| LOW | web/src/composables/useDimensionSelector.spec.ts | 37 | function buildSamplesWithCardinality( | CODE |
| LOW | web/src/composables/useDimensionSelector.ts | 405 | function selectDimensionsFromSchema( | CODE |
| LOW | web/src/composables/useTextHighlighter.ts | 594 | function processTextWithHighlights( | CODE |
| LOW | web/src/composables/useMetricSubjectButtons.ts | 177 | function patternsForSemanticGroups( | CODE |
| LOW | web/src/composables/useMetricSubjectButtons.ts | 286 | export function buildWorkloadChipDimensions( | CODE |
| LOW | web/src/composables/useCorrelationDefaultSlug.ts | 112 | export function extractCorrelationFilters( | CODE |
| LOW | web/src/composables/useCorrelationDefaultSlug.ts | 174 | export function buildCorrelationWhereClause(filters: SavedFilter[]): string { | CODE |
| LOW | web/src/composables/useLatencyInsightsAnalysis.ts | 72 | export function useLatencyInsightsAnalysis() { | CODE |
| LOW | web/src/composables/useLatencyInsightsDashboard.ts | 31 | export function useLatencyInsightsDashboard() { | CODE |
| LOW | web/src/composables/dashboard/promqlChunkProcessor.ts | 41 | export function createPromQLChunkProcessor(options: PromQLChunkProcessorOptions) { | CODE |
| LOW | web/src/test/unit/workers/rumcssworker.spec.js | 48 | function replaceAbsoluteUrlsWithProxies( | CODE |
| LOW | web/src/enterprise/components/OnlineEvals.vue | 1002 | async function triggerScoreConfigLibraryImport() { | CODE |
| LOW | web/src/enterprise/components/OnlineEvals.vue | 1012 | async function handleScoreConfigLibraryImported() { | CODE |
| LOW | web/src/enterprise/components/OnlineEvals.vue | 1044 | async function triggerScorerLibraryImport() { | CODE |
| LOW | web/src/enterprise/components/OnlineEvals.vue | 1054 | async function handleScorerLibraryImported() { | CODE |
| LOW | …rc/enterprise/components/onlineEvals/ScorerLibrary.vue | 303 | async function resolveRequiredScoreConfig(name: string): Promise<ScoreConfig> { | CODE |
| LOW | …mponents/onlineEvals/composables/useOnlineEvalsData.ts | 73 | async function ensureScoreConfigVersions(orgId: string, entityIdValue: string) { | CODE |
| LOW | …rprise/components/onlineEvals/forms/ScorerFormPage.vue | 1184 | async function handleScoreConfigSelection() { | CODE |
| LOW | …rprise/components/onlineEvals/forms/ScorerFormPage.vue | 1190 | async function prepareSelectedScoreConfigVersion(keepSelectedVersion: boolean) { | CODE |
| LOW | …erprise/components/onlineEvals/utils/scoreThreshold.ts | 87 | export function buildUnhealthyCaseBranches( | CODE |
| LOW | …c/enterprise/components/onlineEvals/utils/routeSync.ts | 135 | export function buildCrossNavigationQuery( | CODE |
| LOW | …erprise/components/onlineEvals/utils/agentFilterSql.ts | 26 | export function buildScoresAgentFilterWhere( | CODE |
| LOW | …erprise/components/onlineEvals/utils/agentFilterSql.ts | 36 | export function buildEvaluatorAgentFilterWhere( | CODE |
| LOW | …enterprise/components/onlineEvals/utils/jobMappings.ts | 30 | export function jobMappingVariablesForScorer( | CODE |
| LOW | …enterprise/components/onlineEvals/utils/jobMappings.ts | 42 | export function buildJobInputMappingPayload( | CODE |
| LOW | …enterprise/components/onlineEvals/utils/jobMappings.ts | 61 | export function normalizeJobInputMappings(value: any, selectedScorerIds: string[]) { | CODE |
| LOW | …rise/components/onlineEvals/utils/importScoreConfig.ts | 44 | export function normalizeScoreConfigInput( | CODE |
| LOW | …rise/components/onlineEvals/utils/importScoreConfig.ts | 71 | function normalizeHealthyThreshold(ht: any): Record<string, any> | undefined { | CODE |
| LOW | …rise/components/onlineEvals/utils/exportScoreConfig.ts | 20 | export function stripScoreConfigForExport(row: ScoreConfig): ExportedScoreConfig { | CODE |
| LOW | …rise/components/onlineEvals/utils/exportScoreConfig.ts | 49 | function normalizeExportHealthyThreshold(ht: any): Record<string, any> | undefined { | CODE |
| LOW | …rise/components/onlineEvals/utils/exportScoreConfig.ts | 65 | export function exportScoreConfigFileName(row: ScoreConfig): string { | CODE |
| LOW | …c/enterprise/components/onlineEvals/utils/jobFilter.ts | 10 | export function createEmptyJobFilterGroup(): V2Group { | CODE |
| LOW | …c/enterprise/components/onlineEvals/utils/jobFilter.ts | 14 | export function normalizeJobFilterCondition(value: any): V2Group { | CODE |
| LOW | …c/enterprise/components/onlineEvals/utils/jobFilter.ts | 117 | export function buildJobFilterConditionPayload(group: V2Group) { | CODE |
| LOW | …nterprise/components/billings/usageDailyPanelSchema.ts | 97 | export function buildUsageCombinedLinePanelSchema(opts: { | CODE |
| LOW | web/src/plugins/traces/Index.spec.ts | 2273 | function mountWithServicesCatalogStub() { | CODE |
| LOW | web/src/plugins/traces/Index.spec.ts | 2317 | function mountWithServicesCatalogStub() { | CODE |
| LOW | web/src/plugins/traces/SearchResult.vue | 428 | function openUnifiedAnalysisDashboard() { | CODE |
| LOW | web/src/plugins/logs/Index.vue | 1174 | function isEnterpriseClusterEnabled() { | CODE |
| LOW | web/src/utils/identityConfig.ts | 110 | export function clearAllIdentityConfigCache(): void { | CODE |
| LOW | web/src/utils/telemetryCorrelation.ts | 67 | export function extractSemanticDimensions( | CODE |
| LOW | web/src/utils/telemetryCorrelation.ts | 132 | export function filterDimensionsForCorrelation( | CODE |
| LOW | web/src/utils/telemetryCorrelation.ts | 178 | function translateDimensionsToFields( | CODE |
| LOW | web/src/utils/telemetryCorrelation.ts | 204 | function buildExactDimensionConditions( | CODE |
| LOW | web/src/utils/telemetryCorrelation.ts | 351 | export function generateCorrelationQueries( | CODE |
| LOW | web/src/utils/queryUtils.ts | 306 | export function getCronIntervalDifferenceInSeconds(cronExpression: string) { | CODE |
| LOW | web/src/utils/queryUtils.ts | 341 | export function isAboveMinRefreshInterval( | CODE |
| LOW | web/src/utils/metrics/metricGrouping.ts | 381 | export function getDefaultMetricSelections( | CODE |
| LOW | web/src/utils/traces/patternDetection.ts | 65 | export function buildPatternConsolidatedTree(traceTree: any[]): Map<string, CallPattern> { | CODE |
| LOW | web/src/utils/traces/treeVisualizationEngine.ts | 58 | export function createTreeVisualizationEngine() { | CODE |
| LOW | web/src/utils/traces/serviceColorRegistry.ts | 6 | export function getOrSetServiceColor(name: string): string { | CODE |
| LOW | web/src/utils/traces/serviceColorRegistry.ts | 14 | export function clearServiceColorRegistry(): void { | CODE |
| LOW | web/src/utils/prebuilt-templates/index.ts | 84 | export function getPrebuiltTypesByCategory() { | CODE |
| 410 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/src/composables/useTextHighlighter.spec.ts | 268 | "user@example.com", | CODE |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 649 | expect(result).toContain("user@example.com"); | CODE |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 1117 | 'Query: SELECT * FROM users WHERE email = "user@example.com" AND status = "active" LIMIT 100'; | CODE |
| LOW | web/src/composables/useTextHighlighter.spec.ts | 1126 | expect(result).toContain("user@example.com"); | CODE |
| LOW | web/src/composables/useSelectAutocomplete.spec.ts | 770 | user: { name: 'John Doe', email: 'john@example.com' }, | CODE |
| LOW | web/src/composables/useLogsHighlighter.spec.ts | 418 | const result = logsHighlighter.detectSemanticType("user@example.com"); | CODE |
| LOW | web/src/composables/useLogsHighlighter.spec.ts | 621 | email: "user@example.com", | CODE |
| LOW | web/src/composables/usePrebuiltDestinations.spec.ts | 309 | recipients: "user@example.com", | CODE |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 12 | { name: 'John Doe', id: 1 }, | CODE |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 62 | expect(filteredOptions.value.some((option: any) => option.name === 'John Doe')).toBe(true); | CODE |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 78 | expect(filteredOptions.value[0].name).toBe('John Doe'); | CODE |
| LOW | web/src/composables/useSearchInputUsingRegex.spec.ts | 87 | expect(filteredOptions.value.some((option: any) => option.name === 'John Doe')).toBe(true); | CODE |
| LOW | …b/src/composables/useLogs/useTemplateTokenizer.spec.ts | 352 | expect(wildcardLabel("<*>", ["user@example.com", "admin@test.com"])).toBe("email"); | CODE |
| LOW | …b/src/composables/useLogs/useTemplateTokenizer.spec.ts | 419 | expect(inferTypeFromValues(["user@example.com", "admin@test.org"])).toBe("email"); | CODE |
| LOW | web/src/locales/languages/zh.json | 1462 | "placeholder": "输入电子邮件地址", | CODE |
| LOW | web/src/locales/languages/zh.json | 5928 | "placeholder": "选择身份验证类型", | CODE |
| LOW | web/src/locales/languages/zh.json | 6100 | "placeholder": "选择评分器", | CODE |
| LOW | web/src/locales/languages/tr.json | 1462 | "placeholder": "E-posta adresini girin", | CODE |
| LOW | web/src/locales/languages/tr.json | 5928 | "placeholder": "Kimlik Doğrulama Türü Seç", | CODE |
| LOW | web/src/locales/languages/tr.json | 6100 | "placeholder": "Puanlayıcıları Seç", | CODE |
| LOW | web/src/locales/languages/nl.json | 1462 | "placeholder": "Voer e-mailadres in", | CODE |
| LOW | web/src/locales/languages/nl.json | 5928 | "placeholder": "Selecteer auth-type", | CODE |
| LOW | web/src/locales/languages/nl.json | 6100 | "placeholder": "Scorers selecteren", | CODE |
| LOW | web/src/locales/languages/ja.json | 1462 | "placeholder": "Eメールアドレスを入力してください", | CODE |
| LOW | web/src/locales/languages/ja.json | 5928 | "placeholder": "認証タイプを選択", | CODE |
| LOW | web/src/locales/languages/ja.json | 6100 | "placeholder": "スコアラーを選択", | CODE |
| LOW | web/src/locales/languages/de.json | 1462 | "placeholder": "Geben Sie die E-Mail-Adresse ein", | CODE |
| LOW | web/src/locales/languages/de.json | 5928 | "placeholder": "Auth-Typ auswählen", | CODE |
| LOW | web/src/locales/languages/de.json | 6100 | "placeholder": "Scorer auswählen", | CODE |
| LOW | web/src/locales/languages/pt.json | 1462 | "placeholder": "Insira o endereço de e-mail", | CODE |
| LOW | web/src/locales/languages/pt.json | 5928 | "placeholder": "Selecione o Tipo de Autenticação", | CODE |
| LOW | web/src/locales/languages/pt.json | 6100 | "placeholder": "Selecionar Avaliadores", | CODE |
| LOW | web/src/locales/languages/en.json | 1463 | "placeholder": "Enter email address", | CODE |
| LOW | web/src/locales/languages/en.json | 6026 | "placeholder": "Select Auth Type", | CODE |
| LOW | web/src/locales/languages/en.json | 6198 | "placeholder": "Select Scorers", | CODE |
| LOW | web/src/locales/languages/it.json | 1462 | "placeholder": "Inserisci l'indirizzo email", | CODE |
| LOW | web/src/locales/languages/it.json | 5928 | "placeholder": "Seleziona tipo di autenticazione", | CODE |
| LOW | web/src/locales/languages/it.json | 6100 | "placeholder": "Seleziona scorer", | CODE |
| LOW | web/src/locales/languages/fr.json | 1462 | "placeholder": "Entrez votre adresse e-mail", | CODE |
| LOW | web/src/locales/languages/fr.json | 5928 | "placeholder": "Sélectionner le type d'authentification", | CODE |
| LOW | web/src/locales/languages/fr.json | 6100 | "placeholder": "Sélectionner des évaluateurs", | CODE |
| LOW | web/src/locales/languages/hi.json | 3150 | "placeholder": "ईमेल पता दर्ज करें", | CODE |
| LOW | web/src/locales/languages/hi.json | 5561 | "placeholder": "Auth प्रकार चुनें", | CODE |
| LOW | web/src/locales/languages/hi.json | 5747 | "placeholder": "स्कोरर चुनें", | CODE |
| LOW | web/src/locales/languages/ko.json | 1462 | "placeholder": "이메일 주소 입력", | CODE |
| LOW | web/src/locales/languages/ko.json | 5928 | "placeholder": "인증 유형 선택", | CODE |
| LOW | web/src/locales/languages/ko.json | 6100 | "placeholder": "스코어러 선택", | CODE |
| LOW | web/src/locales/languages/zh_TW.json | 1042 | "placeholder": "輸入電子郵件地址", | CODE |
| LOW | web/src/locales/languages/zh_TW.json | 5551 | "placeholder": "選擇驗證類型", | CODE |
| LOW | web/src/locales/languages/zh_TW.json | 5737 | "placeholder": "選擇評分器", | CODE |
| LOW | web/src/locales/languages/es.json | 1462 | "placeholder": "Ingresa la dirección de correo electrónico", | CODE |
| LOW | web/src/locales/languages/es.json | 5928 | "placeholder": "Seleccionar tipo de autenticación", | CODE |
| LOW | web/src/locales/languages/es.json | 6100 | "placeholder": "Seleccionar evaluadores", | CODE |
| LOW | web/src/test/unit/mockData/actionScripts.ts | 43 | created_by: "admin@example.com", | CODE |
| LOW | web/src/plugins/metrics/MetricList.spec.ts | 205 | props: ["modelValue", "placeholder", "clearable", "debounce"], | CODE |
| LOW | web/src/plugins/traces/Index.spec.ts | 2554 | : h("div", { key: "placeholder" }), | CODE |
| LOW | web/src/plugins/traces/SessionDetails.spec.ts | 227 | props: ["modelValue", "placeholder", "clearable", "debounce", "size"], | CODE |
| LOW | …plugins/traces/metrics/TracesAnalysisDashboard.spec.ts | 276 | props: ["modelValue", "dense", "borderless", "placeholder", "clearable"], | CODE |
| LOW | …/src/plugins/correlation/DimensionFilterEditor.spec.ts | 126 | props: ["modelValue", "dense", "outlined", "placeholder"], | CODE |
| LOW | web/src/plugins/logs/FunctionSelector.spec.ts | 97 | props: ["modelValue", "dense", "filled", "borderless", "clearable", "debounce", "placeholder"], | CODE |
| 248 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test-data/query-agent/compute_counts.py | 13 | cd tests/test-data/query-agent && python3 compute_counts.py | STRING |
| HIGH | tests/test-data/query-agent/gen_q201_q400.py | 8 | cd tests/test-data/query-agent && python3 gen_q201_q400.py | STRING |
| HIGH | tests/api-testing/tests/vortex/test_schema_evolution.py | 929 | assert present == 10, f"'present' group (fc not null) must be 10; got {present}" | CODE |
| HIGH⚡ | …ts/api-testing/tests/pipelines/test_js_result_array.py | 26 | if (rows[i].newdata > 50) { filtered.push(rows[i]); } | CODE |
| HIGH⚡ | …ts/api-testing/tests/pipelines/test_js_result_array.py | 29 | for (var i = 0; i < filtered.length; i++) { rows.push(filtered[i]); }""" | CODE |
| HIGH | …ts/api-testing/tests/pipelines/test_js_result_array.py | 124 | rows.push(newRow); | CODE |
| HIGH | …ts/api-testing/tests/pipelines/test_js_result_array.py | 158 | row.doubled = (row.value || 0) * 2;""" | CODE |
| HIGH | …ts/api-testing/tests/pipelines/test_js_result_array.py | 180 | for (var i = 0; i < rows.length; i++) { sum += rows[i].value || 0; } | CODE |
| HIGH⚡ | tests/api-testing/tests/pipelines/test_js_enrichment.py | 178 | """Graceful handling when the enrichment table doesn't exist (should return null).""" | STRING |
| HIGH⚡ | tests/api-testing/tests/pipelines/test_js_enrichment.py | 182 | "if (data === null || data === undefined) { row.status = 'table_not_found'; }\n" | CODE |
| HIGH⚡ | tests/api-testing/tests/pipelines/test_js_enrichment.py | 182 | "if (data === null || data === undefined) { row.status = 'table_not_found'; }\n" | CODE |
| HIGH⚡ | tests/api-testing/tests/pipelines/test_js_enrichment.py | 202 | "if (userData === null || userData === undefined) { row.lookup_result = 'key_not_found'; }\n" | CODE |
| HIGH⚡ | tests/api-testing/tests/pipelines/test_js_enrichment.py | 202 | "if (userData === null || userData === undefined) { row.lookup_result = 'key_not_found'; }\n" | CODE |
| HIGH | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 1257 | # Ingest test data with event_name = null (field set to null) | COMMENT |
| HIGH | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 1363 | # Test passes - pipeline works with event_name=null, data timing is secondary | COMMENT |
| HIGH | …tests/pipelines/test_functions_meta_org_restriction.py | 75 | "function": "row.count = (row.count || 0) + 1;", | CODE |
| HIGH | …tests/pipelines/test_functions_meta_org_restriction.py | 93 | "function": "row.count = (row.count || 0) + 1;", | CODE |
| HIGH | tests/api-testing/tests/search/test_try_cast.py | 30 | # kubernetes_namespace_name is null, and `assert field in hit` would fail | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/api-testing/env.sh | 18 | # Check if yq is available (preferred method) | COMMENT |
| LOW | tests/api-testing/env.sh | 35 | # Check if we're entering the env section | COMMENT |
| LOW | tests/api-testing/env.sh | 41 | # Check if we're leaving the env section (next top-level key) | COMMENT |
| LOW | tests/api-testing/tests/rum/test_sourcemap_api.py | 366 | # Check if there are multiple frames (cross-chunk) | COMMENT |
| LOW | …testing/tests/pipelines/test_function_test_endpoint.py | 169 | # Check if error message is present in results | COMMENT |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 354 | # Check if data went to literal template name (indicating substitution failure) | COMMENT |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 554 | # Check if data went to literal template name (indicating substitution failure) | COMMENT |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 1354 | # Check if the stream was created at all | COMMENT |
| LOW | tests/api-testing/tests/search/test_max_query_range.py | 654 | # Set max_query_range to 0 (disabled) | COMMENT |
| LOW | tests/api-testing/tests/search/test_max_query_range.py | 839 | # Set max_query_range to 1 hour | COMMENT |
| LOW | tests/api-testing/tests/alerts/test_history.py | 45 | # Check if triggers stream already exists | COMMENT |
| LOW | …i-testing/tests/dashboards/test_multi_window_vrl_v2.py | 567 | # Check if function_error is reported in metadata | STRING |
| LOW | …api-testing/helpers/workflow/pages/destination_page.py | 294 | # Check if any templates of the specified type exist | COMMENT |
| LOW | …api-testing/helpers/workflow/pages/destination_page.py | 315 | # Check if any templates of the specified type exist | COMMENT |
| LOW | …api-testing/helpers/workflow/pages/destination_page.py | 339 | # Check if any templates of the specified type exist | COMMENT |
| LOW | …/api-testing/helpers/workflow/pages/enrichment_page.py | 36 | # Read the file content as binary | COMMENT |
| LOW⚡ | …/api-testing/helpers/workflow/pages/enrichment_page.py | 187 | # Check if it's keyed by table_name | COMMENT |
| LOW⚡ | …/api-testing/helpers/workflow/pages/enrichment_page.py | 194 | # Check if it's a single status object | COMMENT |
| LOW | …ts/api-testing/helpers/workflow/pages/template_page.py | 180 | # Check if any templates of the specified type exist | COMMENT |
| LOW | …ts/api-testing/helpers/workflow/pages/template_page.py | 201 | # Check if any templates of the specified type exist | COMMENT |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 693 | # Check if any alerts of the specified type exist | COMMENT |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 715 | # Check if any templates of the specified type exist | COMMENT |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 30 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 81 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 132 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 183 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 454 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 504 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 553 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/alert_page.py | 602 | "type": None, # Set it to None or remove it | CODE |
| LOW | tests/ui-testing/env.sh | 18 | # Check if yq is available (preferred method) | COMMENT |
| LOW | tests/ui-testing/env.sh | 35 | # Check if we're entering the env section | COMMENT |
| LOW | tests/ui-testing/env.sh | 41 | # Check if we're leaving the env section (next top-level key) | COMMENT |
| LOW | .github/workflows/playwright.yml | 643 | # Check if this is a rerun | COMMENT |
| LOW | .github/workflows/playwright.yml | 648 | # Check if this is "re-run all" - if so, skip TestDino and run all tests | COMMENT |
| LOW | .github/workflows/playwright.yml | 744 | # Check if the TestDino output contains tests for this shard (case-insensitive) | COMMENT |
| LOW⚡ | .github/workflows/playwright.yml | 757 | # Check if file actually starts with our folder (case-insensitive) | COMMENT |
| LOW⚡ | .github/workflows/playwright.yml | 762 | # Check if this file is actually in the current shard's run_files list | COMMENT |
| LOW⚡ | .github/workflows/playwright.yml | 768 | # Check if there's a -g flag | COMMENT |
| LOW | .github/workflows/playwright.yml | 984 | # Check if directory exists and contains reports | COMMENT |
| LOW | .github/workflows/playwright.yml | 1226 | # Check if report.json exists (it won't exist if all tests were skipped due to rerun optimization) | COMMENT |
| LOW | .github/workflows/playwright.yml | 1233 | # Check if startTime is a number and convert it | COMMENT |
| LOW | .github/workflows/playwright_regression.yml | 372 | # Check if this is a rerun | COMMENT |
| LOW | .github/workflows/playwright-auto-rerun.yml | 68 | # Check if gh is already installed | COMMENT |
| LOW | .github/workflows/bug-checker.yml | 99 | # Check if already processed by Bug Checker Agent | COMMENT |
| LOW | .github/workflows/npm-update.yml | 143 | # Check if there are changes to commit | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …e/components/onlineEvals/composables/useQualityData.ts | 151 | // the percentile aggregator skips NULLs, keeping the query robust. | COMMENT |
| MEDIUM | tests/test-data/query-agent/data_gen.py | 21 | # compute oracle and the test harness share the same BASE_TS. Without | COMMENT |
| MEDIUM | tests/test-data/query-agent/compute_counts.py | 464 | # Persist the BASE_TS so the test harness uses the same value. | COMMENT |
| MEDIUM⚡ | tests/test-data/query-agent/gen_q201_q400.py | 640 | # Multi-level coalesce with CONCAT (june6: comprehensive fallback) | COMMENT |
| MEDIUM | tests/test-data/query-agent/gen_q201_q400.py | 73 | # Multiple aggregate functions with GROUP BY (june6: comprehensive stats) | COMMENT |
| MEDIUM | tests/test-data/query-agent/gen_q201_q400.py | 409 | # Complex LIKE OR chain across 8 fields (june6: comprehensive search) | COMMENT |
| MEDIUM | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 747 | # Edge case tests for comprehensive validation | COMMENT |
| MEDIUM | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 903 | # Ingest comprehensive test data | COMMENT |
| MEDIUM | …t-tests/RegressionSet/Alerts/alerts-regression.spec.js | 128 | test("Bug #9967: PromQL alert creation - comprehensive validation", { | CODE |
| MEDIUM | …t-tests/RegressionSet/Alerts/alerts-regression.spec.js | 132 | testLogger.info('Testing Bug #9967 fix - comprehensive validation'); | CODE |
| MEDIUM | …t-tests/RegressionSet/Alerts/alerts-regression.spec.js | 236 | testLogger.info('✅ Bug #9967 comprehensive test completed - all scenarios verified'); | CODE |
| MEDIUM | tests/ui-testing/pages/generalPages/sanityPage.js | 1064 | // Click refresh button with robust waits | COMMENT |
| MEDIUM | tests/ui-testing/pages/alertsPages/alertManagement.js | 158 | // Target the Delete item by data-test (robust to label/shortcut-hint changes) | COMMENT |
| MEDIUM | tests/ui-testing/pages/alertsPages/alertsPage.js | 1106 | // Close with robust handling for dialog backdrops | COMMENT |
| MEDIUM | tests/ui-testing/pages/alertsPages/alertsPage.js | 1141 | // Close with robust handling for dialog backdrops | COMMENT |
| MEDIUM | tests/ui-testing/pages/reportsPages/reportsPage.js | 113 | // within. More robust than relying on a standalone embedded-name data-test | COMMENT |
| MEDIUM | tests/ui-testing/pages/logsPages/logsPage.js | 3204 | // Use the same robust waiting pattern as clickSavedViewSearchInput(): | COMMENT |
| MEDIUM | tests/ui-testing/pages/logsPages/logsPage.js | 8881 | // Find anomaly column index by header text (more robust than hardcoded index) | COMMENT |
| MEDIUM⚡ | …ts/ui-testing/pages/dashboardPages/dashboard-filter.js | 366 | // New robust function for nested group filter conditions | COMMENT |
| MEDIUM | src/config/src/meta/dashboards/mod.rs | 95 | /// future versions of the dashboard should utilize the `created_at` Unix | COMMENT |
| MEDIUM | src/service/enrichment_table/url_processor.rs | 918 | /// Using reqwest for its robust async streaming support and production-ready | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/api-testing/tests/conftest.py | 12 | CODE | |
| LOW | tests/api-testing/tests/conftest.py | 12 | CODE | |
| LOW | tests/api-testing/tests/conftest.py | 12 | CODE | |
| LOW | tests/api-testing/tests/conftest.py | 12 | CODE | |
| LOW | tests/api-testing/tests/test_framework_selfcheck.py | 8 | CODE | |
| LOW | tests/api-testing/tests/test_framework_selfcheck.py | 22 | CODE | |
| LOW | tests/api-testing/tests/test_framework_selfcheck.py | 22 | CODE | |
| LOW | tests/api-testing/tests/vortex/conftest.py | 9 | CODE | |
| LOW | tests/api-testing/tests/vortex/conftest.py | 21 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_api_format.py | 16 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_api_format.py | 24 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_fts.py | 14 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_fts.py | 16 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_fts.py | 24 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_data_integrity.py | 12 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_data_integrity.py | 19 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_performance.py | 13 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_config.py | 11 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_config.py | 22 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_config.py | 22 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_schema_evolution.py | 22 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_schema_evolution.py | 25 | CODE | |
| LOW | tests/api-testing/tests/vortex/test_downsampling.py | 15 | CODE | |
| LOW | …sts/api-testing/tests/vortex/test_format_conversion.py | 22 | CODE | |
| LOW | …sts/api-testing/tests/vortex/test_format_conversion.py | 28 | CODE | |
| LOW | tests/api-testing/tests/ingest/test_bulk.py | 17 | CODE | |
| LOW | tests/api-testing/tests/ingest/test_logs.py | 13 | CODE | |
| LOW | tests/api-testing/tests/rum/test_rum.py | 16 | CODE | |
| LOW | …ts/api-testing/tests/pipelines/test_js_result_array.py | 12 | CODE | |
| LOW | tests/api-testing/tests/pipelines/test_js_enrichment.py | 32 | CODE | |
| LOW | tests/api-testing/tests/pipelines/test_functions.py | 20 | CODE | |
| LOW | tests/api-testing/tests/pipelines/test_pipeline.py | 29 | CODE | |
| LOW | tests/api-testing/tests/orgs/test_serviceaccounts.py | 18 | CODE | |
| LOW | tests/api-testing/tests/orgs/test_organisations.py | 11 | CODE | |
| LOW | tests/api-testing/tests/orgs/test_ingestion_tokens.py | 17 | CODE | |
| LOW | tests/api-testing/tests/search/test_join_queries.py | 17 | CODE | |
| LOW | tests/api-testing/tests/search/test_fuzzy_match.py | 14 | CODE | |
| LOW | tests/api-testing/tests/search/test_search.py | 2 | CODE | |
| LOW | tests/api-testing/tests/search/test_streaming.py | 34 | CODE | |
| LOW | tests/api-testing/tests/search/test_advanced_sql.py | 18 | CODE | |
| LOW | tests/api-testing/tests/search/test_summary.py | 32 | CODE | |
| LOW | tests/api-testing/tests/search/test_try_cast.py | 13 | CODE | |
| LOW | tests/api-testing/tests/alerts/test_v1.py | 21 | CODE | |
| LOW | tests/api-testing/tests/alerts/test_v2.py | 32 | CODE | |
| LOW | tests/api-testing/tests/workflow/test_workflow.py | 3 | CODE | |
| LOW | tests/api-testing/tests/workflow/test_workflow.py | 4 | CODE | |
| LOW | tests/api-testing/tests/workflow/test_workflow.py | 5 | CODE | |
| LOW | tests/api-testing/tests/workflow/test_workflow.py | 6 | CODE | |
| LOW | tests/api-testing/tests/workflow/test_workflow.py | 7 | CODE | |
| LOW | tests/api-testing/tests/users/test_users.py | 10 | CODE | |
| LOW | …i-testing/tests/regression/test_subquery_join_match.py | 30 | CODE | |
| LOW | tests/api-testing/support/client.py | 16 | CODE | |
| LOW | tests/api-testing/support/wait.py | 9 | CODE | |
| LOW | tests/api-testing/support/factories.py | 9 | CODE | |
| LOW | tests/api-testing/support/sse.py | 19 | CODE | |
| LOW | tests/api-testing/support/fixtures.py | 12 | CODE | |
| LOW | tests/api-testing/support/endpoints/alerts.py | 2 | CODE | |
| LOW | tests/api-testing/support/endpoints/kvstore.py | 2 | CODE | |
| LOW | tests/api-testing/support/endpoints/streams.py | 2 | CODE | |
| LOW | tests/api-testing/support/endpoints/users.py | 2 | CODE | |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test-data/query-agent/compute_counts.py | 348 | # Create a pre-filtered view so EVERY query (CTEs, subqueries, etc.) | COMMENT |
| MEDIUM | …i-testing/tests/pipelines/test_enrichment_table_url.py | 45 | # Initialize page object | COMMENT |
| MEDIUM | …i-testing/tests/pipelines/test_enrichment_table_url.py | 87 | # Create the enrichment table (200 means job saved, runs async in background) | COMMENT |
| MEDIUM | …i-testing/tests/pipelines/test_enrichment_table_url.py | 116 | # Create the enrichment table first | COMMENT |
| MEDIUM | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 246 | # Create the pipeline | COMMENT |
| MEDIUM | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 481 | # Create the pipeline | COMMENT |
| MEDIUM | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 1203 | # Create the pipeline | COMMENT |
| MEDIUM | tests/api-testing/tests/pipelines/test_backfill.py | 437 | # Create a pipeline and backfill job | COMMENT |
| MEDIUM | tests/api-testing/tests/pipelines/test_backfill.py | 607 | # Create a pipeline first | COMMENT |
| MEDIUM | tests/api-testing/tests/pipelines/test_backfill.py | 705 | # Create a real pipeline first | COMMENT |
| MEDIUM | tests/api-testing/tests/pipelines/test_backfill.py | 730 | # Create a REALTIME pipeline (not scheduled) | COMMENT |
| MEDIUM | tests/api-testing/tests/dashboards/test_dashboards.py | 211 | # Create a dashboard first | COMMENT |
| MEDIUM | tests/api-testing/tests/dashboards/test_dashboards.py | 243 | # Create a dashboard first | COMMENT |
| MEDIUM | tests/api-testing/tests/dashboards/test_dashboards.py | 670 | # Create a dashboard with panels first | COMMENT |
| MEDIUM | tests/api-testing/tests/dashboards/test_dashboards.py | 726 | # Create a dashboard | COMMENT |
| MEDIUM | tests/api-testing/tests/dashboards/test_dashboards.py | 792 | # Create a dashboard | COMMENT |
| MEDIUM | tests/api-testing/tests/dashboards/test_folders.py | 34 | # Create a dashboards folder | COMMENT |
| MEDIUM | tests/api-testing/tests/dashboards/test_folders.py | 171 | # Create a alerts folder | COMMENT |
| MEDIUM | …api-testing/helpers/workflow/pages/destination_page.py | 63 | skip_tls_verify_value = False # Define the skip_tls_verify_value | CODE |
| MEDIUM | …api-testing/helpers/workflow/pages/destination_page.py | 204 | # Define the payload for the PUT request | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/api-testing/tests/streams/test_settings_dedup.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/ingest/test_metrics.py | 4 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/ingest/test_bulk.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/ingest/test_logs.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/rum/test_sourcemap_api.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/rum/test_sourcemap_rbac.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/rum/test_rum.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-testing/tests/pipelines/test_enrichment_table_join.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | …ts/api-testing/tests/pipelines/test_js_result_array.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/pipelines/test_js_enrichment.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | …testing/tests/pipelines/test_function_test_endpoint.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | …i-testing/tests/pipelines/test_enrichment_table_url.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/pipelines/test_functions.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/api-testing/tests/pipelines/test_backfill.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/pipelines/test_pipeline.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/orgs/test_serviceaccounts.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/orgs/test_organisations.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/api-testing/tests/orgs/test_ingestion_tokens.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_join_queries.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_fuzzy_match.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_max_query_range.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_search.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_streaming.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_streaming.py | 109 | def _set_streaming_enabled(session, base_url: str, enabled: bool) -> None: | CODE |
| LOW | tests/api-testing/tests/search/test_advanced_sql.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_summary.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/search/test_try_cast.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/alerts/test_v1.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/alerts/test_history.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/alerts/test_v2.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | …i-testing/tests/dashboards/test_multi_window_vrl_v2.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/dashboards/test_dashboards.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/api-testing/tests/dashboards/test_multi_window_vrl.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/api-testing/tests/dashboards/test_folders.py | 5 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/workflow/test_org_passcode.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/workflow/test_kvstore.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/tests/users/test_users.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/support/sse.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/helpers/sourcemap_helpers.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/api-testing/helpers/workflow/pages/user_page.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-testing/helpers/workflow/pages/serviceaccount_page.py | 5 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | web/src/components/O2AIChat.vue | 1618 | // AI-generated chat title state | COMMENT |
| HIGH | web/src/components/O2AIChat.vue | 2339 | // Handle title events - AI-generated chat title from first message | COMMENT |
| HIGH | web/src/components/O2AIChat.vue | 3437 | // Prefer AI-generated title, fallback to default | COMMENT |
| HIGH | web/src/components/O2AIChat.vue | 3590 | resetTitleState(); // Clear AI-generated title for new chat | CODE |
| HIGH | web/src/components/O2AIChat.vue | 5765 | // AI-generated title | COMMENT |
| HIGH | src/config/src/meta/alerts/incidents.rs | 260 | /// AI-generated root cause analysis (markdown) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/coverage.sh | 98 | except Exception as e: | CODE |
| LOW | tests/test-data/query-agent/compute_counts.py | 376 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/ingest/test_bulk.py | 157 | except Exception as e: | CODE |
| LOW⚡ | tests/api-testing/tests/rum/test_sourcemap_api.py | 114 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/rum/test_sourcemap_rbac.py | 99 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/rum/test_sourcemap_rbac.py | 121 | except Exception as e: | CODE |
| LOW | …-testing/tests/pipelines/test_enrichment_table_join.py | 141 | except Exception as e: | CODE |
| LOW⚡ | …i-testing/tests/pipelines/test_enrichment_table_url.py | 66 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/pipelines/test_functions.py | 65 | except Exception as e: | CODE |
| LOW⚡ | tests/api-testing/tests/pipelines/test_backfill.py | 90 | except Exception as e: | CODE |
| LOW⚡ | tests/api-testing/tests/pipelines/test_backfill.py | 100 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/pipelines/test_pipeline.py | 245 | except Exception as e: | CODE |
| LOW | …/api-testing/tests/query_agent/test_explain_analyze.py | 107 | except Exception as e: | CODE |
| LOW | …ts/api-testing/tests/query_agent/test_5_concurrency.py | 131 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/orgs/test_serviceaccounts.py | 65 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/search/test_join_queries.py | 123 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/search/test_streaming.py | 182 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/alerts/test_v1.py | 67 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/alerts/test_v2.py | 184 | except Exception as e: | CODE |
| LOW | tests/api-testing/tests/alerts/test_v2.py | 189 | except Exception as e: | CODE |
| LOW⚡ | tests/api-testing/tests/alerts/test_v2.py | 231 | except Exception as e: | CODE |
| LOW | …api-testing/tests/regression/test_logs_to_logs_join.py | 115 | except Exception as e: | CODE |
| LOW | tests/api-testing/support/wait.py | 58 | except Exception as e: | CODE |
| LOW | tests/api-testing/support/fixtures.py | 44 | except Exception as e: | CODE |
| LOW | tests/api-testing/support/fixtures.py | 55 | except Exception as e: | CODE |
| LOW | tests/api-testing/support/fixtures.py | 71 | except Exception as e: | CODE |
| LOW | tests/api-testing/helpers/sourcemap_helpers.py | 236 | except Exception as e: | CODE |
| LOW | tests/api-testing/helpers/sourcemap_helpers.py | 261 | except Exception: | CODE |
| MEDIUM | tests/api-testing/helpers/workflow/pages/alert_page.py | 247 | print(f"Error processing alert {alert}: {str(e)}") | CODE |
| MEDIUM | tests/api-testing/helpers/workflow/pages/alert_page.py | 301 | print(f"Error processing alert {alert}: {str(e)}") | CODE |
| LOW | .github/scripts/o2_metrics_resync.py | 40 | except Exception as e: | CODE |
| LOW | .github/scripts/o2_metrics_resync.py | 112 | except Exception as e: | CODE |
| LOW | .github/scripts/parse-api-junit.py | 89 | except Exception as e: # noqa: BLE001 - skip unreadable/partial files | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test-data/query-agent/compute_counts.py | 31 | CODE | |
| LOW | tests/test-data/query-agent/compute_counts.py | 191 | CODE | |
| LOW | tests/test-data/query-agent/compute_counts.py | 338 | CODE | |
| LOW | tests/test-data/query-agent/compute_counts.py | 439 | CODE | |
| LOW | tests/test-data/query-agent/compute_counts.py | 212 | CODE | |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 165 | CODE | |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 401 | CODE | |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 607 | CODE | |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 761 | CODE | |
| LOW | …s/api-testing/tests/pipelines/test_pipeline_dynamic.py | 895 | CODE | |
| LOW | tests/api-testing/tests/query_agent/conftest.py | 87 | CODE | |
| LOW | tests/api-testing/tests/query_agent/conftest.py | 134 | CODE | |
| LOW | tests/api-testing/tests/query_agent/conftest.py | 258 | CODE | |
| LOW | tests/api-testing/tests/query_agent/conftest.py | 169 | CODE | |
| LOW | tests/api-testing/tests/search/test_search.py | 1067 | CODE | |
| LOW | tests/api-testing/tests/search/test_search.py | 1147 | CODE | |
| LOW | tests/api-testing/tests/alerts/test_history.py | 38 | CODE | |
| LOW | …i-testing/tests/dashboards/test_multi_window_vrl_v2.py | 125 | CODE | |
| LOW | tests/api-testing/tests/dashboards/test_dashboards.py | 60 | CODE | |
| LOW | tests/api-testing/tests/dashboards/test_dashboards.py | 428 | CODE | |
| LOW | …/api-testing/tests/dashboards/test_multi_window_vrl.py | 389 | CODE | |
| LOW | tests/api-testing/support/sse.py | 30 | CODE | |
| LOW | tests/api-testing/helpers/sourcemap_helpers.py | 223 | CODE | |
| LOW | …/api-testing/helpers/workflow/pages/enrichment_page.py | 204 | CODE | |
| LOW | .github/scripts/o2_metrics_resync.py | 99 | CODE | |
| LOW | .github/scripts/assert_integrity.py | 58 | CODE | |
| LOW | .github/scripts/assert_integrity.py | 88 | CODE | |
| LOW | .github/scripts/assert_integrity.py | 124 | CODE | |
| LOW | .github/scripts/assert_integrity.py | 137 | CODE | |
| LOW | .github/scripts/parse-api-junit.py | 82 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | config/prebuilt-destinations.json | 198 | "Authorization": "GenieKey YOUR_API_KEY" | CODE |
| 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 | CODE |
| HIGH | src/infra/src/table/entity/README.md | 30 | --database-url YOUR_DATABASE_URL | CODE |
| HIGH | src/config/src/prebuilt_loader.rs | 653 | "GenieKey YOUR_API_KEY".to_string(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/api-testing/helpers/workflow/verifydeleted_objects.py | 0 | verify objects in the openobserve running instance. | STRING |
| HIGH | …s/api-testing/helpers/workflow/verifyedited_objects.py | 0 | verify objects in the openobserve running instance. | STRING |
| HIGH | tests/api-testing/helpers/workflow/verify_objects.py | 0 | verify objects in the openobserve running instance. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/api-testing/env.sh | 6 | # Usage: | COMMENT |
| LOW | tests/ui-testing/env.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/test-assist-ci-batch.sh | 8 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web/src/plugins/traces/threadView.utils.spec.ts | 7 | // multipart / agentic injection text) so a future SDK rev doesn't | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/ok-to-test.yml | 23 | # See app.yml for an example app manifest - you can use fake URLs when generating | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-testing/tests/pipelines/test_enrichment_table_join.py | 161 | CODE | |
| LOW | …api-testing/tests/regression/test_logs_to_logs_join.py | 135 | CODE |