SigNoz is an open-source observability platform native to OpenTelemetry with logs, traces and metrics in a single application. An open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Application Performance Monitoring (APM) & Observability tool
1080 matches across 15 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts | 27 | // ─── Fixtures ──────────────────────────────────────────────────────────────── |
| MEDIUM | …e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts | 74 | // ─── getRoute ───────────────────────────────────────────────────────────────── |
| MEDIUM | …e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts | 90 | // ─── buildDrilldownUrl ──────────────────────────────────────────────────────── |
| MEDIUM | …e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts | 182 | // ─── useBaseDrilldownNavigate ───────────────────────────────────────────────── |
| MEDIUM | …nd/src/container/MetricsExplorer/Explorer/Explorer.tsx | 226 | // ─── AI Assistant page actions (only when license feature is on) ─────────── |
| MEDIUM | …nd/src/container/MetricsExplorer/Explorer/Explorer.tsx | 259 | // ─────────────────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/GridCardLayout/utils.ts | 45 | // ── EXPAND ────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/GridCardLayout/utils.ts | 72 | // ── COLLAPSE ───────────────────────────────────────────────────────────── |
| MEDIUM | …container/GridCardLayout/__tests__/rowCollapse.test.ts | 12 | // ─── fixtures ──────────────────────────────────────────────────────────────── |
| MEDIUM | …container/GridCardLayout/__tests__/rowCollapse.test.ts | 45 | // ─── frozen-input guard (regression for zustand/immer read-only bug) ────────── |
| MEDIUM | …container/GridCardLayout/__tests__/rowCollapse.test.ts | 80 | // ─── collapse behaviour ─────────────────────────────────────────────────────── |
| MEDIUM | …container/GridCardLayout/__tests__/rowCollapse.test.ts | 116 | // ─── expand behaviour ───────────────────────────────────────────────────────── |
| MEDIUM | …container/GridCardLayout/__tests__/rowCollapse.test.ts | 155 | // ─── y-offset adjustment ────────────────────────────────────────────────────── |
| MEDIUM | …ardContainer/DashboardVariablesSelection/utils.test.ts | 26 | // ──────────────────────────────────────────────────────────────── |
| MEDIUM | …ardContainer/DashboardVariablesSelection/utils.test.ts | 28 | // ──────────────────────────────────────────────────────────────── |
| MEDIUM | …ardContainer/DashboardVariablesSelection/utils.test.ts | 180 | // ──────────────────────────────────────────────────────────────── |
| MEDIUM | …ardContainer/DashboardVariablesSelection/utils.test.ts | 182 | // ──────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/AIAssistant/getAutoContexts.ts | 30 | // ── Dashboards ──────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/AIAssistant/getAutoContexts.ts | 100 | // ── Alerts ──────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/AIAssistant/getAutoContexts.ts | 153 | // ── Services ────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/AIAssistant/getAutoContexts.ts | 190 | // ── Logs ────────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/AIAssistant/getAutoContexts.ts | 213 | // ── Traces ──────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/container/AIAssistant/getAutoContexts.ts | 252 | // ── Metrics ─────────────────────────────────────────────────────────────── |
| MEDIUM | …iner/AIAssistant/AIAssistantPanel/AIAssistantPanel.tsx | 75 | // ── Resize logic ────────────────────────────────────────────────────────── |
| MEDIUM | …d/src/container/AIAssistant/components/blocks/index.ts | 17 | // ─── Register built-in block types ─────────────────────────────────────────── |
| MEDIUM | …d/src/container/AIAssistant/components/blocks/index.ts | 24 | // ─── Public exports ─────────────────────────────────────────────────────────── |
| MEDIUM | …ssistant/components/blocks/ActionBlock/ActionBlock.tsx | 63 | // ── Shared execute logic ───────────────────────────────────────────────────── |
| MEDIUM | …ssistant/components/blocks/ActionBlock/ActionBlock.tsx | 97 | // ── Auto-apply: fire immediately on mount if the action opts in ────────────── |
| MEDIUM | …ssistant/components/blocks/ActionBlock/ActionBlock.tsx | 125 | // ── Terminal states ────────────────────────────────────────────────────────── |
| MEDIUM | …ssistant/components/blocks/ActionBlock/ActionBlock.tsx | 154 | // ── Loading (autoApply in progress) ───────────────────────────────────────── |
| MEDIUM | …ssistant/components/blocks/ActionBlock/ActionBlock.tsx | 165 | // ── Pending: manual confirmation card ──────────────────────────────────────── |
| MEDIUM | …ntainer/AIAssistant/components/ChatInput/ChatInput.tsx | 484 | // ── Voice input ──────────────────────────────────────────────────────────── |
| MEDIUM | …ntainer/AIAssistant/components/ChatInput/ChatInput.tsx | 622 | // ── Push-to-talk (Cmd/Ctrl + Shift + Space) ──────────────────────────────── |
| MEDIUM | …iner/AIAssistant/AIAssistantModal/AIAssistantModal.tsx | 87 | // ── Handlers ──────────────────────────────────────────────────────────────── |
| MEDIUM | …rc/container/AIAssistant/hooks/useSpeechRecognition.ts | 3 | // ── Web Speech API types (not yet in lib.dom.d.ts) ──────────────────────────── |
| MEDIUM | …rc/container/AIAssistant/hooks/useSpeechRecognition.ts | 41 | // ── Vendor-prefix shim for Safari / older browsers ──────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 92 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 99 | // ── guard ──────────────────────────────────────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 112 | // ── source panel ───────────────────────────────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 175 | // ── receiver panel ─────────────────────────────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 206 | // ── exact groupBy match ─────────────────────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 342 | // ── partial groupBy overlap ─────────────────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 434 | // ── union across queries in groupByPerQuery ─────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 472 | // ── no overlap (Filtered mode default) ──────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 523 | // ── filterMode: All ────────────────────────────────────────────────── |
| MEDIUM | …lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts | 570 | // ── caching ─────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/pages/LogsExplorer/index.tsx | 138 | // ─── AI Assistant page actions (only when license feature is on) ─────────── |
| MEDIUM | frontend/src/pages/LogsExplorer/index.tsx | 175 | // ─────────────────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/pages/TracesExplorer/index.tsx | 147 | // ─── AI Assistant page actions (only when license feature is on) ─────────── |
| MEDIUM | frontend/src/pages/TracesExplorer/index.tsx | 184 | // ─────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/integration/tests/role/03_fga.py | 51 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 53 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 73 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 75 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 122 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 124 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 161 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 163 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 213 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/integration/tests/role/03_fga.py | 215 | # --------------------------------------------------------------------------- |
| 199 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | frontend/src/types/api/alerts/convert.ts | 89 | export function toPostableRuleDTOFromAlertDef( |
| LOW | …ders/preferences/context/PreferenceContextProvider.tsx | 21 | export function PreferenceContextProvider({ |
| LOW | …d/src/providers/Dashboard/__tests__/Dashboard.test.tsx | 12 | function DashboardBootstrapWrapper({ |
| LOW | …d/src/providers/Dashboard/__tests__/Dashboard.test.tsx | 101 | function renderWithDashboardBootstrap( |
| LOW | …nd/src/providers/Dashboard/store/variableFetchStore.ts | 57 | export function initializeVariableFetchStore(variableNames: string[]): void { |
| LOW | …nd/src/providers/Dashboard/store/variableFetchStore.ts | 88 | export function enqueueFetchOfAllVariables(): void { |
| LOW | …nd/src/providers/Dashboard/store/variableFetchStore.ts | 203 | export function enqueueDescendantsOfVariable(name: string): void { |
| LOW | …c/providers/Dashboard/store/variableFetchStoreUtils.ts | 25 | export function areAllQueryVariablesSettled( |
| LOW | …c/providers/Dashboard/store/variableFetchStoreUtils.ts | 37 | export function unlockWaitingDynamicVariables( |
| LOW | …ore/dashboardVariables/dashboardVariablesStoreUtils.ts | 19 | export function buildSortedVariablesArray( |
| LOW | …ore/dashboardVariables/dashboardVariablesStoreUtils.ts | 88 | export function buildDynamicVariableOrder( |
| LOW | …rd/store/dashboardVariables/dashboardVariablesStore.ts | 26 | export function setDashboardVariablesStore({ |
| LOW | …rd/store/dashboardVariables/dashboardVariablesStore.ts | 45 | export function updateDashboardVariablesStore({ |
| LOW | …rd/store/dashboardVariables/dashboardVariablesStore.ts | 68 | export function getVariableDependencyContext(): VariableFetchContext { |
| LOW | frontend/src/utils/compositeQueryToQueryEnvelope.ts | 41 | export function compositeQueryToQueryEnvelope( |
| LOW | frontend/src/utils/aggregationConverter.ts | 18 | export function convertAggregationsToBaseAutocompleteData( |
| LOW | frontend/src/utils/aggregationConverter.ts | 86 | export function getAggregationOptionsForOrderBy(query: { |
| LOW | frontend/src/utils/aggregationConverter.ts | 107 | export function getParsedAggregationOptionsForOrderBy(query: { |
| LOW | frontend/src/utils/metricsTimeStorageUtils.ts | 12 | export function persistTimeDurationForRoute( |
| LOW | frontend/src/utils/queryContextUtils.ts | 124 | export function getCurrentValueIndexAtCursor( |
| LOW | frontend/src/utils/queryContextUtils.ts | 154 | function determineContextBoundaries( |
| LOW | frontend/src/utils/sanitizeOrderBy.ts | 9 | export function sanitizeOrderByForExplorer( |
| LOW | …RowDismissibleCallout/LicenseRowDismissibleCallout.tsx | 15 | function LicenseRowDismissibleCallout(): JSX.Element | null { |
| LOW | …tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts | 27 | export function convertGroupMappingsToRecord( |
| LOW | …tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts | 47 | export function convertGroupMappingsToList( |
| LOW | …tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts | 63 | export function convertDomainMappingsToRecord( |
| LOW | …tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts | 88 | export function convertDomainMappingsToList( |
| LOW | …gs/AuthDomain/CreateEdit/Providers/AuthnGoogleAuth.tsx | 23 | function ConfigureGoogleAuthAuthnProvider({ |
| LOW | …Settings/AuthDomain/CreateEdit/Providers/AuthnSAML.tsx | 16 | function ConfigureSAMLAuthnProvider({ |
| LOW | …Settings/AuthDomain/CreateEdit/Providers/AuthnOIDC.tsx | 16 | function ConfigureOIDCAuthnProvider({ |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 81 | export function getEvaluationWindowStateFromAlertDef( |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 86 | function getRollingWindowTimeframe(): string { |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 98 | function getCumulativeWindowTimeframe(): string { |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 117 | function getCumulativeWindowStartingAt(): EvaluationWindowState['startingAt'] { |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 180 | export function getNotificationSettingsStateFromAlertDef( |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 214 | export function getAdvancedOptionsStateFromAlertDef( |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 303 | export function getThresholdStateFromAlertDef( |
| LOW | frontend/src/container/CreateAlertV2/utils.tsx | 327 | export function getCreateAlertLocalStateFromAlertDef( |
| LOW | frontend/src/container/CreateAlertV2/Footer/utils.tsx | 56 | export function getNotificationSettingsProps( |
| LOW | frontend/src/container/CreateAlertV2/Footer/utils.tsx | 92 | export function getEnforceMinimumDatapointsProps( |
| LOW | frontend/src/container/CreateAlertV2/Footer/utils.tsx | 206 | export function buildCreateThresholdAlertRulePayload( |
| LOW | frontend/src/container/CreateAlertV2/Footer/utils.tsx | 292 | export function buildCreateAnomalyAlertRulePayload( |
| LOW | frontend/src/container/CreateAlertV2/context/utils.tsx | 102 | export function getInitialAlertTypeFromURL( |
| LOW | …d/src/container/CreateAlertV2/AlertCondition/utils.tsx | 53 | export function getCategorySelectOptionByName( |
| LOW | …d/src/container/CreateAlertV2/AlertCondition/utils.tsx | 376 | export function NotificationChannelsNotFoundContent({ |
| LOW | …c/container/CreateAlertV2/EvaluationSettings/utils.tsx | 90 | export function buildAlertScheduleFromRRule( |
| LOW | …c/container/CreateAlertV2/EvaluationSettings/utils.tsx | 144 | function generateMonthlyOccurrences( |
| LOW | …c/container/CreateAlertV2/EvaluationSettings/utils.tsx | 181 | function generateWeeklyOccurrences( |
| LOW | …c/container/CreateAlertV2/EvaluationSettings/utils.tsx | 242 | export function buildAlertScheduleFromCustomSchedule( |
| LOW | …end/src/container/CreateAlertV2/QuerySection/utils.tsx | 8 | export function buildAlertDefForChartPreview({ |
| LOW | …teAlertV2/QuerySection/__tests__/ChartPreview.test.tsx | 32 | function MockChartPreviewComponent(props: any): JSX.Element { |
| LOW | …teAlertV2/QuerySection/__tests__/QuerySection.test.tsx | 59 | function MockQuerySectionComponent({ |
| LOW | …iner/QueryBuilder/filters/QueryBuilderSearch/index.tsx | 75 | function getOperatorValueForContext( |
| LOW | …s/QueryBuilderSearch/ExampleQueriesRendererForLogs.tsx | 5 | function ExampleQueriesRendererForLogs({ |
| LOW | …ainer/QueryBuilder/filters/QueryBuilderSearch/utils.ts | 51 | export function isExistsNotExistsOperator(value: string): boolean { |
| LOW | …ainer/QueryBuilder/filters/QueryBuilderSearch/utils.ts | 156 | export function replaceStringWithMaxLength( |
| LOW | …ainer/QueryBuilder/filters/QueryBuilderSearch/utils.ts | 211 | export function convertExampleQueriesToOptions( |
| LOW | …filters/MetricNameSelector/MetricNameSelector.test.tsx | 516 | function StatefulMetricQueryHarness({ |
| LOW | …rs/QueryBuilderSearchV2/QueryBuilderSearchDropdown.tsx | 31 | export default function QueryBuilderSearchDropdown( |
| LOW | frontend/src/container/Trace/TraceGraphFilter/utils.ts | 32 | export function onClickSelectedGroupByHandler(options: DefaultOptionType[]) { |
| 503 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | frontend/.oxlintrc.json | 261 | "react-hooks/rules-of-hooks": "warn", |
| LOW | frontend/src/auto-import-registry.d.ts | 1 | // ------------------------------------------------------------------------- |
| LOW | …teAlertV2/NotificationSettings/NotificationMessage.tsx | 21 | // { variable: '{{unit}}', description: 'Unit of measurement for the metric' }, |
| LOW | …lder/filters/MetricNameSelector/MetricNameSelector.tsx | 41 | metricName: string, |
| LOW | …lder/filters/MetricNameSelector/MetricNameSelector.tsx | 61 | // the dropdown. If the name differs from the current metric, it's resolved |
| LOW | …c/container/Trace/Filters/Panel/PanelHeading/index.tsx | 261 | // Object.keys(preFilter.get(props.name) || {}), |
| LOW | …c/container/Trace/Filters/Panel/PanelHeading/index.tsx | 281 | // payload: { |
| LOW | …rc/container/InfraMonitoringK8s/InfraMonitoringK8s.tsx | 281 | // /> |
| LOW | …er/AlertHistory/Timeline/GraphWrapper/GraphWrapper.tsx | 21 | // TODO(shaheer): uncomment when the API is ready for |
| LOW | …er/NewWidget/LeftContainer/ExplorerColumnsRenderer.tsx | 61 | // aggregateAttribute: '', |
| LOW | …ainer/OnboardingContainer/constants/apmDocFilePaths.ts | 1 | /// ///////// APM |
| LOW | …ntainer/AIAssistant/components/ChatInput/ChatInput.tsx | 241 | // Refs to each category tab so we can move DOM focus to the newly-active |
| LOW | …ntainer/AIAssistant/components/ChatInput/ChatInput.tsx | 481 | [], |
| LOW | …/src/components/QueryBuilderV2/__tests__/utils.test.ts | 1021 | const result = removeKeysFromExpression(expression, ['nonexistent.key']); |
| LOW | frontend/src/api/ai-assistant/chat.ts | 61 | import { LOCALSTORAGE } from 'constants/localStorage'; |
| LOW | frontend/src/pages/Services/Metrics.test.tsx | 41 | |
| LOW | frontend/src/pages/Services/Metrics.test.tsx | 61 | // /6d4af7f0-4884-4a37-abd4-6bdbee29fa04/i, |
| LOW | …s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx | 121 | }); |
| LOW | …s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx | 141 | // richColors: true, |
| LOW | …s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx | 241 | const emptyLogsStateConfig = useMemo( |
| LOW | …s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx | 461 | traceEndTime, |
| LOW | ee/anomaly/params.go | 41 | } |
| LOW | ee/anomaly/params.go | 61 | PastPeriodQuery qbtypes.QueryRangeRequest |
| LOW | ee/query-service/anomaly/params.go | 41 | Seasonality Seasonality |
| LOW | ee/query-service/anomaly/params.go | 61 | CurrentPeriodQuery *v3.QueryRangeParamsV3 |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 21 | "query,result", |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 41 | # lambda x: [x[2].id, x[2].timestamp], |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 61 | # # Select timestamp is mapped to top level field by field mapper |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 81 | # signal="logs", |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 101 | # signal="logs", |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 121 | # name="A", |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 421 | # select_fields=[TelemetryFieldKey("trace_id")], |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 441 | # name="A", |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 461 | # signal="logs", |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 481 | # name="A", |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 501 | # select_fields=[TelemetryFieldKey("resource.trace_id")], |
| LOW | tests/integration/tests/querier/15_trace_operator.py | 41 | |
| LOW | tests/integration/tests/querier/15_trace_operator.py | 61 | # |
| LOW | tests/integration/tests/querier/01_logs.py | 2181 | # service-4: . . . . E E E E X X | | 6 2 3.0 |
| LOW | …/integration/tests/alerts/02_basic_alert_conditions.py | 541 | } |
| LOW | …/integration/tests/alerts/02_basic_alert_conditions.py | 561 | # wait_time_seconds=90, |
| LOW | …on/tests/querier_json_body/01_logs_json_body_new_qb.py | 1401 | # time_series, because the test goal is to verify body JSON path resolution |
| LOW | …egration/tests/querier_json_body/02_non_body_fields.py | 101 | # ============================================================================ |
| LOW | tests/e2e/tests/dashboards/details/67-variables.spec.ts | 341 | // Each `test.skip` below marks a behaviour the spec does NOT yet exercise. |
| LOW | tests/e2e/tests/dashboards/details/67-variables.spec.ts | 381 | // the golden dataset which tags every resource with |
| LOW | tests/e2e/tests/dashboards/details/35-add-panel.spec.ts | 101 | // Anything else (queries, panel-type changes, units) is editor-internal |
| LOW | tests/e2e/tests/dashboards/details/12-sections.spec.ts | 81 | // effect's dep array. Concretely: if a chevron is clicked while any |
| LOW | tests/e2e/tests/dashboards/details/87-configure.spec.ts | 601 | // eslint-disable-next-line playwright/expect-expect |
| LOW | scripts/clickhouse/histogramquantile/main.go | 21 | count float64 |
| LOW | scripts/clickhouse/histogramquantile/main.go | 41 | // |
| LOW | scripts/clickhouse/histogramquantile/main.go | 121 | } |
| LOW | scripts/clickhouse/histogramquantile/main.go | 141 | // exacerbates it. Specifically, suppose bucket le=1000 has a count of 10 from |
| LOW | scripts/volume-migration/migrate.sh | 21 | # Command line arguments |
| LOW | scripts/volume-migration/migrate.sh | 81 | # Check if docker is available |
| LOW | .github/workflows/release-drafter.yml | 21 | runs-on: ubuntu-latest |
| LOW | conf/example.yaml | 1 | ##################### SigNoz Configuration Example ##################### |
| LOW | pkg/queryparser/queryfilterextractor/clickhouse.go | 281 | // Strip table alias if present (e.g., "m.region" -> "region") |
| LOW | pkg/queryparser/queryfilterextractor/clickhouse.go | 361 | // Handle Path type for qualified column names like "m.metric_name" |
| LOW | …types/querybuildertypes/querybuildertypesv5/formula.go | 141 | // Why do we evaluate the formula expression in query-service? |
| LOW | …types/querybuildertypes/querybuildertypesv5/formula.go | 161 | // For example, in sqrt(A*A + B*B), variables are A and B |
| 63 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/integration/tests/role/03_fga.py | 85 | # Create the custom role. |
| MEDIUM | tests/integration/tests/role/03_fga.py | 110 | # Create the custom-role user: invite as VIEWER, activate, change role. |
| MEDIUM | tests/integration/tests/passwordauthn/03_password.py | 80 | # Create a reset password token via v2 PUT |
| MEDIUM | tests/integration/tests/passwordauthn/03_password.py | 225 | # Create a user specifically for testing forgot password |
| MEDIUM | tests/integration/tests/passwordauthn/04_role.py | 26 | # Create a new user as VIEWER |
| MEDIUM | tests/integration/tests/ttl/01_ttl.py | 933 | # Create a list of many TTL conditions to test performance and limits |
| MEDIUM | …s/integration/tests/logspipelines/01_logs_pipelines.py | 120 | # Create a pipeline first |
| MEDIUM | …s/integration/tests/logspipelines/01_logs_pipelines.py | 578 | # Create a pipeline first |
| MEDIUM | tests/integration/tests/callbackauthn/03_oidc.py | 47 | # Create a saml client in the idp. |
| MEDIUM | tests/integration/tests/callbackauthn/03_oidc.py | 53 | # Create a auth domain in signoz. |
| MEDIUM | tests/integration/tests/callbackauthn/03_oidc.py | 93 | # Create a user in the idp. |
| MEDIUM | tests/integration/tests/callbackauthn/01_domain.py | 29 | # Create a domain with google auth config |
| MEDIUM | tests/integration/tests/callbackauthn/01_domain.py | 50 | # Create a domain with saml config |
| MEDIUM | tests/integration/tests/callbackauthn/01_domain.py | 99 | # Create a domain with type saml and body for oidc, this should fail because oidcConfig is not allowed for saml |
| MEDIUM | tests/integration/tests/callbackauthn/01_domain.py | 120 | # Create a domain with invalid name |
| MEDIUM | tests/integration/tests/callbackauthn/01_domain.py | 141 | # Create a domain with no name |
| MEDIUM | tests/integration/tests/callbackauthn/01_domain.py | 161 | # Create a domain with no config |
| MEDIUM | tests/integration/tests/callbackauthn/02_saml.py | 43 | # Create a saml client in the idp. |
| MEDIUM | tests/integration/tests/callbackauthn/02_saml.py | 49 | # Create a auth domain in signoz. |
| MEDIUM | tests/integration/tests/callbackauthn/02_saml.py | 115 | # Create a user in the idp. |
| MEDIUM | tests/integration/tests/callbackauthn/02_saml.py | 145 | # Create a user in the idp. |
| MEDIUM | …ts/integration/tests/alerts/01_notification_channel.py | 51 | # Create an alert channel using the given route |
| MEDIUM | …/integration/tests/alerts/02_basic_alert_conditions.py | 625 | # Create an alert channel using the given route |
| MEDIUM | tests/integration/tests/serviceaccount/06_fga.py | 72 | # Create the custom role. |
| MEDIUM | tests/integration/tests/serviceaccount/06_fga.py | 130 | # Create a target SA (with role + key) for the custom user to operate on. |
| MEDIUM | tests/integration/tests/serviceaccount/06_fga.py | 133 | # Create a key on the target SA. |
| MEDIUM | tests/integration/tests/serviceaccount/06_fga.py | 119 | # Create the custom-role user: invite as VIEWER, activate, change role. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | frontend/src/container/LogsExplorerContext/utils.ts | 85 | // Step 1: Always include service.name and environment attributes |
| LOW | frontend/src/container/LogsExplorerContext/utils.ts | 88 | // Step 2: Find first category with attributes and pick first available |
| LOW | frontend/src/container/LogsExplorerContext/utils.ts | 93 | // Step 3: Fallback to current regex logic (only if no priority items found) |
| LOW | …/OnboardingV2Container/AddDataSource/AddDataSource.tsx | 223 | // Step 1: Parse the URL |
| LOW | …/OnboardingV2Container/AddDataSource/AddDataSource.tsx | 228 | // Step 2: Update or add the 'source' parameter |
| LOW | …/OnboardingV2Container/AddDataSource/AddDataSource.tsx | 245 | // Step 3: Return the updated URL as a string |
| LOW | frontend/src/store/globalTime/index.ts | 49 | * ### Step 1: Get Store State |
| LOW | frontend/src/store/globalTime/index.ts | 62 | * ### Step 2: Build Query Key |
| LOW | frontend/src/store/globalTime/index.ts | 82 | * ### Step 3: Fetch Data |
| LOW | frontend/src/store/globalTime/index.ts | 100 | * ### Step 4: Add Refresh Button (Optional) |
| LOW | …ntegration/tests/passwordauthn/07_user_unique_index.py | 42 | # Step 1: invite and delete the first user |
| LOW | …ntegration/tests/passwordauthn/07_user_unique_index.py | 63 | # Step 2: re-invite and delete the same email (second deleted row) |
| LOW | …ntegration/tests/passwordauthn/07_user_unique_index.py | 85 | # Step 3: assert the DB has exactly two deleted rows for this email |
| LOW | …ntegration/tests/passwordauthn/07_user_unique_index.py | 106 | # Step 4: the unique index must still block a duplicate non-deleted row. |
| LOW | …ntegration/tests/passwordauthn/07_user_unique_index.py | 136 | # Step 5: a third deleted row must be accepted (excluded from partial index) |
| LOW | …ntegration/tests/passwordauthn/07_user_unique_index.py | 149 | # Step 6: confirm three deleted rows now exist |
| LOW | tests/integration/tests/passwordauthn/01_register.py | 179 | # Step 1: Invite user as ADMIN (mirrors zeus inviteUserOnSigNoz) |
| LOW | tests/integration/tests/passwordauthn/01_register.py | 192 | # Step 2: List users to find the invited user's ID (mirrors zeus GET /api/v1/user) |
| LOW | tests/integration/tests/passwordauthn/01_register.py | 204 | # Step 3: Get reset password token (mirrors zeus GET /api/v1/getResetPasswordToken/{id}) |
| LOW | tests/integration/tests/passwordauthn/01_register.py | 215 | # Step 4: Use the token to set password and activate user |
| LOW | tests/integration/tests/passwordauthn/01_register.py | 223 | # Step 5: Verify the provisioned user can log in and is active with admin role |
| LOW | pkg/queryparser/queryfilterextractor/clickhouse.go | 442 | // Step 1: Search in CTE and Joins, this will take us to very end of the SubQueries and CTE |
| LOW | pkg/queryparser/queryfilterextractor/clickhouse.go | 451 | // Step 2: Once we're sure there are no SubQueries and CTE we just find all the selectItem |
| LOW | …parser/queryfilterextractor/clickhouse_originparser.go | 147 | // for functions, we need to check if the function is excluded function or a JSON extraction function with nested JSON |
| LOW | pkg/types/dashboardtypes/perses_dashboard_test.go | 867 | // Step 1: Unmarshal + validate + normalize (what the API handler does). |
| LOW | pkg/types/dashboardtypes/perses_dashboard_test.go | 883 | // Step 2: Marshal to JSON (simulates writing to DB). |
| LOW | pkg/types/dashboardtypes/perses_dashboard_test.go | 887 | // Step 3: Unmarshal from JSON (simulates reading from DB). |
| LOW | pkg/types/dashboardtypes/perses_dashboard_test.go | 903 | // Step 4: Marshal again (simulates API response) and verify defaults. |
| LOW | pkg/types/telemetrytypes/field.go | 144 | // Step 1: Parse data type from the right (after the last ":") if not already specified |
| LOW | pkg/types/telemetrytypes/field.go | 155 | // Step 2: Parse field context from the left if not already specified |
| LOW | pkg/types/telemetrytypes/field.go | 186 | // Step 1: Parse data type from the right (after the last ":") |
| LOW | pkg/types/telemetrytypes/field.go | 201 | // Step 2: Parse field context from the left |
| LOW | pkg/types/telemetrytypes/field.go | 221 | // Step 3: No context found, entire key is the field name |
| LOW | pkg/telemetrytraces/field_mapper.go | 271 | // once clickHouse dependency is updated, we need to check if we can remove it. |
| LOW | pkg/modules/tracedetail/impltracedetail/module.go | 110 | // Step 1: minimal fetch → build full tree → select visible window |
| LOW | pkg/modules/tracedetail/impltracedetail/module.go | 132 | // Step 2: full fetch for the selected window only |
| LOW | pkg/sqlmigration/081_migrate_metaresources_tuples.go | 68 | // Step 1: Delete all tuples with the old "metaresources" object_type. |
| LOW | pkg/sqlmigration/081_migrate_metaresources_tuples.go | 83 | // Step 2: Insert replacement tuples. |
| LOW | pkg/sqlmigration/069_update_cloud_integration_index.go | 74 | // Step 1: Drop the wrong index on (id, provider, org_id) |
| LOW | pkg/sqlmigration/069_update_cloud_integration_index.go | 83 | // Step 2: Normalize empty-string account_id to NULL |
| LOW | pkg/sqlmigration/069_update_cloud_integration_index.go | 95 | // Step 3: Fetch all active rows with non-null account_id, ordered for grouping |
| LOW | pkg/sqlmigration/069_update_cloud_integration_index.go | 118 | // Step 4: Merge config from losers into keeper |
| LOW | pkg/sqlmigration/069_update_cloud_integration_index.go | 123 | // Step 5: Reassign non-conflicting cloud_integration_service rows to keeper |
| LOW | pkg/sqlmigration/069_update_cloud_integration_index.go | 144 | // Step 6: Soft-delete all loser rows |
| LOW | pkg/sqlmigration/069_update_cloud_integration_index.go | 157 | // Step 7: Create the correct partial unique index on (account_id, provider, org_id) WHERE removed_at IS NULL |
| LOW | pkg/query-service/app/traces/v4/enrich.go | 20 | // we need to check if the field is static and return false if isColumn is not set |
| LOW | pkg/query-service/app/clickhouseReader/reader.go | 715 | // Step 1: Get top operations for the given service |
| LOW | pkg/query-service/app/clickhouseReader/reader.go | 724 | // Step 2: Get entry point operation names for the given service using GetTopLevelOperations |
| LOW | pkg/query-service/app/clickhouseReader/reader.go | 757 | // Step 3: Filter topOps based on entryPointSet (same as original) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/integration/tests/querier/15_trace_operator.py | 89 | # The two POST spans are tied so their relative order is undefined; catalog-svc |
| HIGH | tests/integration/tests/querier/15_trace_operator.py | 192 | "expression": "A && B", |
| HIGH | tests/integration/tests/querier/15_trace_operator.py | 205 | "expression": "A || B", |
| HIGH | tests/integration/tests/querier/15_trace_operator.py | 218 | "expression": "A || B", |
| HIGH | …on/tests/querier_json_body/01_logs_json_body_new_qb.py | 509 | # log4 (no user): IS NOT NULL(null)=false → NOT found. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …/integration/tests/cloudintegrations/01_credentials.py | 0 | apply a license so that subsequent cloud integration calls succeed. |
| HIGH | …sts/integration/tests/cloudintegrations/04_accounts.py | 0 | apply a license so that subsequent cloud integration calls succeed. |
| HIGH | …tegration/tests/cloudintegrations/02_create_account.py | 0 | apply a license so that subsequent cloud integration calls succeed. |
| HIGH | …sts/integration/tests/cloudintegrations/05_services.py | 0 | apply a license so that subsequent cloud integration calls succeed. |
| HIGH | …tegration/tests/cloudintegrations/03_agent_check_in.py | 0 | apply a license so that subsequent cloud integration calls succeed. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | frontend/src/tests/test-utils.tsx | 208 | displayName: 'John Doe', |
| LOW | …d/src/container/RoutingPolicies/__tests__/testUtils.ts | 90 | displayName: 'John Doe', |
| LOW | frontend/src/container/LogDetailedView/util.test.ts | 24 | '{"name": "John", "age": 30, "address": {"street": "123 Main St", "city": "Anytown", "state": "CA"}}'; |
| LOW | frontend/src/container/LogDetailedView/util.test.ts | 30 | street: '123 Main St', |
| LOW | …/src/components/QueryBuilderV2/__tests__/utils.test.ts | 442 | value: 'user@example.com', |
| LOW | …/src/components/QueryBuilderV2/__tests__/utils.test.ts | 463 | "is_active = true AND is_deleted = false AND email = 'user@example.com' AND description = 'Contains \"quotes\" and \ |
| LOW | …/src/components/QueryBuilderV2/__tests__/utils.test.ts | 1458 | expect(formatValueForExpression('user@example.com')).toBe( |
| LOW | …/src/components/QueryBuilderV2/__tests__/utils.test.ts | 1459 | "'user@example.com'", |
| LOW | frontend/src/lib/__fixtures__/getRandomColor.ts | 21 | 'Lorem Ipsum', |
| LOW | frontend/src/lib/__fixtures__/getRandomColor.ts | 38 | 'Lorem Ipsum2', |
| LOW | frontend/src/lib/__fixtures__/getRandomColor.ts | 55 | 'Lorem Ipsum3', |
| LOW | frontend/src/mocks-server/__mockdata__/members.ts | 4 | name: 'John Doe', |
| LOW | frontend/src/mocks-server/__mockdata__/members.ts | 16 | name: 'Jane Doe', |
| LOW | frontend/src/mocks-server/__mockdata__/members.ts | 76 | name: 'John Doe', |
| LOW | frontend/src/mocks-server/__mockdata__/members.ts | 88 | name: 'Jane Doe', |
| LOW | frontend/src/mocks-server/__mockdata__/members.ts | 148 | name: 'John Doe', |
| LOW | frontend/src/mocks-server/__mockdata__/members.ts | 160 | name: 'Jane Doe', |
| LOW | tests/integration/tests/callbackauthn/03_oidc.py | 439 | assert found_user["displayName"] == "John Doe" |
| LOW | pkg/tokenizer/jwttokenizer/provider_test.go | 64 | Email: valuer.MustNewEmail("test@test.com"), |
| LOW | pkg/tokenizer/jwttokenizer/provider_test.go | 75 | Email: valuer.MustNewEmail("test@test.com"), |
| LOW | pkg/valuer/email_test.go | 16 | {name: "Valid", val: "test@test.com", want: Email{val: "test@test.com"}, pass: true}, |
| LOW | pkg/telemetrylogs/filter_expr_logs_test.go | 840 | expectedArgs: []any{"user@example.com", true}, |
| LOW | pkg/telemetrylogs/filter_expr_logs_test.go | 906 | expectedArgs: []any{"user@example.com"}, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | …NewWidget/RightContainer/LegendColors/LegendColors.tsx | 74 | return queryResponse.data.payload.data.result.map((item: any) => |
| CRITICAL | frontend/src/lib/dashboard/getQueryResults.ts | 356 | response.payload.data.newResult.data.result.map((queryData) => { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …MessagingQueues/MQDetails/MetricPage/MetricPageUtil.ts | 490 | // Use kebab-case title as requested |
| HIGH | …ypes/cloudintegrationtypes/cloudprovider_azure_test.go | 1 | // file is generated by AI |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/seeder/server.py | 94 | except Exception as e: |
| LOW | tests/seeder/server.py | 105 | except Exception as e: |
| LOW | tests/seeder/server.py | 119 | except Exception as e: |
| LOW | tests/seeder/server.py | 130 | except Exception as e: |
| LOW | tests/seeder/server.py | 144 | except Exception as e: |
| LOW | tests/seeder/server.py | 155 | except Exception as e: |
| LOW | tests/seeder/server.py | 169 | except Exception as e: |
| MEDIUM | tests/seeder/server.py | 100 | def delete_traces() -> Response: |
| MEDIUM | tests/seeder/server.py | 125 | def delete_logs() -> Response: |
| MEDIUM | tests/seeder/server.py | 150 | def delete_metrics() -> Response: |
| LOW | tests/e2e/bootstrap/setup.py | 55 | except Exception as e: # pylint: disable=broad-exception-caught |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/integration/tests/querier/04_traces.py | 2118 | # should just return 1 span, not duplicate |
| MEDIUM | tests/e2e/tests/dashboards/list.spec.ts | 445 | // entirely. This is the robust fix for Ant Popover positioning. |
| MEDIUM | tests/e2e/tests/dashboards/details/12-sections.spec.ts | 179 | // suffix; assert with a regex so the test is robust to widget-count |
| MEDIUM | pkg/telemetrylogs/json_condition_builder.go | 181 | // else ClickHouse may not utilize index |
| MEDIUM | pkg/query-service/app/logs/v4/query_builder.go | 224 | // by default clickhouse is not able to utilize indexes for keys with all operators. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | deploy/install.sh | 40 | # Check if docker compose plugin is present |
| LOW | tests/integration/tests/serviceaccount/06_fga.py | 231 | # Assign role to SA — forbidden (needs attach on both SA and role). |
| LOW | scripts/volume-migration/migrate.sh | 81 | # Check if docker is available |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/integration/tests/querier/08_filter_expression.py | 185 | |
| LOW | …ntegration/tests/querier/14_list_query_expectations.py | 643 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | deploy/common/clickhouse/config.xml | 640 | Regexps are not aligned: don't forget to add ^ and $. Also don't forget to escape dot (.) metacharacter |