Repository Analysis

SigNoz/signoz

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

1.7 Likely human-written View on GitHub
1.7
Adjusted Score
1.7
Raw Score
100%
Time Factor
2026-05-30
Last Push
27,142
Stars
TypeScript
Language
1,098,252
Lines of Code
6459
Files
1080
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 2HIGH 12MEDIUM 293LOW 773

Pattern Findings

1080 matches across 15 categories. Click a row to expand file-level details.

Decorative Section Separators259 hits · 833 pts
SeverityFileLineSnippet
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts27// ─── Fixtures ────────────────────────────────────────────────────────────────
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts74// ─── getRoute ─────────────────────────────────────────────────────────────────
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts90// ─── buildDrilldownUrl ────────────────────────────────────────────────────────
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts182// ─── useBaseDrilldownNavigate ─────────────────────────────────────────────────
MEDIUM…nd/src/container/MetricsExplorer/Explorer/Explorer.tsx226 // ─── AI Assistant page actions (only when license feature is on) ───────────
MEDIUM…nd/src/container/MetricsExplorer/Explorer/Explorer.tsx259 // ───────────────────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/GridCardLayout/utils.ts45 // ── EXPAND ──────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/GridCardLayout/utils.ts72 // ── COLLAPSE ─────────────────────────────────────────────────────────────
MEDIUM…container/GridCardLayout/__tests__/rowCollapse.test.ts12// ─── fixtures ────────────────────────────────────────────────────────────────
MEDIUM…container/GridCardLayout/__tests__/rowCollapse.test.ts45// ─── frozen-input guard (regression for zustand/immer read-only bug) ──────────
MEDIUM…container/GridCardLayout/__tests__/rowCollapse.test.ts80// ─── collapse behaviour ───────────────────────────────────────────────────────
MEDIUM…container/GridCardLayout/__tests__/rowCollapse.test.ts116// ─── expand behaviour ─────────────────────────────────────────────────────────
MEDIUM…container/GridCardLayout/__tests__/rowCollapse.test.ts155// ─── y-offset adjustment ──────────────────────────────────────────────────────
MEDIUM…ardContainer/DashboardVariablesSelection/utils.test.ts26// ────────────────────────────────────────────────────────────────
MEDIUM…ardContainer/DashboardVariablesSelection/utils.test.ts28// ────────────────────────────────────────────────────────────────
MEDIUM…ardContainer/DashboardVariablesSelection/utils.test.ts180// ────────────────────────────────────────────────────────────────
MEDIUM…ardContainer/DashboardVariablesSelection/utils.test.ts182// ────────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts30 // ── Dashboards ────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts100 // ── Alerts ────────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts153 // ── Services ──────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts190 // ── Logs ──────────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts213 // ── Traces ────────────────────────────────────────────────────────────────
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts252 // ── Metrics ───────────────────────────────────────────────────────────────
MEDIUM…iner/AIAssistant/AIAssistantPanel/AIAssistantPanel.tsx75 // ── Resize logic ──────────────────────────────────────────────────────────
MEDIUM…d/src/container/AIAssistant/components/blocks/index.ts17// ─── Register built-in block types ───────────────────────────────────────────
MEDIUM…d/src/container/AIAssistant/components/blocks/index.ts24// ─── Public exports ───────────────────────────────────────────────────────────
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx63 // ── Shared execute logic ─────────────────────────────────────────────────────
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx97 // ── Auto-apply: fire immediately on mount if the action opts in ──────────────
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx125 // ── Terminal states ──────────────────────────────────────────────────────────
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx154 // ── Loading (autoApply in progress) ─────────────────────────────────────────
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx165 // ── Pending: manual confirmation card ────────────────────────────────────────
MEDIUM…ntainer/AIAssistant/components/ChatInput/ChatInput.tsx484 // ── Voice input ────────────────────────────────────────────────────────────
MEDIUM…ntainer/AIAssistant/components/ChatInput/ChatInput.tsx622 // ── Push-to-talk (Cmd/Ctrl + Shift + Space) ────────────────────────────────
MEDIUM…iner/AIAssistant/AIAssistantModal/AIAssistantModal.tsx87 // ── Handlers ────────────────────────────────────────────────────────────────
MEDIUM…rc/container/AIAssistant/hooks/useSpeechRecognition.ts3// ── Web Speech API types (not yet in lib.dom.d.ts) ────────────────────────────
MEDIUM…rc/container/AIAssistant/hooks/useSpeechRecognition.ts41// ── Vendor-prefix shim for Safari / older browsers ────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts92// ─────────────────────────────────────────────────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts99 // ── guard ────────────────────────────────────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts112 // ── source panel ─────────────────────────────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts175 // ── receiver panel ───────────────────────────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts206 // ── exact groupBy match ───────────────────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts342 // ── partial groupBy overlap ───────────────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts434 // ── union across queries in groupByPerQuery ───────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts472 // ── no overlap (Filtered mode default) ────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts523 // ── filterMode: All ──────────────────────────────────────────────────
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts570 // ── caching ───────────────────────────────────────────────────────────
MEDIUMfrontend/src/pages/LogsExplorer/index.tsx138 // ─── AI Assistant page actions (only when license feature is on) ───────────
MEDIUMfrontend/src/pages/LogsExplorer/index.tsx175 // ───────────────────────────────────────────────────────────────────────────
MEDIUMfrontend/src/pages/TracesExplorer/index.tsx147 // ─── AI Assistant page actions (only when license feature is on) ───────────
MEDIUMfrontend/src/pages/TracesExplorer/index.tsx184 // ───────────────────────────────────────────────────────────────────────────
MEDIUMtests/integration/tests/role/03_fga.py51# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py53# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py73# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py75# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py122# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py124# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py161# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py163# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py213# ---------------------------------------------------------------------------
MEDIUMtests/integration/tests/role/03_fga.py215# ---------------------------------------------------------------------------
199 more matches not shown…
Hyper-Verbose Identifiers563 hits · 563 pts
SeverityFileLineSnippet
LOWfrontend/src/types/api/alerts/convert.ts89export function toPostableRuleDTOFromAlertDef(
LOW…ders/preferences/context/PreferenceContextProvider.tsx21export function PreferenceContextProvider({
LOW…d/src/providers/Dashboard/__tests__/Dashboard.test.tsx12function DashboardBootstrapWrapper({
LOW…d/src/providers/Dashboard/__tests__/Dashboard.test.tsx101function renderWithDashboardBootstrap(
LOW…nd/src/providers/Dashboard/store/variableFetchStore.ts57export function initializeVariableFetchStore(variableNames: string[]): void {
LOW…nd/src/providers/Dashboard/store/variableFetchStore.ts88export function enqueueFetchOfAllVariables(): void {
LOW…nd/src/providers/Dashboard/store/variableFetchStore.ts203export function enqueueDescendantsOfVariable(name: string): void {
LOW…c/providers/Dashboard/store/variableFetchStoreUtils.ts25export function areAllQueryVariablesSettled(
LOW…c/providers/Dashboard/store/variableFetchStoreUtils.ts37export function unlockWaitingDynamicVariables(
LOW…ore/dashboardVariables/dashboardVariablesStoreUtils.ts19export function buildSortedVariablesArray(
LOW…ore/dashboardVariables/dashboardVariablesStoreUtils.ts88export function buildDynamicVariableOrder(
LOW…rd/store/dashboardVariables/dashboardVariablesStore.ts26export function setDashboardVariablesStore({
LOW…rd/store/dashboardVariables/dashboardVariablesStore.ts45export function updateDashboardVariablesStore({
LOW…rd/store/dashboardVariables/dashboardVariablesStore.ts68export function getVariableDependencyContext(): VariableFetchContext {
LOWfrontend/src/utils/compositeQueryToQueryEnvelope.ts41export function compositeQueryToQueryEnvelope(
LOWfrontend/src/utils/aggregationConverter.ts18export function convertAggregationsToBaseAutocompleteData(
LOWfrontend/src/utils/aggregationConverter.ts86export function getAggregationOptionsForOrderBy(query: {
LOWfrontend/src/utils/aggregationConverter.ts107export function getParsedAggregationOptionsForOrderBy(query: {
LOWfrontend/src/utils/metricsTimeStorageUtils.ts12export function persistTimeDurationForRoute(
LOWfrontend/src/utils/queryContextUtils.ts124export function getCurrentValueIndexAtCursor(
LOWfrontend/src/utils/queryContextUtils.ts154function determineContextBoundaries(
LOWfrontend/src/utils/sanitizeOrderBy.ts9export function sanitizeOrderByForExplorer(
LOW…RowDismissibleCallout/LicenseRowDismissibleCallout.tsx15function LicenseRowDismissibleCallout(): JSX.Element | null {
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts27export function convertGroupMappingsToRecord(
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts47export function convertGroupMappingsToList(
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts63export function convertDomainMappingsToRecord(
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts88export function convertDomainMappingsToList(
LOW…gs/AuthDomain/CreateEdit/Providers/AuthnGoogleAuth.tsx23function ConfigureGoogleAuthAuthnProvider({
LOW…Settings/AuthDomain/CreateEdit/Providers/AuthnSAML.tsx16function ConfigureSAMLAuthnProvider({
LOW…Settings/AuthDomain/CreateEdit/Providers/AuthnOIDC.tsx16function ConfigureOIDCAuthnProvider({
LOWfrontend/src/container/CreateAlertV2/utils.tsx81export function getEvaluationWindowStateFromAlertDef(
LOWfrontend/src/container/CreateAlertV2/utils.tsx86 function getRollingWindowTimeframe(): string {
LOWfrontend/src/container/CreateAlertV2/utils.tsx98 function getCumulativeWindowTimeframe(): string {
LOWfrontend/src/container/CreateAlertV2/utils.tsx117 function getCumulativeWindowStartingAt(): EvaluationWindowState['startingAt'] {
LOWfrontend/src/container/CreateAlertV2/utils.tsx180export function getNotificationSettingsStateFromAlertDef(
LOWfrontend/src/container/CreateAlertV2/utils.tsx214export function getAdvancedOptionsStateFromAlertDef(
LOWfrontend/src/container/CreateAlertV2/utils.tsx303export function getThresholdStateFromAlertDef(
LOWfrontend/src/container/CreateAlertV2/utils.tsx327export function getCreateAlertLocalStateFromAlertDef(
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx56export function getNotificationSettingsProps(
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx92export function getEnforceMinimumDatapointsProps(
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx206export function buildCreateThresholdAlertRulePayload(
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx292export function buildCreateAnomalyAlertRulePayload(
LOWfrontend/src/container/CreateAlertV2/context/utils.tsx102export function getInitialAlertTypeFromURL(
LOW…d/src/container/CreateAlertV2/AlertCondition/utils.tsx53export function getCategorySelectOptionByName(
LOW…d/src/container/CreateAlertV2/AlertCondition/utils.tsx376export function NotificationChannelsNotFoundContent({
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx90export function buildAlertScheduleFromRRule(
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx144function generateMonthlyOccurrences(
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx181function generateWeeklyOccurrences(
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx242export function buildAlertScheduleFromCustomSchedule(
LOW…end/src/container/CreateAlertV2/QuerySection/utils.tsx8export function buildAlertDefForChartPreview({
LOW…teAlertV2/QuerySection/__tests__/ChartPreview.test.tsx32 function MockChartPreviewComponent(props: any): JSX.Element {
LOW…teAlertV2/QuerySection/__tests__/QuerySection.test.tsx59 function MockQuerySectionComponent({
LOW…iner/QueryBuilder/filters/QueryBuilderSearch/index.tsx75function getOperatorValueForContext(
LOW…s/QueryBuilderSearch/ExampleQueriesRendererForLogs.tsx5function ExampleQueriesRendererForLogs({
LOW…ainer/QueryBuilder/filters/QueryBuilderSearch/utils.ts51export function isExistsNotExistsOperator(value: string): boolean {
LOW…ainer/QueryBuilder/filters/QueryBuilderSearch/utils.ts156export function replaceStringWithMaxLength(
LOW…ainer/QueryBuilder/filters/QueryBuilderSearch/utils.ts211export function convertExampleQueriesToOptions(
LOW…filters/MetricNameSelector/MetricNameSelector.test.tsx516function StatefulMetricQueryHarness({
LOW…rs/QueryBuilderSearchV2/QueryBuilderSearchDropdown.tsx31export default function QueryBuilderSearchDropdown(
LOWfrontend/src/container/Trace/TraceGraphFilter/utils.ts32export function onClickSelectedGroupByHandler(options: DefaultOptionType[]) {
503 more matches not shown…
Over-Commented Block123 hits · 122 pts
SeverityFileLineSnippet
LOWfrontend/.oxlintrc.json261 "react-hooks/rules-of-hooks": "warn",
LOWfrontend/src/auto-import-registry.d.ts1// -------------------------------------------------------------------------
LOW…teAlertV2/NotificationSettings/NotificationMessage.tsx21 // { variable: '{{unit}}', description: 'Unit of measurement for the metric' },
LOW…lder/filters/MetricNameSelector/MetricNameSelector.tsx41 metricName: string,
LOW…lder/filters/MetricNameSelector/MetricNameSelector.tsx61// the dropdown. If the name differs from the current metric, it's resolved
LOW…c/container/Trace/Filters/Panel/PanelHeading/index.tsx261 // Object.keys(preFilter.get(props.name) || {}),
LOW…c/container/Trace/Filters/Panel/PanelHeading/index.tsx281 // payload: {
LOW…rc/container/InfraMonitoringK8s/InfraMonitoringK8s.tsx281 // />
LOW…er/AlertHistory/Timeline/GraphWrapper/GraphWrapper.tsx21 // TODO(shaheer): uncomment when the API is ready for
LOW…er/NewWidget/LeftContainer/ExplorerColumnsRenderer.tsx61 // aggregateAttribute: '',
LOW…ainer/OnboardingContainer/constants/apmDocFilePaths.ts1/// ///////// APM
LOW…ntainer/AIAssistant/components/ChatInput/ChatInput.tsx241 // Refs to each category tab so we can move DOM focus to the newly-active
LOW…ntainer/AIAssistant/components/ChatInput/ChatInput.tsx481 [],
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts1021 const result = removeKeysFromExpression(expression, ['nonexistent.key']);
LOWfrontend/src/api/ai-assistant/chat.ts61import { LOCALSTORAGE } from 'constants/localStorage';
LOWfrontend/src/pages/Services/Metrics.test.tsx41
LOWfrontend/src/pages/Services/Metrics.test.tsx61 // /6d4af7f0-4884-4a37-abd4-6bdbee29fa04/i,
LOW…s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx121 });
LOW…s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx141 // richColors: true,
LOW…s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx241 const emptyLogsStateConfig = useMemo(
LOW…s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx461 traceEndTime,
LOWee/anomaly/params.go41}
LOWee/anomaly/params.go61 PastPeriodQuery qbtypes.QueryRangeRequest
LOWee/query-service/anomaly/params.go41 Seasonality Seasonality
LOWee/query-service/anomaly/params.go61 CurrentPeriodQuery *v3.QueryRangeParamsV3
LOW…ntegration/tests/querier/14_list_query_expectations.py21 "query,result",
LOW…ntegration/tests/querier/14_list_query_expectations.py41 # lambda x: [x[2].id, x[2].timestamp],
LOW…ntegration/tests/querier/14_list_query_expectations.py61 # # Select timestamp is mapped to top level field by field mapper
LOW…ntegration/tests/querier/14_list_query_expectations.py81 # signal="logs",
LOW…ntegration/tests/querier/14_list_query_expectations.py101 # signal="logs",
LOW…ntegration/tests/querier/14_list_query_expectations.py121 # name="A",
LOW…ntegration/tests/querier/14_list_query_expectations.py421 # select_fields=[TelemetryFieldKey("trace_id")],
LOW…ntegration/tests/querier/14_list_query_expectations.py441 # name="A",
LOW…ntegration/tests/querier/14_list_query_expectations.py461 # signal="logs",
LOW…ntegration/tests/querier/14_list_query_expectations.py481 # name="A",
LOW…ntegration/tests/querier/14_list_query_expectations.py501 # select_fields=[TelemetryFieldKey("resource.trace_id")],
LOWtests/integration/tests/querier/15_trace_operator.py41
LOWtests/integration/tests/querier/15_trace_operator.py61#
LOWtests/integration/tests/querier/01_logs.py2181 # service-4: . . . . E E E E X X | | 6 2 3.0
LOW…/integration/tests/alerts/02_basic_alert_conditions.py541 }
LOW…/integration/tests/alerts/02_basic_alert_conditions.py561 # wait_time_seconds=90,
LOW…on/tests/querier_json_body/01_logs_json_body_new_qb.py1401# time_series, because the test goal is to verify body JSON path resolution
LOW…egration/tests/querier_json_body/02_non_body_fields.py101# ============================================================================
LOWtests/e2e/tests/dashboards/details/67-variables.spec.ts341 // Each `test.skip` below marks a behaviour the spec does NOT yet exercise.
LOWtests/e2e/tests/dashboards/details/67-variables.spec.ts381 // the golden dataset which tags every resource with
LOWtests/e2e/tests/dashboards/details/35-add-panel.spec.ts101 // Anything else (queries, panel-type changes, units) is editor-internal
LOWtests/e2e/tests/dashboards/details/12-sections.spec.ts81 // effect's dep array. Concretely: if a chevron is clicked while any
LOWtests/e2e/tests/dashboards/details/87-configure.spec.ts601 // eslint-disable-next-line playwright/expect-expect
LOWscripts/clickhouse/histogramquantile/main.go21 count float64
LOWscripts/clickhouse/histogramquantile/main.go41//
LOWscripts/clickhouse/histogramquantile/main.go121}
LOWscripts/clickhouse/histogramquantile/main.go141// exacerbates it. Specifically, suppose bucket le=1000 has a count of 10 from
LOWscripts/volume-migration/migrate.sh21# Command line arguments
LOWscripts/volume-migration/migrate.sh81# Check if docker is available
LOW.github/workflows/release-drafter.yml21 runs-on: ubuntu-latest
LOWconf/example.yaml1##################### SigNoz Configuration Example #####################
LOWpkg/queryparser/queryfilterextractor/clickhouse.go281 // Strip table alias if present (e.g., "m.region" -> "region")
LOWpkg/queryparser/queryfilterextractor/clickhouse.go361 // Handle Path type for qualified column names like "m.metric_name"
LOW…types/querybuildertypes/querybuildertypesv5/formula.go141// Why do we evaluate the formula expression in query-service?
LOW…types/querybuildertypes/querybuildertypesv5/formula.go161 // For example, in sqrt(A*A + B*B), variables are A and B
63 more matches not shown…
Self-Referential Comments27 hits · 86 pts
SeverityFileLineSnippet
MEDIUMtests/integration/tests/role/03_fga.py85 # Create the custom role.
MEDIUMtests/integration/tests/role/03_fga.py110 # Create the custom-role user: invite as VIEWER, activate, change role.
MEDIUMtests/integration/tests/passwordauthn/03_password.py80 # Create a reset password token via v2 PUT
MEDIUMtests/integration/tests/passwordauthn/03_password.py225 # Create a user specifically for testing forgot password
MEDIUMtests/integration/tests/passwordauthn/04_role.py26 # Create a new user as VIEWER
MEDIUMtests/integration/tests/ttl/01_ttl.py933 # Create a list of many TTL conditions to test performance and limits
MEDIUM…s/integration/tests/logspipelines/01_logs_pipelines.py120 # Create a pipeline first
MEDIUM…s/integration/tests/logspipelines/01_logs_pipelines.py578 # Create a pipeline first
MEDIUMtests/integration/tests/callbackauthn/03_oidc.py47 # Create a saml client in the idp.
MEDIUMtests/integration/tests/callbackauthn/03_oidc.py53 # Create a auth domain in signoz.
MEDIUMtests/integration/tests/callbackauthn/03_oidc.py93 # Create a user in the idp.
MEDIUMtests/integration/tests/callbackauthn/01_domain.py29 # Create a domain with google auth config
MEDIUMtests/integration/tests/callbackauthn/01_domain.py50 # Create a domain with saml config
MEDIUMtests/integration/tests/callbackauthn/01_domain.py99 # Create a domain with type saml and body for oidc, this should fail because oidcConfig is not allowed for saml
MEDIUMtests/integration/tests/callbackauthn/01_domain.py120 # Create a domain with invalid name
MEDIUMtests/integration/tests/callbackauthn/01_domain.py141 # Create a domain with no name
MEDIUMtests/integration/tests/callbackauthn/01_domain.py161 # Create a domain with no config
MEDIUMtests/integration/tests/callbackauthn/02_saml.py43 # Create a saml client in the idp.
MEDIUMtests/integration/tests/callbackauthn/02_saml.py49 # Create a auth domain in signoz.
MEDIUMtests/integration/tests/callbackauthn/02_saml.py115 # Create a user in the idp.
MEDIUMtests/integration/tests/callbackauthn/02_saml.py145 # Create a user in the idp.
MEDIUM…ts/integration/tests/alerts/01_notification_channel.py51 # Create an alert channel using the given route
MEDIUM…/integration/tests/alerts/02_basic_alert_conditions.py625 # Create an alert channel using the given route
MEDIUMtests/integration/tests/serviceaccount/06_fga.py72 # Create the custom role.
MEDIUMtests/integration/tests/serviceaccount/06_fga.py130 # Create a target SA (with role + key) for the custom user to operate on.
MEDIUMtests/integration/tests/serviceaccount/06_fga.py133 # Create a key on the target SA.
MEDIUMtests/integration/tests/serviceaccount/06_fga.py119 # Create the custom-role user: invite as VIEWER, activate, change role.
Verbosity Indicators49 hits · 76 pts
SeverityFileLineSnippet
LOWfrontend/src/container/LogsExplorerContext/utils.ts85 // Step 1: Always include service.name and environment attributes
LOWfrontend/src/container/LogsExplorerContext/utils.ts88 // Step 2: Find first category with attributes and pick first available
LOWfrontend/src/container/LogsExplorerContext/utils.ts93 // Step 3: Fallback to current regex logic (only if no priority items found)
LOW…/OnboardingV2Container/AddDataSource/AddDataSource.tsx223 // Step 1: Parse the URL
LOW…/OnboardingV2Container/AddDataSource/AddDataSource.tsx228 // Step 2: Update or add the 'source' parameter
LOW…/OnboardingV2Container/AddDataSource/AddDataSource.tsx245 // Step 3: Return the updated URL as a string
LOWfrontend/src/store/globalTime/index.ts49 * ### Step 1: Get Store State
LOWfrontend/src/store/globalTime/index.ts62 * ### Step 2: Build Query Key
LOWfrontend/src/store/globalTime/index.ts82 * ### Step 3: Fetch Data
LOWfrontend/src/store/globalTime/index.ts100 * ### Step 4: Add Refresh Button (Optional)
LOW…ntegration/tests/passwordauthn/07_user_unique_index.py42 # Step 1: invite and delete the first user
LOW…ntegration/tests/passwordauthn/07_user_unique_index.py63 # Step 2: re-invite and delete the same email (second deleted row)
LOW…ntegration/tests/passwordauthn/07_user_unique_index.py85 # Step 3: assert the DB has exactly two deleted rows for this email
LOW…ntegration/tests/passwordauthn/07_user_unique_index.py106 # Step 4: the unique index must still block a duplicate non-deleted row.
LOW…ntegration/tests/passwordauthn/07_user_unique_index.py136 # Step 5: a third deleted row must be accepted (excluded from partial index)
LOW…ntegration/tests/passwordauthn/07_user_unique_index.py149 # Step 6: confirm three deleted rows now exist
LOWtests/integration/tests/passwordauthn/01_register.py179 # Step 1: Invite user as ADMIN (mirrors zeus inviteUserOnSigNoz)
LOWtests/integration/tests/passwordauthn/01_register.py192 # Step 2: List users to find the invited user's ID (mirrors zeus GET /api/v1/user)
LOWtests/integration/tests/passwordauthn/01_register.py204 # Step 3: Get reset password token (mirrors zeus GET /api/v1/getResetPasswordToken/{id})
LOWtests/integration/tests/passwordauthn/01_register.py215 # Step 4: Use the token to set password and activate user
LOWtests/integration/tests/passwordauthn/01_register.py223 # Step 5: Verify the provisioned user can log in and is active with admin role
LOWpkg/queryparser/queryfilterextractor/clickhouse.go442 // Step 1: Search in CTE and Joins, this will take us to very end of the SubQueries and CTE
LOWpkg/queryparser/queryfilterextractor/clickhouse.go451 // Step 2: Once we're sure there are no SubQueries and CTE we just find all the selectItem
LOW…parser/queryfilterextractor/clickhouse_originparser.go147 // for functions, we need to check if the function is excluded function or a JSON extraction function with nested JSON
LOWpkg/types/dashboardtypes/perses_dashboard_test.go867 // Step 1: Unmarshal + validate + normalize (what the API handler does).
LOWpkg/types/dashboardtypes/perses_dashboard_test.go883 // Step 2: Marshal to JSON (simulates writing to DB).
LOWpkg/types/dashboardtypes/perses_dashboard_test.go887 // Step 3: Unmarshal from JSON (simulates reading from DB).
LOWpkg/types/dashboardtypes/perses_dashboard_test.go903 // Step 4: Marshal again (simulates API response) and verify defaults.
LOWpkg/types/telemetrytypes/field.go144 // Step 1: Parse data type from the right (after the last ":") if not already specified
LOWpkg/types/telemetrytypes/field.go155 // Step 2: Parse field context from the left if not already specified
LOWpkg/types/telemetrytypes/field.go186 // Step 1: Parse data type from the right (after the last ":")
LOWpkg/types/telemetrytypes/field.go201 // Step 2: Parse field context from the left
LOWpkg/types/telemetrytypes/field.go221 // Step 3: No context found, entire key is the field name
LOWpkg/telemetrytraces/field_mapper.go271 // once clickHouse dependency is updated, we need to check if we can remove it.
LOWpkg/modules/tracedetail/impltracedetail/module.go110 // Step 1: minimal fetch → build full tree → select visible window
LOWpkg/modules/tracedetail/impltracedetail/module.go132 // Step 2: full fetch for the selected window only
LOWpkg/sqlmigration/081_migrate_metaresources_tuples.go68 // Step 1: Delete all tuples with the old "metaresources" object_type.
LOWpkg/sqlmigration/081_migrate_metaresources_tuples.go83 // Step 2: Insert replacement tuples.
LOWpkg/sqlmigration/069_update_cloud_integration_index.go74 // Step 1: Drop the wrong index on (id, provider, org_id)
LOWpkg/sqlmigration/069_update_cloud_integration_index.go83 // Step 2: Normalize empty-string account_id to NULL
LOWpkg/sqlmigration/069_update_cloud_integration_index.go95 // Step 3: Fetch all active rows with non-null account_id, ordered for grouping
LOWpkg/sqlmigration/069_update_cloud_integration_index.go118 // Step 4: Merge config from losers into keeper
LOWpkg/sqlmigration/069_update_cloud_integration_index.go123 // Step 5: Reassign non-conflicting cloud_integration_service rows to keeper
LOWpkg/sqlmigration/069_update_cloud_integration_index.go144 // Step 6: Soft-delete all loser rows
LOWpkg/sqlmigration/069_update_cloud_integration_index.go157 // Step 7: Create the correct partial unique index on (account_id, provider, org_id) WHERE removed_at IS NULL
LOWpkg/query-service/app/traces/v4/enrich.go20 // we need to check if the field is static and return false if isColumn is not set
LOWpkg/query-service/app/clickhouseReader/reader.go715 // Step 1: Get top operations for the given service
LOWpkg/query-service/app/clickhouseReader/reader.go724 // Step 2: Get entry point operation names for the given service using GetTopLevelOperations
LOWpkg/query-service/app/clickhouseReader/reader.go757 // Step 3: Filter topOps based on entryPointSet (same as original)
Cross-Language Confusion5 hits · 41 pts
SeverityFileLineSnippet
HIGHtests/integration/tests/querier/15_trace_operator.py89 # The two POST spans are tied so their relative order is undefined; catalog-svc
HIGHtests/integration/tests/querier/15_trace_operator.py192 "expression": "A && B",
HIGHtests/integration/tests/querier/15_trace_operator.py205 "expression": "A || B",
HIGHtests/integration/tests/querier/15_trace_operator.py218 "expression": "A || B",
HIGH…on/tests/querier_json_body/01_logs_json_body_new_qb.py509 # log4 (no user): IS NOT NULL(null)=false → NOT found.
Cross-File Repetition5 hits · 25 pts
SeverityFileLineSnippet
HIGH…/integration/tests/cloudintegrations/01_credentials.py0apply a license so that subsequent cloud integration calls succeed.
HIGH…sts/integration/tests/cloudintegrations/04_accounts.py0apply a license so that subsequent cloud integration calls succeed.
HIGH…tegration/tests/cloudintegrations/02_create_account.py0apply a license so that subsequent cloud integration calls succeed.
HIGH…sts/integration/tests/cloudintegrations/05_services.py0apply a license so that subsequent cloud integration calls succeed.
HIGH…tegration/tests/cloudintegrations/03_agent_check_in.py0apply a license so that subsequent cloud integration calls succeed.
Fake / Example Data23 hits · 23 pts
SeverityFileLineSnippet
LOWfrontend/src/tests/test-utils.tsx208 displayName: 'John Doe',
LOW…d/src/container/RoutingPolicies/__tests__/testUtils.ts90 displayName: 'John Doe',
LOWfrontend/src/container/LogDetailedView/util.test.ts24 '{"name": "John", "age": 30, "address": {"street": "123 Main St", "city": "Anytown", "state": "CA"}}';
LOWfrontend/src/container/LogDetailedView/util.test.ts30 street: '123 Main St',
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts442 value: 'user@example.com',
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts463 "is_active = true AND is_deleted = false AND email = 'user@example.com' AND description = 'Contains \"quotes\" and \
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts1458 expect(formatValueForExpression('user@example.com')).toBe(
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts1459 "'user@example.com'",
LOWfrontend/src/lib/__fixtures__/getRandomColor.ts21 'Lorem Ipsum',
LOWfrontend/src/lib/__fixtures__/getRandomColor.ts38 'Lorem Ipsum2',
LOWfrontend/src/lib/__fixtures__/getRandomColor.ts55 'Lorem Ipsum3',
LOWfrontend/src/mocks-server/__mockdata__/members.ts4 name: 'John Doe',
LOWfrontend/src/mocks-server/__mockdata__/members.ts16 name: 'Jane Doe',
LOWfrontend/src/mocks-server/__mockdata__/members.ts76 name: 'John Doe',
LOWfrontend/src/mocks-server/__mockdata__/members.ts88 name: 'Jane Doe',
LOWfrontend/src/mocks-server/__mockdata__/members.ts148 name: 'John Doe',
LOWfrontend/src/mocks-server/__mockdata__/members.ts160 name: 'Jane Doe',
LOWtests/integration/tests/callbackauthn/03_oidc.py439 assert found_user["displayName"] == "John Doe"
LOWpkg/tokenizer/jwttokenizer/provider_test.go64 Email: valuer.MustNewEmail("test@test.com"),
LOWpkg/tokenizer/jwttokenizer/provider_test.go75 Email: valuer.MustNewEmail("test@test.com"),
LOWpkg/valuer/email_test.go16 {name: "Valid", val: "test@test.com", want: Email{val: "test@test.com"}, pass: true},
LOWpkg/telemetrylogs/filter_expr_logs_test.go840 expectedArgs: []any{"user@example.com", true},
LOWpkg/telemetrylogs/filter_expr_logs_test.go906 expectedArgs: []any{"user@example.com"},
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippet
CRITICAL…NewWidget/RightContainer/LegendColors/LegendColors.tsx74 return queryResponse.data.payload.data.result.map((item: any) =>
CRITICALfrontend/src/lib/dashboard/getQueryResults.ts356 response.payload.data.newResult.data.result.map((queryData) => {
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippet
HIGH…MessagingQueues/MQDetails/MetricPage/MetricPageUtil.ts490 // Use kebab-case title as requested
HIGH…ypes/cloudintegrationtypes/cloudprovider_azure_test.go1// file is generated by AI
Excessive Try-Catch Wrapping11 hits · 14 pts
SeverityFileLineSnippet
LOWtests/seeder/server.py94 except Exception as e:
LOWtests/seeder/server.py105 except Exception as e:
LOWtests/seeder/server.py119 except Exception as e:
LOWtests/seeder/server.py130 except Exception as e:
LOWtests/seeder/server.py144 except Exception as e:
LOWtests/seeder/server.py155 except Exception as e:
LOWtests/seeder/server.py169 except Exception as e:
MEDIUMtests/seeder/server.py100def delete_traces() -> Response:
MEDIUMtests/seeder/server.py125def delete_logs() -> Response:
MEDIUMtests/seeder/server.py150def delete_metrics() -> Response:
LOWtests/e2e/bootstrap/setup.py55 except Exception as e: # pylint: disable=broad-exception-caught
AI Slop Vocabulary5 hits · 14 pts
SeverityFileLineSnippet
LOWtests/integration/tests/querier/04_traces.py2118 # should just return 1 span, not duplicate
MEDIUMtests/e2e/tests/dashboards/list.spec.ts445 // entirely. This is the robust fix for Ant Popover positioning.
MEDIUMtests/e2e/tests/dashboards/details/12-sections.spec.ts179 // suffix; assert with a regex so the test is robust to widget-count
MEDIUMpkg/telemetrylogs/json_condition_builder.go181 // else ClickHouse may not utilize index
MEDIUMpkg/query-service/app/logs/v4/query_builder.go224 // by default clickhouse is not able to utilize indexes for keys with all operators.
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippet
LOWdeploy/install.sh40# Check if docker compose plugin is present
LOWtests/integration/tests/serviceaccount/06_fga.py231 # Assign role to SA — forbidden (needs attach on both SA and role).
LOWscripts/volume-migration/migrate.sh81# Check if docker is available
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippet
LOWtests/integration/tests/querier/08_filter_expression.py185
LOW…ntegration/tests/querier/14_list_query_expectations.py643
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippet
LOWdeploy/common/clickhouse/config.xml640 Regexps are not aligned: don't forget to add ^ and $. Also don't forget to escape dot (.) metacharacter