Repository Analysis

grafana/grafana

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

1.1 Likely human-written View on GitHub
1.1
Adjusted Score
1.1
Raw Score
100%
Time Factor
2026-05-30
Last Push
74,046
Stars
TypeScript
Language
4,136,935
Lines of Code
17838
Files
3246
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 87HIGH 10MEDIUM 106LOW 3043

Pattern Findings

3246 matches across 16 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers1580 hits · 1622 pts
SeverityFileLineSnippet
LOWjest.config.codeowner.js145function writeCoverageSummaryArtifact(coverageResults) {
LOWeslint.config.js84function withBaseRestrictedImportsConfig(config = {}) {
LOWdevenv/docker/blocks/elastic/data/data.js58async function elasticSetupIndexTemplate() {
LOWdevenv/docker/blocks/elastic/data/data.js164 function getNextSineWaveSleepDuration() {
LOW…right/various-suite/prometheus-variable-editor.spec.ts35 async function addPrometheusQueryVariable(
LOW…right/various-suite/prometheus-variable-editor.spec.ts63 async function variableFlowToQueryEditor(
LOW…test-plugins/grafana-extensionstest-app/tests/utils.ts5export async function ensureExtensionRegistryIsPopulated(page: Page) {
LOWe2e-playwright/dashboards-suite/utils/makeDashboard.ts1export function makeNewDashboardRequestBody(dashboardName: string, folderUid?: string) {
LOW…ywright/panels-suite/panelEdit_queryEditorNext.spec.ts24function addQueryOrExpressionButton(page: Page) {
LOWe2e-playwright/panels-suite/geomap-layer-types.spec.ts12async function setupGeomapWithAirportsGeoJSON({ gotoDashboardPage, selectors, page }: SetupFixtures) {
LOW…ywright/panels-suite/panelEdit_transformsSmoke.spec.ts70async function assertTransformationPickerDisabled(
LOWe2e-playwright/dashboard-cujs/cuj-selectors.ts33export function getAdHocFilterOptionValues(page: Page) {
LOWe2e-playwright/dashboard-cujs/cuj-selectors.ts37export function getAdHocFilterRestoreButton(page: Page, type: string) {
LOWe2e-playwright/dashboard-cujs/cuj-selectors.ts72export async function clickFirstScopesDashboard(page: Page) {
LOWe2e-playwright/dashboard-cujs/cuj-selectors.ts80export function getScopesDashboardsSearchInput(page: Page) {
LOWe2e-playwright/dashboard-cujs/utils.ts75export async function trackDashboardReloadRequests(page: Page): Promise<{
LOWe2e-playwright/dashboard-cujs/utils.ts123export function checkDashboardReloadBehavior(requests: DashboardRequest[]): boolean {
LOW…e-playwright/cloud-plugins-suite/azure-monitor.spec.ts36async function provisionAzureMonitorDatasources(
LOW…ts/dashboard-conditional-rendering-load-change.spec.ts415 async function failTestDataRequestForOption(page: Page, option: string) {
LOW…d-new-layouts/dashboards-conditional-rendering.spec.ts245async function addConditionalVariableRule(
LOW…d-new-layouts/dashboards-conditional-rendering.spec.ts271async function addConditionalTimeRangeRule(
LOW…ht/dashboard-new-layouts/dashboard-url-syncing.spec.ts16function buildDashboardPathWithSearch(dashboardUid: string, searchParams: Record<string, string>): string {
LOWe2e-playwright/dashboard-new-layouts/utils.ts207export function stripMetadataNameFromImportJson(input: string): string {
LOW…board-new-layouts/dashboards-repeats-snapshots.spec.ts13async function expectRepeatPanelsRendered(
LOW…dashboard-new-layouts/dashboards-panel-layouts.spec.ts383async function checkAutoGridLayoutInputs(dashboardPage: DashboardPage, selectors: E2ESelectorGroups) {
LOW…dashboard-new-layouts/dashboards-panel-layouts.spec.ts398async function verifyPanelsStackedVertically(dashboardPage: DashboardPage, selectors: E2ESelectorGroups) {
LOWpublic/app/types/unified-alerting-dto.ts51export function mapStateWithReasonToReason(state: GrafanaAlertStateWithReason): string {
LOWpublic/app/types/unified-alerting-dto.ts62export function mapStateWithReasonToBaseState(
LOWpublic/app/core/context/GrafanaContext.ts30export function useReturnToPreviousInternal() {
LOWpublic/app/core/utils/richHistory.ts132export async function updateRichHistorySettings(settings: RichHistorySettings): Promise<void> {
LOWpublic/app/core/utils/richHistory.ts144export async function updateStarredInRichHistory(id: string, starred: boolean) {
LOWpublic/app/core/utils/richHistory.ts162export async function updateCommentInRichHistory(id: string, newComment: string | undefined) {
LOWpublic/app/core/utils/errors.ts64export function getRequestConfigFromError(err: FetchError): string {
LOWpublic/app/core/utils/browser.ts5export function checkBrowserCompatibility() {
LOWpublic/app/core/utils/metrics.ts43export function reportMetricPerformanceMark(metricName: string, prefix = '', suffix = ''): void {
LOWpublic/app/core/crash/crash.utils.ts13function isChromePerformanceMemory(memory: unknown): memory is ChromePerformanceMemory {
LOWpublic/app/core/components/Page/Page.tsx157function getDefaultBackgroundForLayout(layout: PageLayoutType) {
LOWpublic/app/core/components/Page/Page.tsx169function getGradientBackgroundForTheme(theme: GrafanaTheme2) {
LOW…/core/components/AppChrome/AppChromeExtensionPoint.tsx24function InternalAppChromeExtensionPoint(): JSX.Element | null {
LOWpublic/app/core/components/AppChrome/AppChrome.tsx178function useResponsiveDockedMegaMenu(chrome: AppChromeService) {
LOW…ppChrome/ExtensionSidebar/ExtensionSidebarProvider.tsx62export function useExtensionSidebarContext() {
LOW…ppChrome/ExtensionSidebar/ExtensionSidebarProvider.tsx256export function getComponentIdFromComponentMeta(pluginId: string, componentTitle: string) {
LOW…ppChrome/ExtensionSidebar/ExtensionSidebarProvider.tsx260export function getComponentMetaFromComponentId(
LOW…ppChrome/ExtensionSidebar/ExtensionSidebarProvider.tsx284export function getInteractiveLearningPluginId(availableComponents: ExtensionPointPluginMeta): string | undefined {
LOW…Chrome/ExtensionSidebar/ExtensionToolbarItemButton.tsx27function ExtensionToolbarItemButtonComponent(
LOW…e/components/AppChrome/TopBar/useChromeHeaderHeight.ts39function getHeaderLevelsGivenState(
LOW…e/components/AppChrome/TopBar/useChromeHeaderHeight.ts94export function getChromeHeaderLevelHeight() {
LOWpublic/app/core/components/TimelineChart/utils.ts602export function prepareTimelineLegendItems(
LOW…nents/NestedFolderPicker/useFoldersQueryAppPlatform.ts34export function useFoldersQueryAppPlatform({
LOWpublic/app/core/history/RichHistoryLocalStorage.ts325function calculateTotalLocalStorageSize() {
LOWpublic/app/core/history/richHistoryLocalStorageUtils.ts53function filterQueriesByDataSource(queries: RichHistoryQuery[], listOfDatasourceFilters: string[]) {
LOWpublic/app/core/history/richHistoryLocalStorageUtils.ts59function filterQueriesBySearchFilter(queries: RichHistoryQuery[], searchFilter: string) {
LOWpublic/app/core/services/meticulous.ts8export async function updateMeticulousRecording(pathname: string): Promise<void> {
LOWpublic/app/core/services/echo/init.ts116async function initGoogleAnalyticsBackend() {
LOWpublic/app/core/services/echo/init.ts176async function initAzureAppInsightsBackend() {
LOWpublic/app/core/selectors/navModel.ts53function enrichNodeWithActiveState(node: NavModelItem, activeId: string): NavModelItem {
LOW…p/plugins/datasource/parca/QueryEditor/autocomplete.ts119function getMonacoCompletionItemKind(type: CompletionType, monaco: Monaco): monacoTypes.languages.CompletionItemKind {
LOW…lic/app/plugins/datasource/loki/shardQuerySplitting.ts80function splitQueriesByStreamShard(
LOW…lic/app/plugins/datasource/loki/shardQuerySplitting.ts321function updateGroupSizeFromResponse(response: DataQueryResponse, group: ShardedQueryGroup) {
LOWpublic/app/plugins/datasource/loki/getDerivedFields.ts71function fieldFromDerivedFieldConfig(derivedFieldConfigs: DerivedFieldConfig[]): Field {
1520 more matches not shown…
Over-Commented Block1150 hits · 1106 pts
SeverityFileLineSnippet
LOWrelyance.yaml1# Relyance Compliance Inspector Configuration
LOWeslint.config.js681 }),
LOWdevenv/docker/blocks/loki/loki-config.yaml41# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1######################## Filebeat Configuration ############################
LOWdevenv/docker/blocks/elasticstack/filebeat.yml21 # Filebeat will choose the paths depending on your OS.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml41
LOWdevenv/docker/blocks/elasticstack/filebeat.yml61 #error:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml81 # Input configuration (advanced). Any input configuration option
LOWdevenv/docker/blocks/elasticstack/filebeat.yml101 # Filebeat will choose the paths depending on your OS.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml141 # Set custom paths for the log files. If left empty,
LOWdevenv/docker/blocks/elasticstack/filebeat.yml161 #enabled: true
LOWdevenv/docker/blocks/elasticstack/filebeat.yml181 #input:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml201 # Set custom paths for the log files. If left empty,
LOWdevenv/docker/blocks/elasticstack/filebeat.yml221 #var.paths:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml241
LOWdevenv/docker/blocks/elasticstack/filebeat.yml261 #var.paths:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml281 # Slow logs
LOWdevenv/docker/blocks/elasticstack/filebeat.yml301 #var.paths:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml321
LOWdevenv/docker/blocks/elasticstack/filebeat.yml341 # Logs
LOWdevenv/docker/blocks/elasticstack/filebeat.yml361 #var.paths: ["/var/log/redis/redis-server.log*"]
LOWdevenv/docker/blocks/elasticstack/filebeat.yml381 #var.paths:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml441#- type: log
LOWdevenv/docker/blocks/elasticstack/filebeat.yml461
LOWdevenv/docker/blocks/elasticstack/filebeat.yml481 # review: 1
LOWdevenv/docker/blocks/elasticstack/filebeat.yml501
LOWdevenv/docker/blocks/elasticstack/filebeat.yml521 # If you enable this setting, the keys are copied top level in the output document.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml541
LOWdevenv/docker/blocks/elasticstack/filebeat.yml561 # this can mean that the first entries of a new file are skipped.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml581 # backoff factor. Having it set to 10s means in the worst case a new line can be added to a log
LOWdevenv/docker/blocks/elasticstack/filebeat.yml601 # Close renamed closes a file handler when the file is renamed or rotated.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml621 # Removes the state for file which cannot be found on disk anymore immediately
LOWdevenv/docker/blocks/elasticstack/filebeat.yml641
LOWdevenv/docker/blocks/elasticstack/filebeat.yml661# Experimental: Config options for the udp input
LOWdevenv/docker/blocks/elasticstack/filebeat.yml681
LOWdevenv/docker/blocks/elasticstack/filebeat.yml701
LOWdevenv/docker/blocks/elasticstack/filebeat.yml721 # The host and port to receive the new event
LOWdevenv/docker/blocks/elasticstack/filebeat.yml741 # The number of seconds of inactivity before a remote connection is closed.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml761 # Optional passphrase for decrypting the Certificate Key.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml781
LOWdevenv/docker/blocks/elasticstack/filebeat.yml801# - type: log
LOWdevenv/docker/blocks/elasticstack/filebeat.yml821
LOWdevenv/docker/blocks/elasticstack/filebeat.yml841 #reload.enabled: true
LOWdevenv/docker/blocks/elasticstack/filebeat.yml861
LOWdevenv/docker/blocks/elasticstack/filebeat.yml881 # to be sent to the outputs.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml901 # will have no more effect.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml921 # - The buffer limit has been reached.
LOWdevenv/docker/blocks/elasticstack/filebeat.yml941 # Reader flush timeout, waiting for more events to become available, so
LOWdevenv/docker/blocks/elasticstack/filebeat.yml961# The supported processors are drop_fields, drop_event, include_fields,
LOWdevenv/docker/blocks/elasticstack/filebeat.yml981#
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1001#
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1021# match_source_index: 4
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1041#- add_host_metadata:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1061# overwrite_keys: false
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1081output.elasticsearch:
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1101
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1121 #pipeline: ""
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1141
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1161 # susceptible to man-in-the-middle attacks. Use only for testing. Default is
LOWdevenv/docker/blocks/elasticstack/filebeat.yml1181 # Configure cipher suites to be used for SSL connections
1090 more matches not shown…
Hallucination Indicators87 hits · 1035 pts
SeverityFileLineSnippet
CRITICAL…-playwright/dashboards-suite/textbox-variables.spec.ts56 const textPanel = page.locator(selectors.components.Panels.Visualization.Text.container(''));
CRITICAL…aywright/dashboard-new-layouts/page-objects/Sidebar.ts20 .getByGrafanaSelector(this.selectors.components.PanelEditor.OptionsPane.fieldLabel('dashboard-options Title'))
CRITICAL…aywright/dashboard-new-layouts/page-objects/Sidebar.ts27 this.selectors.components.PanelEditor.OptionsPane.fieldLabel('dashboard-options Description')
CRITICAL…ing/unified/components/rule-viewer/RuleViewer.test.tsx99 await user.click(ELEMENTS.actions.more.actions.silence.get());
CRITICAL…ing/unified/components/rule-viewer/RuleViewer.test.tsx486 expect(ELEMENTS.actions.more.pluginActions.sloDashboard.get()).toBeInTheDocument();
CRITICAL…ing/unified/components/rule-viewer/RuleViewer.test.tsx487 expect(ELEMENTS.actions.more.pluginActions.assertsWorkbench.query()).not.toBeInTheDocument();
CRITICAL…ing/unified/components/rule-viewer/RuleViewer.test.tsx489 await waitFor(() => expect(ELEMENTS.actions.more.pluginActions.declareIncident.get()).toBeEnabled());
CRITICAL…ing/unified/components/rule-viewer/RuleViewer.test.tsx505 expect(ELEMENTS.actions.more.pluginActions.assertsWorkbench.get()).toBeInTheDocument();
CRITICAL…ing/unified/components/rule-viewer/RuleViewer.test.tsx506 expect(ELEMENTS.actions.more.pluginActions.sloDashboard.query()).not.toBeInTheDocument();
CRITICAL…ing/unified/components/rule-viewer/RuleViewer.test.tsx508 await waitFor(() => expect(ELEMENTS.actions.more.pluginActions.declareIncident.get()).toBeEnabled());
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx144 expect(ui.settings.googlechat.title.input.get()).toHaveValue('Alert Title');
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx145 expect(ui.settings.googlechat.message.input.get()).toHaveValue('Alert Message');
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx152 expect(ui.settings.webhook.title.container.get()).toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx153 expect(ui.settings.webhook.message.container.get()).toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx156 expect(ui.settings.webhook.message.input.query()).not.toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx157 expect(ui.settings.webhook.title.input.query()).not.toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx175 expect(ui.settings.webhook.title.input.get()).toHaveValue('Webhook Title');
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx176 expect(ui.settings.webhook.message.input.get()).toHaveValue('Webhook Message');
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx183 expect(ui.settings.googlechat.title.container.get()).toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx184 expect(ui.settings.googlechat.message.container.get()).toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx187 expect(ui.settings.googlechat.message.input.query()).not.toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx188 expect(ui.settings.googlechat.title.input.query()).not.toBeInTheDocument();
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx208 expect(ui.settings.googlechat.title.input.get()).toHaveValue('Original Title');
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx209 expect(ui.settings.googlechat.message.input.get()).toHaveValue('Original Message');
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx224 expect(ui.settings.googlechat.title.input.get()).toHaveValue('Original Title');
CRITICAL…fied/components/receivers/form/ChannelSubForm.test.tsx225 expect(ui.settings.googlechat.message.input.get()).toHaveValue('Original Message');
CRITICAL…components/receivers/form/GrafanaReceiverForm.test.tsx503 const oauth2Container = await ui.webhook.httpConfig.oauth2.container.find();
CRITICAL…components/receivers/form/GrafanaReceiverForm.test.tsx504 const clientSecretField = ui.webhook.httpConfig.oauth2.clientSecret.get(oauth2Container);
CRITICAL…components/receivers/form/GrafanaReceiverForm.test.tsx505 const oauthCaCertField = ui.webhook.httpConfig.oauth2.tls_config.caCertificate.get(oauth2Container);
CRITICAL…components/receivers/form/GrafanaReceiverForm.test.tsx506 const oauthClientCertField = ui.webhook.httpConfig.oauth2.tls_config.clientCert.get(oauth2Container);
CRITICAL…components/receivers/form/GrafanaReceiverForm.test.tsx507 const oauthClientKeyField = ui.webhook.httpConfig.oauth2.tls_config.clientKey.get(oauth2Container);
CRITICAL…components/receivers/form/GrafanaReceiverForm.test.tsx580 expect(await ui.webhook.httpConfig.oauth2.tls_config.container.find()).toBeInTheDocument();
CRITICAL…components/receivers/form/GrafanaReceiverForm.test.tsx581 await user.click(await ui.webhook.httpConfig.oauth2.tls_config.deleteButton.find());
CRITICALpublic/app/features/canvas/runtime/scene.tsx376 this.tooltipPayload.element.options.actions.filter(
CRITICAL…blic/app/features/dashboard/state/DashboardMigrator.ts356 panel.options.fieldOptions.defaults.links = panel.options.fieldOptions.defaults.links.map(updateLinks);
CRITICAL…blic/app/features/dashboard/state/DashboardMigrator.ts385 panel.options.fieldOptions.defaults.links = panel.options.fieldOptions.defaults.links.map(updateLinks);
CRITICAL…ures/dashboard/components/SubMenu/AnnotationPicker.tsx51 data-testid={selectors.pages.Dashboard.SubMenu.Annotations.annotationLabel(annotation.name)}
CRITICAL…ures/dashboard/components/SubMenu/AnnotationPicker.tsx58 data-testid={selectors.pages.Dashboard.SubMenu.Annotations.annotationToggle(annotation.name)}
CRITICAL…lic/app/features/dashboard/api/ResponseTransformers.ts360 currentRow.spec.layout.spec.items.push(buildGridItemKind(p, elementName, yOffsetInRows(p, legacyRowY)));
CRITICAL…pp/features/variables/editor/VariableEditorListRow.tsx66 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowNameFields(variable.name)}
CRITICAL…pp/features/variables/editor/VariableEditorListRow.tsx78 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowDefinitionFields(variable.name)}
CRITICAL…pp/features/variables/editor/VariableEditorListRow.tsx95 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowDuplicateButtons(variable.name)}
CRITICAL…pp/features/variables/editor/VariableEditorListRow.tsx105 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowRemoveButtons(variable.name)}
CRITICAL…ard-scene/settings/variables/VariableEditorListRow.tsx74 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowNameFields(variableState.name)}
CRITICAL…ard-scene/settings/variables/VariableEditorListRow.tsx86 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowDefinitionFields(variableState.name)}
CRITICAL…ard-scene/settings/variables/VariableEditorListRow.tsx107 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowDuplicateButtons(
CRITICAL…ard-scene/settings/variables/VariableEditorListRow.tsx118 data-testid={selectors.pages.Dashboard.Settings.Variables.List.tableRowRemoveButtons(
CRITICAL…/dashboard-scene/serialization/transformationCompat.ts86 const wireTransformations = element.spec.data.spec.transformations.map(
CRITICAL…res/dashboard-scene/utils/getVariablesCompatibility.ts12 const panel = sceneObject.state.editPanel.state.panelRef.resolve();
CRITICAL…/app/features/dashboard-scene/scene/DashboardScene.tsx1063 panel = dashboard.state.editPanel.state.panelRef.resolve();
CRITICAL…scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx139 children: this.state.layout.state.children.filter((child) => child !== newGridItem),
CRITICAL…scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx168 children: this.state.layout.state.children.filter((child) => child !== panel),
CRITICAL…scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx186 const gridItemIndex = this.state.layout.state.children.indexOf(gridItem);
CRITICAL…scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx193 children: this.state.layout.state.children.filter((child) => child !== gridItem),
CRITICAL…scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx199 ...this.state.layout.state.children.slice(0, gridItemIndex),
CRITICAL…scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx201 ...this.state.layout.state.children.slice(gridItemIndex),
CRITICAL…scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx403 children: this.state.layout.state.children.filter((child) => child !== gridItem),
CRITICAL…cene/scene/layout-default/DefaultGridLayoutManager.tsx174 children: this.state.grid.state.children.filter((child) => child !== newGridItem),
CRITICAL…cene/scene/layout-default/DefaultGridLayoutManager.tsx216 children: this.state.grid.state.children.filter((child) => child !== newGridItem),
CRITICAL…cene/scene/layout-default/DefaultGridLayoutManager.tsx514 this.state.grid.state.children.forEach((child) => {
27 more matches not shown…
Fake / Example Data200 hits · 222 pts
SeverityFileLineSnippet
LOWdevenv/dev-dashboards/panel-table/table_nested.json534 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text,Styling\ndown,https://grafana.com/media/menu
LOWdevenv/dev-dashboards/panel-table/table_nested.json534 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text,Styling\ndown,https://grafana.com/media/menu
LOW…env/dev-dashboards/panel-table/table_kitchen_sink.json514 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text,Styling\ndown,https://grafana.com/media/menu
LOW…env/dev-dashboards/panel-table/table_kitchen_sink.json514 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text,Styling\ndown,https://grafana.com/media/menu
LOW…dev-dashboards/panel-table/table_v12_2_migrations.json465 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text\ndown,https://grafana.com/media/menus/produc
LOW…dev-dashboards/panel-table/table_v12_2_migrations.json465 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text\ndown,https://grafana.com/media/menus/produc
LOW…dev-dashboards/panel-table/table_v12_2_migrations.json1002 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text\ndown,https://grafana.com/media/menus/produc
LOW…dev-dashboards/panel-table/table_v12_2_migrations.json1002 "csvContent": "Info,Image,Image w/ Link,Pills,Data Link,Long Text\ndown,https://grafana.com/media/menus/produc
LOWe2e-playwright/panels-suite/table-nested.spec.ts356 // toggle the lorem ipsum column's wrap text toggle and confirm that the height shrinks.
LOWe2e-playwright/panels-suite/table-kitchenSink.spec.ts78 // toggle the lorem ipsum column's wrap text toggle and confirm that the height shrinks.
LOW…ion-alerting-resources/terraform-provisioning/index.md287 Lorem ipsum - Custom alert!
LOW…configure-access/configure-authentication/jwt/index.md78 "name": "John Doe",
LOWpublic/app/features/alerting/unified/utils/receivers.ts16 * { name: 'my receiver', email_configs: [{ from: "foo@bar.com" }] }
LOW…/unified/components/receivers/NewReceiverView.test.tsx127 await user.type(email, 'test@test.com');
LOW…/unified/components/receivers/NewReceiverView.test.tsx131 'Invalid receiver: \'invalid email integration[0]: failed to check if email address "test@test.com" exists: user n
LOW…erting/unified/components/contact-points/utils.test.ts124 expect(summarizeEmailAddresses('test@test.com')).toBe('test@test.com');
LOW…c/app/features/logs/components/LogMessageAnsi.test.tsx9 render(<LogMessageAnsi value="Lorem ipsum" />);
LOW…c/app/features/logs/components/LogMessageAnsi.test.tsx12 expect(screen.queryByText('Lorem ipsum')).toBeInTheDocument();
LOWpublic/app/features/profile/ChangePasswordPage.test.tsx18 email: 'test@test.com',
LOWpublic/app/features/profile/ChangePasswordPage.test.tsx34 email: 'test@test.com',
LOW…blic/app/features/profile/UserProfileEditPage.test.tsx28 email: 'test@test.com',
LOW…blic/app/features/profile/UserProfileEditPage.test.tsx203 expect(email()).toHaveValue('test@test.com');
LOWpublic/app/features/profile/state/reducers.test.ts67 email: 'test@test.com',
LOWpublic/app/features/profile/state/reducers.test.ts80 email: 'test@test.com',
LOWpublic/app/features/apiserver/client.test.ts86 contextSrv.user.login = 'user@example.com';
LOW…ages/grafana-ui/src/components/Drawer/Drawer.story.tsx70 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
LOW…ages/grafana-ui/src/components/Drawer/Drawer.story.tsx70 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
LOW…ages/grafana-ui/src/components/Drawer/Drawer.story.tsx151 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
LOW…ages/grafana-ui/src/components/Drawer/Drawer.story.tsx151 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
LOW…ages/grafana-ui/src/components/Drawer/Drawer.story.tsx221 title: `This is a very long title! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
LOW…ages/grafana-ui/src/components/Drawer/Drawer.story.tsx221 title: `This is a very long title! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
LOWpackages/grafana-ui/src/components/Card/Card.story.tsx266 Description, body text. Greetings! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
LOWpackages/grafana-ui/src/components/Card/Card.story.tsx266 Description, body text. Greetings! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
LOW…i/src/components/Typeahead/PartialHighlighter.test.tsx19 text="Lorem ipsum dolor sit amet"
LOW…i/src/components/Typeahead/PartialHighlighter.test.tsx19 text="Lorem ipsum dolor sit amet"
LOW…i/src/components/Typeahead/PartialHighlighter.test.tsx38 text="Lorem ipsum dolor sit amet"
LOW…i/src/components/Typeahead/PartialHighlighter.test.tsx38 text="Lorem ipsum dolor sit amet"
LOW…i/src/components/Typeahead/PartialHighlighter.test.tsx52 render(<PartialHighlighter text="Lorem ipsum dolor sit amet" highlightClassName="highlight" highlightParts={[]} />);
LOW…i/src/components/Typeahead/PartialHighlighter.test.tsx52 render(<PartialHighlighter text="Lorem ipsum dolor sit amet" highlightClassName="highlight" highlightParts={[]} />);
LOW…onents/Forms/RadioButtonList/RadioButtonList.story.tsx49 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mag
LOW…onents/Forms/RadioButtonList/RadioButtonList.story.tsx49 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mag
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx34 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx34 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx41 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx41 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx48 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx48 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx55 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx55 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx62 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx62 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx69 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx69 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx76 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx76 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx83 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…c/components/ScrollContainer/ScrollContainer.story.tsx83 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…/grafana-ui/src/components/Combobox/Combobox.story.tsx48 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…/grafana-ui/src/components/Combobox/Combobox.story.tsx48 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
LOW…/grafana-ui/src/components/Combobox/Combobox.story.tsx60 'this is a very long description that should be longer than the longest option label which should make the opt
140 more matches not shown…
Decorative Section Separators67 hits · 202 pts
SeverityFileLineSnippet
MEDIUMdevenv/secrets/secrets.go47// ── Config types (YAML input) ───────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go74// ── API resource types (JSON for POST) ──────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go130// ── HTTP client ─────────────────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go185// ── Check API availability ──────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go211// ── Create resources ────────────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go304// ── Delete resources ────────────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go349// ── Helpers ─────────────────────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go360// ── Self-test (no server required) ──────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go378 // ── Config parsing ──────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go425 // ── Resource JSON structure ─────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go496 // ── Helpers ─────────────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go510 // ── HTTP interaction (mock server) ──────────────────────────────────
MEDIUMdevenv/secrets/secrets.go542 // ── Summary ─────────────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go579// ── Generate bulk test data ──────────────────────────────────────────────────
MEDIUMdevenv/secrets/secrets.go646// ── Main ────────────────────────────────────────────────────────────────────
MEDIUM…/app/features/alerting/unified/utils/access-control.ts26// ── Pure data: static permission maps ────────────────────────────────────────
MEDIUM…/app/features/alerting/unified/utils/access-control.ts117// ── Pure functions: source-type-aware permission resolvers ────────────────────
MEDIUM…/app/features/alerting/unified/utils/access-control.ts155// ── Runtime utilities ─────────────────────────────────────────────────────────
MEDIUM…res/alerting/unified/hooks/abilities/otherAbilities.ts19// ── Folder bulk action abilities ──────────────────────────────────────────────
MEDIUM…res/alerting/unified/hooks/abilities/otherAbilities.ts40// ── Enrichment abilities ──────────────────────────────────────────────────────
MEDIUM…app/features/alerting/unified/hooks/abilities/types.ts124// ── Ability ─────────────────────────────────────────────────────────────
MEDIUM…app/features/alerting/unified/hooks/abilities/types.ts187// ── Sentinel constants ────────────────────────────────────────────────────────
MEDIUM…app/features/alerting/unified/hooks/abilities/types.ts223// ── Type-guard functions ──────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx38// ── useRuleAdministrationAbility ────────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx286// ── useRuleSilenceAbility ─────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx338// ── useRuleExploreAbility ─────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx364// ── useRuleExportAbility ──────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx387// ── useRuleAdministrationAbility ─────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx477// ── usePromRuleSilenceAbility ─────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx527// ── usePromRuleExportAbility ──────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx556// ── Global rule ability React hooks ──────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.test.tsx608// ── Pure utility function branches ────────────────────────────────────────────
MEDIUM…ng/unified/hooks/abilities/rules/rulerRuleAbilities.ts39// ── useRuleAdministrationAbility ──────────────────────────────────────────────
MEDIUM…ng/unified/hooks/abilities/rules/rulerRuleAbilities.ts111// ── useRuleSilenceAbility ─────────────────────────────────────────────────────
MEDIUM…ng/unified/hooks/abilities/rules/rulerRuleAbilities.ts125// ── useRuleExportAbility ──────────────────────────────────────────────────────
MEDIUM…ng/unified/hooks/abilities/rules/rulerRuleAbilities.ts137// ── Internal helpers ──────────────────────────────────────────────────────────
MEDIUM…ing/unified/hooks/abilities/rules/promRuleAbilities.ts37// ── usePromRuleAdministrationAbility ─────────────────────────────────────────
MEDIUM…ing/unified/hooks/abilities/rules/promRuleAbilities.ts106// ── usePromRuleSilenceAbility ─────────────────────────────────────────────────
MEDIUM…ing/unified/hooks/abilities/rules/promRuleAbilities.ts125// ── usePromRuleExportAbility ──────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.utils.ts24// ── Sentinel token ────────────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.utils.ts30// ── Shared result type ────────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.utils.ts66// ── Pure ability builders ─────────────────────────────────────────────────────
MEDIUM…g/unified/hooks/abilities/rules/ruleAbilities.utils.ts166// ── Shared internal hooks ─────────────────────────────────────────────────────
MEDIUM…lerting/unified/hooks/abilities/rules/ruleAbilities.ts37// ── Grafana-managed rule abilities (global / list level) ──────────────────────
MEDIUM…lerting/unified/hooks/abilities/rules/ruleAbilities.ts95// ── External datasource rule abilities (global / list level) ──────────────────
MEDIUM…lerting/unified/hooks/abilities/rules/ruleAbilities.ts140// ── Explore (no rule context needed) ─────────────────────────────────────────
MEDIUM…tures/dashboard-scene/scene/UnconfiguredPanel.test.tsx20// ─── module mocks ─────────────────────────────────────────────────────────────
MEDIUM…tures/dashboard-scene/scene/UnconfiguredPanel.test.tsx80// ─── typed mock references ────────────────────────────────────────────────────
MEDIUM…tures/dashboard-scene/scene/UnconfiguredPanel.test.tsx95// ─── helpers ─────────────────────────────────────────────────────────────────
MEDIUM…tures/dashboard-scene/scene/UnconfiguredPanel.test.tsx118// ─── setup ────────────────────────────────────────────────────────────────────
MEDIUM…tures/dashboard-scene/scene/UnconfiguredPanel.test.tsx146// ─── tests ────────────────────────────────────────────────────────────────────
MEDIUM.github/workflows/pr-test-docker.yml38 # ── Path 1 ────────────────────────────────────────────────────────────────
MEDIUM.github/workflows/pr-test-docker.yml60 # ── Path 2 ────────────────────────────────────────────────────────────────
MEDIUMapps/provisioning/pkg/repository/workflows_test.go358 // ─── size-threshold boundary cases ─────────────────────────────────────
MEDIUMapps/provisioning/pkg/repository/workflows_test.go422 // ─── folder-metadata-only deletion cases ───────────────────────────────
MEDIUMapps/provisioning/pkg/repository/workflows_test.go519 // ─── size check is evaluated before the folder-metadata guard ──────────
MEDIUMpkg/tests/apis/provisioning/common/testing.go2567// ── Git-server test infrastructure ─────────────────────────────────────────
MEDIUMpkg/tests/apis/provisioning/common/testing.go3054// ── Export helpers ──────────────────────────────────────────────────────────
MEDIUM…visioning/foldermetadata/fixfoldermetadata_git_test.go184// ── helpers ────────────────────────────────────────────────────────────────
MEDIUM…ning/foldermetadata/update_folder_metadata_git_test.go187// ── helpers ────────────────────────────────────────────────────────────────
7 more matches not shown…
Verbosity Indicators93 hits · 148 pts
SeverityFileLineSnippet
LOWpublic/app/plugins/datasource/loki/datasource.ts785 // If it is not a logs query, we need to check if we need to convert it to a logs query
LOW…ugins/annotations2-cluster/useAnnotationClustering.tsx85 // If region annotations are in the cluster we need to check if the end time is later then
LOWpublic/app/features/alerting/unified/utils/rule-form.ts327 // we need to check if the feature toggle is enabled as it might be disabled after the rule was created with the featu
LOW…rting/unified/components/import-to-gma/ImportToGMA.tsx56 // Step 1: Alertmanager resources
LOW…rting/unified/components/import-to-gma/ImportToGMA.tsx69 // Step 2: Alert rules
LOW…lerting/unified/hooks/usePrometheusConsistencyCheck.ts350 // We need to check if the rule exists first, because most of the times it does,
LOW…blic/app/features/explore/TraceView/createSpanLink.tsx690 // Because we can only pass milliseconds in the url we need to check if they equal.
LOW…blic/app/features/annotations/utils/savedQueryUtils.ts50 // Step 1: Create clean annotation structure with only annotation-specific fields
LOW…blic/app/features/annotations/utils/savedQueryUtils.ts63 // Step 2: Use datasource's export/import to normalize saved query
LOW…blic/app/features/annotations/utils/savedQueryUtils.ts104 // Step 3: Create annotation and apply datasource-specific preparation
LOW…blic/app/features/annotations/utils/savedQueryUtils.ts120 // Step 4: Handle v1 vs v2 dashboard format after preparation
LOW…/GroupToNestedTableTransformerEditor/EditorV1.test.tsx60 // Step 1: select "Calculate" — onChange fires with operation set, no stats yet
LOW…/GroupToNestedTableTransformerEditor/EditorV1.test.tsx69 // Step 2: simulate the parent re-rendering with the updated options so the StatsPicker appears.
LOW…/GroupToNestedTableTransformerEditor/EditorV1.test.tsx81 // Step 3: open the StatsPicker (MultiCombobox) and pick "Last".
LOW…/GroupToNestedTableTransformerEditor/EditorV1.test.tsx91 // Step 4: onChange is called with the chosen calculation included
LOWscripts/build-msi.sh139 # Step 1: harvest files into grafana.wxs
LOWscripts/build-msi.sh149 # Step 2: compile all .wxs files
LOWscripts/build-msi.sh157 # Step 3: link into MSI
LOWapps/advisor/pkg/app/checks/instancechecks/check.go56 // If running in cloud, we need to check if the version is pinned
LOWapps/advisor/pkg/app/checks/instancechecks/check.go65 // If running in self-managed, we need to check if the version is out of support
LOW…r/pkg/app/checks/instancechecks/out_of_support_step.go67 // In other cases, we need to check if the version is out of support.
LOWapps/dashvalidator/pkg/validator/dashboard.go45 // Step 1: Extract queries from dashboard JSON
LOWapps/dashvalidator/pkg/validator/dashboard.go51 // Step 2: Group queries by datasource UID (with variable resolution for MVP)
LOWapps/dashvalidator/pkg/validator/dashboard.go54 // Step 3: Validate each datasource
LOWapps/dashvalidator/pkg/validator/dashboard.go94 // Step 4: Calculate overall compatibility score
LOWapps/dashvalidator/pkg/app/app.go142 // Step 1: Parse request body
LOWapps/dashvalidator/pkg/app/app.go198 // Step 2: Build validator request
LOWapps/dashvalidator/pkg/app/app.go344 // Step 3: Validate dashboard compatibility
LOWapps/dashvalidator/pkg/app/app.go372 // Step 4: Convert result to response format
LOWapps/dashvalidator/pkg/app/app.go375 // Step 5: Return response
LOW…hboard/pkg/migration/conversion/v2alpha1_to_v1_test.go50 // Step 1: Convert v2alpha1 → v1
LOW…hboard/pkg/migration/conversion/v2alpha1_to_v1_test.go55 // Step 2: Convert v1 → v2alpha1 (back)
LOW…d/pkg/migration/conversion/v2beta1_to_v2alpha1_test.go65 // Step 1: Convert v2beta1 → v2alpha1
LOW…d/pkg/migration/conversion/v2beta1_to_v2alpha1_test.go77 // Step 2: Convert v2alpha1 → v2beta1 (back)
LOW…/dashboard/pkg/migration/conversion/conversion_test.go122 // Step 1: Convert source to intermediate (if applicable)
LOW…/dashboard/pkg/migration/conversion/conversion_test.go149 // Step 2: Convert to final target
LOWpkg/tests/apis/helper.go1204 // Step 2: Start with search failures, reusing orgs/users from step 1
LOWpkg/tests/apis/helper.go1236 // Step 1: Start normally (search working) with DB cleanup disabled
LOW…/tests/apis/provisioning/repository/repository_test.go1962 // Step 1: Create first repository with empty path - syncs successfully
LOW…/tests/apis/provisioning/repository/repository_test.go1973 // Step 2: Create second repository with same URL, branch, and empty path.
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go49 // Step 1: Create repositories in both organizations with folder sync
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go78 // Step 2: Sync both repositories and verify success
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go101 // Step 3: Verify namespace isolation - each org can only see its own resources
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go142 // Step 4: Verify cross-namespace access is blocked
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go169 // Step 5: Verify dashboards are also isolated
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go206 // Step 6: Verify re-sync maintains isolation
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go224 // Step 7: Verify namespace in files is ignored (security boundary)
LOW…sts/apis/provisioning/orgs/namespace_isolation_test.go293 // Step 8: Verify namespace in files endpoint is also ignored
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go180 // Step 1: Create a repo with 1 dashboard (2 resources total: 1 root folder + 1 dashboard)
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go197 // Step 2: Add 2 more dashboard files (would bring total to 4, exceeding limit of 3)
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go209 // Step 3: Trigger a full sync — the QuotaTracker starts at 2/3 so only 1 more creation is allowed
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go228 // Step 4: Verify job completed with warning state (some resources were skipped)
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go243 // Step 5: Verify partial sync — 1 new dashboard was created (total 2), 1 was skipped
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go253 // Step 6: Verify the repo is now at quota (1 folder + 2 dashboards = 3/3)
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go286 // Step 2: Add 2 dashboards in new subfolders (each creates a folder + a dashboard).
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go318 // Step 4: Verify job completed with warning (resources skipped due to quota)
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go337 // Step 5: Verify no new dashboards were created. One new folder consumes the last quota slot,
LOWpkg/tests/apis/provisioning/quota/sync_quota_test.go359 // Step 6: Verify the repo is now at quota (4 folders + 2 dashboards = 6/6)
LOWpkg/tests/apis/provisioning/jobs/migratejob_test.go29 // Step 1: Create an unmanaged dashboard directly via the API.
LOWpkg/tests/apis/provisioning/jobs/migratejob_test.go42 // Step 2: Create a repo with a file whose metadata.name matches the unmanaged dashboard.
33 more matches not shown…
AI Slop Vocabulary20 hits · 54 pts
SeverityFileLineSnippet
MEDIUMdevenv/local-npm/conf/config.yaml3# please read carefully the documentation and best practices to
MEDIUMdevenv/local-npm/conf/config.yaml13# Read about the best practices
MEDIUM…/app/plugins/panel/geomap/layers/data/markersLayer.tsx129 // Helper function to create a robust uniqueness key
MEDIUM…blic/app/plugins/panel/geomap/utils/getLayersExtent.ts64 // Look at flatCoordinates for more robust support including route layer
MEDIUM…lic/app/features/provisioning/Wizard/BootstrapStep.tsx78 // TODO: improve error handling base on BE response, leverage "fieldErrors" when available
MEDIUM…lic/app/features/canvas/runtime/sceneAbleManagement.ts503 // but it should be replaced with a more robust solution that doesn't interfere with left click interactions.
MEDIUM…/app/features/scopes/selector/ScopesSelectorService.ts214 // todo: leverage component-level
MEDIUMpublic/test/jest-resolver.js2 // Call the defaultResolver, so we leverage its cache, error handling, etc.
LOWscripts/ci/backend-tests/shard.sh23 # we can't just return the result of the regex match shellcheck is unhappy...
LOWscripts/ci/backend-tests/shard.sh113 # If there is only one shard, just return all packages.
MEDIUMpackages/grafana-runtime/src/utils/qscheck.ts4 oauthPassThru?: unknown; // we do not assume boolean, to be more robust
MEDIUM.github/workflows/pr-build-grafana.yml11# for meticulous tests
MEDIUMconf/defaults.ini231# Set to true to skip all database migrations on startup. Should be used in conjunction with "ensure_default_org_and_use
MEDIUMconf/sample.ini951# Use in conjunction with key_file in case the JWT token's header specifies a key ID in "kid" field
MEDIUMapps/dashvalidator/pkg/validator/dashboard.go161 return false // Definitely v2
MEDIUMapps/dashboard/pkg/migration/schemaversion/v36.go27// - Maintains backward compatibility while establishing a robust foundation
MEDIUMpkg/tsdb/loki/api.go77 // b. having it always be number+'ms' makes it more robust and
MEDIUMpkg/registry/apis/dashboard/home/getter_test.go295 // platforms coalesce events, so retrying makes the test robust.
MEDIUMpkg/services/oauthtoken/oauth_token.go638 // In the future, we might want to consider passing the session token ID to the render module to make this more robust
MEDIUMpkg/services/ngalert/accesscontrol/receivers.go303 action: "admin", // Essentially read+write receiver resource permissions.
Synthetic Comment Markers4 hits · 41 pts
SeverityFileLineSnippet
HIGH…nfigure-notifications/template-notifications/_index.md104## Grafana Cloud AI-generated templates
HIGHpkg/services/featuremgmt/toggles_gen.go463 // Enable AI-generated alert rules.
HIGHpkg/services/featuremgmt/toggles_gen.go467 // Enable AI-generated feedback from the Grafana UI.
HIGHpkg/services/featuremgmt/toggles_gen.go475 // Enable AI-generated alerting templates.
Self-Referential Comments13 hits · 39 pts
SeverityFileLineSnippet
MEDIUM.policy.yml1# This file is generated by generate-policy-bot-config.
MEDIUM.golangci.yml1# This file is best edited with some JSON-schema-aware editor.
MEDIUMpackaging/docker/build.sh108 # Create the expected tag for running the end to end tests successfully
MEDIUMdevenv/docker/blocks/elasticstack/filebeat.yml3# This file is a full configuration example documenting all non-deprecated
MEDIUM.github/workflows/deploy-storybook-preview.yml47 # Create the GCS folder name for the preview. Creates a consistent name for all deploys for the PR.
MEDIUM.github/workflows/backport-trigger.yml29 # Create a JSON artifact with details of this PR to pass to the backport workflow.
MEDIUM.github/workflows/deploy-storybook.yml77 # Create the GCS folder name
MEDIUM.github/workflows/lint-build-docs.yml54 # Create the directory structure inside the container
MEDIUM.github/workflows/lint-build-docs.yml57 # Create the _index.md file
MEDIUM.citools/install.sh23 # Create a new module if go.mod doesn't exist
MEDIUMpkg/api/http_server_test.go145 * # Create a new Certificate Signing Request (CSR) using the private key passing passphrase '1234567890123456789012345
MEDIUMpkg/api/http_server_test.go212 * # Create a new Certificate Signing Request (CSR) using the private key passing passphrase '11111222223333344444555556
MEDIUMpkg/api/http_server_test.go277 * # Create a new Certificate Signing Request (CSR) using the private key
Slop Phrases10 hits · 27 pts
SeverityFileLineSnippet
MEDIUMdevenv/docker/blocks/elasticstack/filebeat.yml393# you can use different inputs for various configurations.
MEDIUMdevenv/docker/blocks/elasticstack/filebeat.yml964# For example, you can use the following processors to keep the fields that
MEDIUMdevenv/docker/blocks/auth/freeipa/ldap_freeipa.toml72# If you want to match all (or no ldap groups) then you can use wildcard
LOW…ified/components/contact-points/ContactPoints.test.tsx392 // ⚠️ for some reason, the query params are preserved for all tests so don't forget to clear the input
LOWscripts/tag_release.sh21# always make sure to pull latest changes from origin
MEDIUMconf/ldap.toml73# If you want to match all (or no ldap groups) then you can use wildcard
MEDIUMapps/dashboard/pkg/apis/dashboard_manifest.go40 rawSchemaDashboardv2 = []byte(`{"Action":{"additionalProperties":false,"properties":{"confirmation":{"type":"
MEDIUMapps/dashboard/pkg/apis/dashboard_manifest.go43 rawSchemaDashboardv2alpha1 = []byte(`{"Action":{"additionalProperties":false,"properties":{"confirmation":{"type":"
MEDIUMapps/dashboard/pkg/apis/dashboard_manifest.go46 rawSchemaDashboardv2beta1 = []byte(`{"Action":{"additionalProperties":false,"properties":{"confirmation":{"type":"
MEDIUMpkg/components/dashdiffs/formatter_basic.go244// level key in the JSON document. As mentioned earlier, we treat these
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippet
HIGHconf/defaults.ini0script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $nonce;object-src 'none';font-src 'self';style-src 'sel
HIGHconf/defaults.ini0script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $nonce;object-src 'none';font-src 'self';style-src 'sel
HIGHconf/sample.ini0script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $nonce;object-src 'none';font-src 'self';style-src 'sel
HIGHconf/sample.ini0script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $nonce;object-src 'none';font-src 'self';style-src 'sel
Redundant / Tautological Comments12 hits · 18 pts
SeverityFileLineSnippet
LOW…app/api/clients/scope/v0alpha1/sync-from-enterprise.sh25# Check if OpenAPI spec exists
LOWscripts/check-frontend-dev.sh17# Check if .nvmrc file exists
LOWscripts/releasefinder.sh22# Check if script is executable
LOWscripts/releasefinder.sh30# Check if a commit hash was provided
LOW.github/workflows/changelog.yml131 # Check if a version exists in the changelog
LOW.github/workflows/release-pr.yml166 # Check if a version exists in the changelog
LOW.github/workflows/deploy-storybook-preview.yml59 # Check if SANITIZED_BRANCH is empty and fail if it is
LOW.github/workflows/detect-breaking-changes-levitate.yml218 # Check if label exists
LOW.github/workflows/backend-code-checks.yml100 # Check if the generated specs differ from what's in the repository
LOW…b/workflows/scripts/levitate/check-breaking-changes.sh55 # Check if the comparison returned with a non-zero exit code
LOW…ripts/create-security-branch/create-security-branch.sh8# Check if branch already exists
LOW.github/actions/check-jobs/action.yml39 # Check if there are any failures
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippet
HIGH…s/sources/datasources/elasticsearch/configure/index.md911. Set **Value** to `ApiKey <your-api-key>`, replacing `<your-api-key>` with your base64-encoded Elasticsearch API key.
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippet
HIGH…/app/plugins/datasource/azuremonitor/variables.test.ts255 it('should return None when there is no data', async () => {
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippet
LOW…hub/workflows/scripts/test-endpoint-migration-check.sh8# Usage:
LOWpkg/util/debouncer/debouncer.go125// Example usage:
LOWpkg/storage/unified/sql/db/service.go103// Example usage:
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOWpackages/grafana-ui/src/components/Table/utils.test.ts19function getData() {