├── tools
└── .gitkeep
├── .gitattributes
├── docs
├── .gitignore
├── sources
│ ├── test.md
│ ├── shared
│ │ ├── index.md
│ │ └── example.md
│ ├── sharing
│ │ └── _index
│ ├── developers
│ │ └── _index.md
│ └── whatsnew
│ │ └── _index.md
└── logo-horizontal.png
├── public
├── app
│ ├── features
│ │ ├── profile
│ │ │ ├── all.ts
│ │ │ └── state
│ │ │ │ └── selectors.ts
│ │ ├── datasources
│ │ │ ├── partials
│ │ │ │ ├── http_settings.html
│ │ │ │ └── http_settings_next.html
│ │ │ └── settings
│ │ │ │ └── TlsAuthSettingsCtrl.ts
│ │ ├── dashboard
│ │ │ ├── components
│ │ │ │ ├── ShareModal
│ │ │ │ │ ├── ShareSnapshotCtrl.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── DashboardRow
│ │ │ │ │ └── index.ts
│ │ │ │ ├── PanelEditor
│ │ │ │ │ └── index.ts
│ │ │ │ ├── DashNav
│ │ │ │ │ └── index.ts
│ │ │ │ ├── AddPanelWidget
│ │ │ │ │ └── index.ts
│ │ │ │ ├── DashExportModal
│ │ │ │ │ └── index.ts
│ │ │ │ ├── DashLinks
│ │ │ │ │ └── index.ts
│ │ │ │ ├── VersionHistory
│ │ │ │ │ └── index.ts
│ │ │ │ ├── DashboardSettings
│ │ │ │ │ └── index.ts
│ │ │ │ ├── Inspector
│ │ │ │ │ └── types.ts
│ │ │ │ └── TransformationsEditor
│ │ │ │ │ └── types.ts
│ │ │ └── state
│ │ │ │ ├── index.ts
│ │ │ │ └── selectors.ts
│ │ ├── variables
│ │ │ └── pickers
│ │ │ │ └── index.ts
│ │ ├── panel
│ │ │ ├── partials
│ │ │ │ └── query_editor_row.html
│ │ │ └── all.ts
│ │ ├── manage-dashboards
│ │ │ ├── components
│ │ │ │ └── UploadDashboard
│ │ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── plugins
│ │ │ ├── all.ts
│ │ │ └── partials
│ │ │ │ └── plugin_page.html
│ │ ├── playlist
│ │ │ └── all.ts
│ │ ├── templating
│ │ │ └── all.ts
│ │ ├── alerting
│ │ │ └── __snapshots__
│ │ │ │ └── TestRuleResult.test.tsx.snap
│ │ ├── explore
│ │ │ └── JSONViewer.tsx
│ │ ├── search
│ │ │ └── constants.ts
│ │ ├── annotations
│ │ │ └── all.ts
│ │ └── org
│ │ │ └── __snapshots__
│ │ │ └── OrgProfile.test.tsx.snap
│ ├── core
│ │ ├── components
│ │ │ ├── search
│ │ │ │ └── search_results.ts
│ │ │ ├── code_editor
│ │ │ │ └── brace.d.ts
│ │ │ ├── LocalStorageValueProvider
│ │ │ │ └── index.tsx
│ │ │ └── sidemenu
│ │ │ │ └── utils.ts
│ │ ├── app_events.ts
│ │ ├── controllers
│ │ │ └── all.ts
│ │ ├── partials.ts
│ │ ├── utils
│ │ │ ├── promiseToDigest.ts
│ │ │ ├── colors.ts
│ │ │ ├── factors.ts
│ │ │ ├── applyStateChanges.ts
│ │ │ └── model_utils.ts
│ │ ├── lodash_extended.ts
│ │ ├── specs
│ │ │ └── factors.test.ts
│ │ ├── services
│ │ │ └── all.ts
│ │ ├── mod_defs.d.ts
│ │ └── hooks
│ │ │ └── useRefMounted.ts
│ ├── plugins
│ │ ├── panel
│ │ │ ├── welcome
│ │ │ │ ├── README.md
│ │ │ │ └── module.ts
│ │ │ ├── gettingstarted
│ │ │ │ ├── README.md
│ │ │ │ └── module.ts
│ │ │ ├── singlestat
│ │ │ │ └── module.html
│ │ │ ├── graph
│ │ │ │ ├── graph_tooltip.d.ts
│ │ │ │ ├── tab_thresholds.html
│ │ │ │ ├── tab_time_regions.html
│ │ │ │ ├── types.ts
│ │ │ │ └── README.md
│ │ │ ├── heatmap
│ │ │ │ ├── module.ts
│ │ │ │ └── README.md
│ │ │ ├── text
│ │ │ │ └── types.ts
│ │ │ ├── news
│ │ │ │ └── constants.ts
│ │ │ ├── graph3
│ │ │ │ └── README.md
│ │ │ ├── logs
│ │ │ │ └── types.ts
│ │ │ ├── pluginlist
│ │ │ │ └── README.md
│ │ │ ├── piechart
│ │ │ │ └── types.ts
│ │ │ └── annolist
│ │ │ │ └── README.md
│ │ └── datasource
│ │ │ ├── zipkin
│ │ │ ├── constants.ts
│ │ │ └── utils
│ │ │ │ └── transforms.test.ts
│ │ │ ├── opentsdb
│ │ │ ├── datasource.d.ts
│ │ │ ├── img
│ │ │ │ └── opentsdb_logo.png
│ │ │ ├── README.md
│ │ │ └── types.ts
│ │ │ ├── cloudwatch
│ │ │ ├── datasource.d.ts
│ │ │ ├── img
│ │ │ │ └── amazon-web-services.png
│ │ │ ├── components
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── MetricsQueryEditor.test.tsx.snap
│ │ │ └── partials
│ │ │ │ └── annotations.editor.html
│ │ │ ├── grafana-azure-monitor-datasource
│ │ │ ├── __mocks__
│ │ │ │ └── sdk.ts
│ │ │ └── img
│ │ │ │ ├── logo.jpg
│ │ │ │ ├── azure_monitor_cpu.png
│ │ │ │ ├── azure_monitor_network.png
│ │ │ │ ├── config_1_select_type.png
│ │ │ │ ├── grafana_cloud_install.png
│ │ │ │ ├── grafana_cloud_login.png
│ │ │ │ ├── config_4_save_and_test.png
│ │ │ │ ├── contoso_loans_grafana_dashboard.png
│ │ │ │ ├── config_3_app_insights_api_details.png
│ │ │ │ └── config_2_azure_monitor_api_details.png
│ │ │ ├── mixed
│ │ │ ├── module.ts
│ │ │ └── plugin.json
│ │ │ ├── graphite
│ │ │ └── img
│ │ │ │ └── graphite_logo.png
│ │ │ ├── loki
│ │ │ ├── README.md
│ │ │ └── partials
│ │ │ │ └── annotations.editor.html
│ │ │ ├── mssql
│ │ │ └── types.ts
│ │ │ ├── dashboard
│ │ │ ├── plugin.json
│ │ │ ├── README.md
│ │ │ ├── module.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ │ ├── grafana
│ │ │ ├── plugin.json
│ │ │ └── README.md
│ │ │ ├── testdata
│ │ │ └── components
│ │ │ │ └── index.ts
│ │ │ ├── cloud-monitoring
│ │ │ └── partials
│ │ │ │ └── annotations.editor.html
│ │ │ ├── mysql
│ │ │ └── types.ts
│ │ │ └── prometheus
│ │ │ └── README.md
│ ├── index.ts
│ └── types
│ │ ├── application.ts
│ │ ├── svg.d.ts
│ │ ├── templates.ts
│ │ ├── sanitize-url.d.ts
│ │ ├── angular.ts
│ │ ├── organization.ts
│ │ └── location.ts
├── sass
│ ├── components
│ │ ├── _panel_text.scss
│ │ ├── _typeahead.scss
│ │ ├── _panel_alertlist.scss
│ │ └── _page_loader.scss
│ ├── fonts.scss
│ ├── utils
│ │ ├── _angular.scss
│ │ └── _validation.scss
│ ├── grafana.dark.scss
│ ├── grafana.light.scss
│ ├── pages
│ │ └── _login.scss
│ ├── base
│ │ └── font-awesome
│ │ │ ├── _fixed-width.scss
│ │ │ └── _screen-reader.scss
│ └── layout
│ │ └── _lists.scss
├── robots.txt
├── test
│ ├── mocks
│ │ ├── svg.ts
│ │ ├── monaco.ts
│ │ ├── style.ts
│ │ └── backend_srv.ts
│ ├── setupTests.ts
│ └── helpers
│ │ └── getDashboardModel.ts
├── img
│ ├── load.gif
│ ├── cubes.png
│ ├── fav32.png
│ ├── light.png
│ ├── checkbox.png
│ ├── envelope.png
│ ├── load_big.gif
│ ├── mixed_styles.png
│ ├── transparent.png
│ ├── user_profile.png
│ ├── checkbox_white.png
│ ├── grafanaconline.png
│ ├── mstile-150x150.png
│ ├── plugins
│ │ ├── oracle.png
│ │ ├── datadog.png
│ │ ├── dynatrace.png
│ │ └── splunk_logo_128.png
│ ├── alert_howto_new.png
│ ├── apple-touch-icon.png
│ ├── background_tease.jpg
│ ├── check_radio_sheet.png
│ ├── okta_logo_white.png
│ ├── page_header_line.png
│ ├── rendering_error.png
│ ├── rendering_limit.png
│ ├── rendering_timeout.png
│ ├── angle_gradient_rev.png
│ ├── glyphicons-halflings.png
│ ├── logo_transparent_200x.png
│ ├── logo_transparent_400x.png
│ ├── angle_gradient_light_rev.png
│ ├── logo_transparent_200x75.png
│ ├── glyphicons-halflings-white.png
│ ├── rendering_plugin_not_installed.png
│ ├── browserconfig.xml
│ ├── icons_dark_theme
│ │ ├── icon_remove.svg
│ │ └── icon_arrow_left.svg
│ └── icons_light_theme
│ │ ├── icon_arrow_left.svg
│ │ └── icon_remove.svg
├── fonts
│ ├── FontAwesome.otf
│ ├── grafana-icons.eot
│ ├── grafana-icons.ttf
│ ├── grafana-icons.woff
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ ├── fontawesome-webfont.woff2
│ ├── roboto
│ │ ├── CWB0XYA8bzo0kSThX0UTuA.woff2
│ │ ├── -2n2p-_Y08sg57CNWQfKNvesZW2xOQ-xsNqO47m55DA.woff2
│ │ ├── 1hZf02POANh32k2VkgEoUBTbgVql8nDJpwnrE27mub0.woff2
│ │ ├── Fcx7Wwv8OzT71A3E1XOAjvesZW2xOQ-xsNqO47m55DA.woff2
│ │ ├── K23cxWVTrIFD6DJsEVi07RTbgVql8nDJpwnrE27mub0.woff2
│ │ ├── NdF9MtnOpLzo-noMoG0miPesZW2xOQ-xsNqO47m55DA.woff2
│ │ ├── OLffGBTaF0XFOW1gnuHF0SYE0-AqJ3nfInTTiDXDjU4.woff2
│ │ ├── OLffGBTaF0XFOW1gnuHF0TTOQ_MqJVwkKsUn0wKzc2I.woff2
│ │ ├── OLffGBTaF0XFOW1gnuHF0TUj_cnvWIuuBMVgbX098Mw.woff2
│ │ ├── OLffGBTaF0XFOW1gnuHF0UbcKLIaa1LC45dFaAfauRA.woff2
│ │ ├── OLffGBTaF0XFOW1gnuHF0Wo_sUJ8uO4YLWRInS22T3Y.woff2
│ │ ├── OLffGBTaF0XFOW1gnuHF0Y4P5ICox8Kq3LLUNMylGO4.woff2
│ │ ├── OLffGBTaF0XFOW1gnuHF0b6up8jxqWt8HVA3mDhkV_0.woff2
│ │ ├── OpXUqTo0UgQQhGj_SFdLWBTbgVql8nDJpwnrE27mub0.woff2
│ │ ├── RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2
│ │ ├── WxrXJa0C3KdtC7lMafG4dRTbgVql8nDJpwnrE27mub0.woff2
│ │ ├── ZLqKeelYbATG60EpZBSDyxJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── cDKhRaXnQTOVbaoxwdOr9xTbgVql8nDJpwnrE27mub0.woff2
│ │ ├── ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2
│ │ ├── mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2
│ │ ├── mbmhprMH69Zi6eEPBYVFhRJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── mx9Uck6uB63VIKFYnEMXrRJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── oHi30kwQWvpCWqAhzHcCSBJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── rGvHdJnr2l75qb0YND9NyBJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── vPcynSL0qHq_6dX7lKVByfesZW2xOQ-xsNqO47m55DA.woff2
│ │ └── vSzulfKSK0LLjjfeaxcREhTbgVql8nDJpwnrE27mub0.woff2
│ └── opensans
│ │ ├── 59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2
│ │ ├── DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2
│ │ ├── DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2
│ │ ├── DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2
│ │ ├── DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2
│ │ ├── DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2
│ │ ├── DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2
│ │ ├── K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2
│ │ ├── MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2
│ │ ├── MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2
│ │ ├── MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2
│ │ ├── MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2
│ │ ├── MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2
│ │ ├── MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2
│ │ ├── RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2
│ │ ├── k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2
│ │ ├── k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2
│ │ ├── k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2
│ │ ├── k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2
│ │ ├── k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2
│ │ ├── k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2
│ │ ├── k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2
│ │ ├── u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2
│ │ ├── xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2
│ │ ├── xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2
│ │ ├── xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2
│ │ ├── xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2
│ │ ├── xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2
│ │ ├── xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2
│ │ ├── xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2
│ │ └── xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2
└── emails
│ └── README.md
├── packages
├── grafana-e2e
│ ├── CHANGELOG.md
│ ├── src
│ │ ├── components
│ │ │ └── index.ts
│ │ ├── typings
│ │ │ └── index.ts
│ │ ├── support
│ │ │ ├── index.ts
│ │ │ └── selector.ts
│ │ └── flows
│ │ │ ├── assertSuccessNotification.ts
│ │ │ ├── editPanel.ts
│ │ │ ├── saveDashboard.ts
│ │ │ └── setDashboardTimeRange.ts
│ ├── bin
│ │ └── grafana-e2e.js
│ ├── api-extractor.json
│ ├── .gitignore
│ ├── cypress.json
│ ├── test
│ │ └── cypress
│ │ │ ├── integration
│ │ │ ├── 0.cli.ts
│ │ │ └── 1.api.ts
│ │ │ └── tsconfig.json
│ ├── tsconfig.build.json
│ ├── cypress
│ │ ├── fixtures
│ │ │ └── example.json
│ │ ├── tsconfig.json
│ │ └── support
│ │ │ └── index.d.ts
│ └── index.js
├── grafana-e2e-selectors
│ ├── CHANGELOG.md
│ ├── src
│ │ ├── types
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── selectors
│ │ │ └── index.ts
│ ├── api-extractor.json
│ ├── tsconfig.build.json
│ ├── README.md
│ ├── index.js
│ └── tsconfig.json
├── grafana-ui
│ ├── src
│ │ ├── index.scss
│ │ ├── components
│ │ │ ├── Button
│ │ │ │ └── index.ts
│ │ │ ├── Forms
│ │ │ │ ├── types.ts
│ │ │ │ └── Legacy
│ │ │ │ │ ├── Switch
│ │ │ │ │ └── Switch.mdx
│ │ │ │ │ └── Input
│ │ │ │ │ └── __snapshots__
│ │ │ │ │ └── Input.test.tsx.snap
│ │ │ ├── Slider
│ │ │ │ └── _Slider.scss
│ │ │ ├── Chart
│ │ │ │ └── index.tsx
│ │ │ ├── Drawer
│ │ │ │ └── _Drawer.scss
│ │ │ ├── uPlot
│ │ │ │ └── Plot.scss
│ │ │ ├── UnitPicker
│ │ │ │ └── UnitPicker.mdx
│ │ │ ├── Icon
│ │ │ │ └── assets
│ │ │ │ │ └── types.ts
│ │ │ ├── Segment
│ │ │ │ ├── types.ts
│ │ │ │ └── index.ts
│ │ │ ├── SingleStatShared
│ │ │ │ └── index.ts
│ │ │ ├── Table
│ │ │ │ └── Table.mdx
│ │ │ ├── FormField
│ │ │ │ └── _FormField.scss
│ │ │ ├── InputControl.tsx
│ │ │ ├── List
│ │ │ │ ├── List.tsx
│ │ │ │ └── InlineList.tsx
│ │ │ ├── Badge
│ │ │ │ └── Badge.mdx
│ │ │ ├── Monaco
│ │ │ │ └── CodeEditor.mdx
│ │ │ ├── EmptySearchResult
│ │ │ │ └── _EmptySearchResult.scss
│ │ │ ├── PanelOptionsGrid
│ │ │ │ ├── _PanelOptionsGrid.scss
│ │ │ │ └── PanelOptionsGrid.tsx
│ │ │ └── Tooltip
│ │ │ │ └── __snapshots__
│ │ │ │ └── Tooltip.test.tsx.snap
│ │ ├── types
│ │ │ ├── size.ts
│ │ │ ├── orientation.ts
│ │ │ ├── mdx.d.ts
│ │ │ ├── theme.ts
│ │ │ ├── storybook.ts
│ │ │ ├── index.ts
│ │ │ └── input.ts
│ │ ├── slate-plugins
│ │ │ └── slate-prism
│ │ │ │ └── TOKEN_MARK.ts
│ │ └── utils
│ │ │ └── storybook
│ │ │ └── useSize.ts
│ ├── .storybook
│ │ ├── manager-head.html
│ │ └── static
│ │ │ └── fav32.png
│ ├── api-extractor.json
│ ├── tsconfig.build.json
│ ├── index.js
│ └── .eslintrc
├── grafana-runtime
│ ├── src
│ │ ├── types
│ │ │ └── index.ts
│ │ ├── measurement
│ │ │ └── index.ts
│ │ └── services
│ │ │ └── index.ts
│ ├── CHANGELOG.md
│ ├── api-extractor.json
│ ├── .eslintrc
│ ├── tsconfig.build.json
│ ├── index.js
│ └── README.md
├── grafana-data
│ ├── CHANGELOG.md
│ ├── src
│ │ ├── valueFormats
│ │ │ └── index.ts
│ │ ├── utils
│ │ │ ├── testdata
│ │ │ │ ├── simple.csv
│ │ │ │ ├── withHeaders.csv
│ │ │ │ └── roundtrip.csv
│ │ │ ├── docs.ts
│ │ │ └── object.ts
│ │ ├── dataframe
│ │ │ ├── __snapshots__
│ │ │ │ └── all_types.golden.arrow
│ │ │ └── index.ts
│ │ ├── types
│ │ │ ├── flot.ts
│ │ │ ├── ScopedVars.ts
│ │ │ ├── orgs.ts
│ │ │ ├── select.ts
│ │ │ └── templateVars.ts
│ │ ├── field
│ │ │ └── FieldConfigOptionsRegistry.tsx
│ │ ├── text
│ │ │ ├── markdown.test.ts
│ │ │ └── index.ts
│ │ └── vector
│ │ │ └── vectorToArray.ts
│ ├── api-extractor.json
│ ├── tsconfig.build.json
│ ├── README.md
│ ├── index.js
│ └── .eslintrc
├── grafana-toolkit
│ ├── src
│ │ ├── config
│ │ │ ├── mocks
│ │ │ │ ├── jestSetup
│ │ │ │ │ ├── noOverrides
│ │ │ │ │ │ └── package.json
│ │ │ │ │ ├── unsupportedOverrides
│ │ │ │ │ │ └── package.json
│ │ │ │ │ └── overrides
│ │ │ │ │ │ └── package.json
│ │ │ │ ├── stylesheetsSupport
│ │ │ │ │ ├── ok
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ └── styles
│ │ │ │ │ │ │ ├── dark.css
│ │ │ │ │ │ │ └── light.css
│ │ │ │ │ ├── duplicates
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ └── styles
│ │ │ │ │ │ │ ├── dark.css
│ │ │ │ │ │ │ ├── dark.scss
│ │ │ │ │ │ │ └── light.css
│ │ │ │ │ ├── missing-theme-file
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ └── styles
│ │ │ │ │ │ │ └── light.css
│ │ │ │ │ └── no-theme-files
│ │ │ │ │ │ └── src
│ │ │ │ │ │ └── styles
│ │ │ │ │ │ └── whatever.css
│ │ │ │ └── webpack
│ │ │ │ │ ├── noOverride
│ │ │ │ │ └── package.json
│ │ │ │ │ ├── overrides
│ │ │ │ │ └── package.json
│ │ │ │ │ ├── overridesNamedExport
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── webpack.config.js
│ │ │ │ │ └── unsupportedOverride
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── webpack.config.js
│ │ │ ├── eslint.plugin.json
│ │ │ ├── index.ts
│ │ │ ├── prettier.plugin.config.json
│ │ │ ├── prettier.plugin.rc.js
│ │ │ ├── tsconfig.plugin.json
│ │ │ ├── styles.mock.js
│ │ │ ├── tsconfig.plugin.local.json
│ │ │ └── utils
│ │ │ │ └── getPluginId.ts
│ │ ├── cli
│ │ │ ├── index.d.ts
│ │ │ ├── tasks
│ │ │ │ ├── plugin
│ │ │ │ │ └── test_exclude_image_suffix_in_manifest.png
│ │ │ │ └── template.ts
│ │ │ ├── utils
│ │ │ │ └── pascalCase.ts
│ │ │ ├── tsconfig.json
│ │ │ └── templates
│ │ │ │ ├── index.ts
│ │ │ │ ├── component.tsx.template.ts
│ │ │ │ └── component.test.tsx.template.ts
│ │ └── plugins
│ │ │ └── index.ts
│ └── docker
│ │ ├── grafana-plugin-ci
│ │ ├── scripts
│ │ │ └── deploy-user.sh
│ │ ├── common.sh
│ │ ├── build.sh
│ │ ├── Dockerfile
│ │ └── test
│ │ │ └── start.sh
│ │ ├── grafana-plugin-ci-alpine
│ │ ├── scripts
│ │ │ └── deploy-user.sh
│ │ ├── common.sh
│ │ ├── install
│ │ │ └── bin
│ │ │ │ └── cp
│ │ └── Dockerfile
│ │ └── grafana-plugin-ci-e2e
│ │ ├── scripts
│ │ └── deploy-user.sh
│ │ ├── Dockerfile
│ │ └── common.sh
└── jaeger-ui-components
│ └── src
│ ├── demo
│ └── .eslintrc
│ ├── utils
│ └── DraggableManager
│ │ └── demo
│ │ └── demo-ux.gif
│ └── common
│ └── __snapshots__
│ ├── NewWindowIcon.test.js.snap
│ └── UiFindInput.test.js.snap
├── devenv
├── docker
│ ├── blocks
│ │ ├── mysql
│ │ │ ├── .env
│ │ │ └── config
│ │ ├── apache_proxy
│ │ │ ├── ports.conf
│ │ │ ├── Dockerfile
│ │ │ └── proxy.conf
│ │ ├── apache_proxy_mac
│ │ │ ├── ports.conf
│ │ │ ├── Dockerfile
│ │ │ └── proxy.conf
│ │ ├── grafana
│ │ │ └── .env
│ │ ├── postgres
│ │ │ └── .env
│ │ ├── influxdb
│ │ │ └── .env
│ │ ├── elastic
│ │ │ └── elasticsearch.yml
│ │ ├── elastic1
│ │ │ ├── elasticsearch.yml
│ │ │ └── docker-compose.yaml
│ │ ├── elastic5
│ │ │ └── elasticsearch.yml
│ │ ├── elastic6
│ │ │ └── elasticsearch.yml
│ │ ├── elastic7
│ │ │ └── elasticsearch.yml
│ │ ├── graphite
│ │ │ └── files
│ │ │ │ ├── my_htpasswd
│ │ │ │ ├── statsd_config.js
│ │ │ │ └── storage-schemas.conf
│ │ ├── prometheus_basic_auth_proxy
│ │ │ ├── htpasswd
│ │ │ ├── Dockerfile
│ │ │ └── docker-compose.yaml
│ │ ├── collectd
│ │ │ ├── etc_mtab
│ │ │ ├── start_container
│ │ │ └── docker-compose.yaml
│ │ ├── smtp
│ │ │ ├── docker-compose.yaml
│ │ │ └── Dockerfile
│ │ ├── mysql_tests
│ │ │ ├── Dockerfile
│ │ │ └── setup.sql
│ │ ├── redis
│ │ │ └── docker-compose.yaml
│ │ ├── mssql
│ │ │ └── build
│ │ │ │ ├── entrypoint.sh
│ │ │ │ └── Dockerfile
│ │ ├── postgres_tests
│ │ │ ├── Dockerfile
│ │ │ ├── setup.sql
│ │ │ └── docker-compose.yaml
│ │ ├── memcached
│ │ │ └── docker-compose.yaml
│ │ ├── prometheus
│ │ │ ├── Dockerfile
│ │ │ └── alert.rules
│ │ ├── graphite1
│ │ │ └── conf
│ │ │ │ ├── etc
│ │ │ │ ├── service
│ │ │ │ │ ├── nginx
│ │ │ │ │ │ └── run
│ │ │ │ │ ├── statsd
│ │ │ │ │ │ └── run
│ │ │ │ │ ├── carbon
│ │ │ │ │ │ └── run
│ │ │ │ │ ├── carbon-aggregator
│ │ │ │ │ │ └── run
│ │ │ │ │ └── graphite
│ │ │ │ │ │ └── run
│ │ │ │ └── logrotate.d
│ │ │ │ │ └── graphite-statsd
│ │ │ │ ├── opt
│ │ │ │ ├── statsd
│ │ │ │ │ └── config.js
│ │ │ │ └── graphite
│ │ │ │ │ └── conf
│ │ │ │ │ └── blacklist.conf
│ │ │ │ └── usr
│ │ │ │ └── local
│ │ │ │ └── bin
│ │ │ │ └── manage.sh
│ │ ├── nginx_proxy
│ │ │ ├── Dockerfile
│ │ │ └── htpasswd
│ │ ├── nginx_proxy_mac
│ │ │ ├── Dockerfile
│ │ │ └── htpasswd
│ │ ├── slow_proxy
│ │ │ ├── Dockerfile
│ │ │ └── docker-compose.yaml
│ │ ├── slow_proxy_mac
│ │ │ ├── Dockerfile
│ │ │ └── docker-compose.yaml
│ │ ├── alert_webhook_listener
│ │ │ ├── Dockerfile
│ │ │ └── docker-compose.yaml
│ │ ├── prometheus2
│ │ │ ├── Dockerfile
│ │ │ └── alert.yml
│ │ ├── openldap
│ │ │ ├── prepopulate
│ │ │ │ └── 1_units.ldif
│ │ │ └── docker-compose.yaml
│ │ ├── multiple-openldap
│ │ │ ├── admins-ldap-server
│ │ │ │ └── prepopulate
│ │ │ │ │ ├── 3_groups.ldif
│ │ │ │ │ └── 1_units.ldif
│ │ │ └── ldap-server
│ │ │ │ └── prepopulate
│ │ │ │ └── 1_units.ldif
│ │ ├── zipkin
│ │ │ └── docker-compose.yaml
│ │ ├── opentsdb
│ │ │ └── docker-compose.yaml
│ │ ├── mysql_opendata
│ │ │ └── docker-compose.yaml
│ │ └── traefik
│ │ │ └── traefik.yml
│ ├── compose_header.yml
│ ├── ha_test
│ │ └── .gitignore
│ ├── debtest
│ │ ├── Dockerfile
│ │ └── build.sh
│ ├── buildcontainer
│ │ ├── run_circle.sh
│ │ └── build.sh
│ └── rpmtest
│ │ └── build.sh
├── local-npm
│ └── conf
│ │ └── nginx
│ │ └── Dockerfile
├── e2e-api-tests
│ └── clearState.test.ts
├── benchmarks
│ └── ab
│ │ └── ab_test.sh
├── bulk-dashboards
│ └── bulk-dashboards.yaml
├── bulk_alerting_dashboards
│ └── bulk_alerting_dashboards.yaml
└── dashboards.yaml
├── pkg
├── services
│ ├── alerting
│ │ └── testdata
│ │ │ └── settings
│ │ │ └── empty.json
│ ├── sqlstore
│ │ ├── sqlstore.goconvey
│ │ └── tables.go
│ ├── provisioning
│ │ ├── datasources
│ │ │ └── testdata
│ │ │ │ ├── all-properties
│ │ │ │ ├── not.yaml.txt
│ │ │ │ └── second.yaml
│ │ │ │ ├── zero-datasources
│ │ │ │ └── placeholder-for-git
│ │ │ │ ├── broken-yaml
│ │ │ │ └── broken.yaml
│ │ │ │ ├── appliedDefaults
│ │ │ │ └── without-defaults.yaml
│ │ │ │ ├── invalid-access
│ │ │ │ └── invalid-access.yaml
│ │ │ │ ├── double-default
│ │ │ │ ├── default-1.yaml
│ │ │ │ └── default-2.yaml
│ │ │ │ ├── insert-two-delete-two
│ │ │ │ ├── two-datasources.yml
│ │ │ │ └── one-datasources.yaml
│ │ │ │ └── two-datasources
│ │ │ │ └── two-datasources.yaml
│ │ ├── notifiers
│ │ │ └── testdata
│ │ │ │ └── test-configs
│ │ │ │ ├── empty
│ │ │ │ └── empty.yaml
│ │ │ │ ├── broken-yaml
│ │ │ │ ├── not.yaml.text
│ │ │ │ └── broken.yaml
│ │ │ │ ├── empty_folder
│ │ │ │ └── .gitignore
│ │ │ │ ├── unknown-notifier
│ │ │ │ └── notification.yaml
│ │ │ │ ├── double-default
│ │ │ │ ├── default-1.yml
│ │ │ │ └── default-2.yaml
│ │ │ │ └── incorrect-settings
│ │ │ │ └── incorrect-settings.yaml
│ │ ├── dashboards
│ │ │ └── testdata
│ │ │ │ ├── test-dashboards
│ │ │ │ ├── symlink
│ │ │ │ └── broken-dashboards
│ │ │ │ │ ├── empty-json.json
│ │ │ │ │ └── invalid.json
│ │ │ │ └── test-configs
│ │ │ │ ├── applied-defaults
│ │ │ │ └── dev-dashboards.yaml
│ │ │ │ ├── broken-configs
│ │ │ │ └── commented.yaml
│ │ │ │ └── dashboards-from-disk
│ │ │ │ └── sample.yaml
│ │ └── plugins
│ │ │ └── testdata
│ │ │ └── test-configs
│ │ │ ├── unknown-app
│ │ │ └── unknown-app.yaml
│ │ │ ├── broken-yaml
│ │ │ ├── not.yaml.text
│ │ │ └── broken.yaml
│ │ │ ├── incorrect-settings
│ │ │ └── incorrect-settings.yaml
│ │ │ ├── empty_folder
│ │ │ └── .gitignore
│ │ │ └── correct-properties
│ │ │ └── correct-properties.yaml
│ ├── datasources
│ │ └── log.go
│ └── login
│ │ └── errors.go
├── setting
│ └── testdata
│ │ ├── session.ini
│ │ ├── override.ini
│ │ ├── override_windows.ini
│ │ └── invalid.ini
├── models
│ ├── health.go
│ ├── saml.go
│ ├── models.go
│ ├── home_dashboard.go
│ ├── address.go
│ └── search.go
├── plugins
│ └── testdata
│ │ ├── invalid-signature
│ │ └── plugin
│ │ │ ├── MANIFEST.txt
│ │ │ └── plugin.json
│ │ ├── test-app
│ │ └── dashboards
│ │ │ └── memory.json
│ │ ├── unsigned
│ │ └── plugin
│ │ │ └── plugin.json
│ │ ├── behind-feature-flag
│ │ └── gel
│ │ │ └── plugin.json
│ │ └── lacking-files
│ │ └── plugin
│ │ └── plugin.json
├── util
│ ├── json.go
│ ├── math.go
│ ├── shortid_generator_test.go
│ └── split_email.go
├── cmd
│ └── grafana-cli
│ │ └── commands
│ │ └── testdata
│ │ ├── plugin-with-symlink.zip
│ │ └── grafana-simple-json-datasource-ec18fa4da8096a952608a7e4c7782b4260b41bcf.zip
├── api
│ └── dtos
│ │ ├── apikey.go
│ │ ├── short_url.go
│ │ ├── ngalert.go
│ │ └── stream.go
├── infra
│ ├── log
│ │ └── handlers.go
│ └── serverlock
│ │ └── model.go
├── tsdb
│ ├── influxdb
│ │ └── flux
│ │ │ └── testdata
│ │ │ ├── single.csv
│ │ │ └── non_standard_time_column.csv
│ ├── azuremonitor
│ │ └── testdata
│ │ │ └── applicationinsights
│ │ │ └── 5-application-insights-empty-response.json
│ ├── graphite
│ │ └── types.go
│ └── prometheus
│ │ └── types.go
└── middleware
│ └── perf.go
├── scripts
├── build
│ ├── ci-build
│ │ ├── .gitignore
│ │ ├── bootstrap.sh
│ │ └── build-deploy.sh
│ ├── release_publisher
│ │ └── testdata
│ │ │ ├── grafana-enterprise_5.4.0-123pre1_amd64.deb
│ │ │ ├── grafana-enterprise-5.4.0-123pre1.x86_64.rpm
│ │ │ ├── grafana-enterprise-5.4.0-123pre1.linux-amd64.tar.gz
│ │ │ ├── grafana-enterprise-5.4.0-123pre1.windows-amd64.msi
│ │ │ ├── grafana-enterprise-5.4.0-123pre1.windows-amd64.zip
│ │ │ ├── grafana-enterprise-5.4.0-123pre1.x86_64.rpm.sha256
│ │ │ ├── grafana-enterprise_5.4.0-123pre1_amd64.deb.sha256
│ │ │ ├── grafana-enterprise-5.4.0-123pre1.linux-amd64.tar.gz.sha256
│ │ │ ├── grafana-enterprise-5.4.0-123pre1.windows-amd64.msi.sha256
│ │ │ └── grafana-enterprise-5.4.0-123pre1.windows-amd64.zip.sha256
│ ├── ci-msi-build
│ │ ├── msigenerator
│ │ │ ├── wrapper.sh
│ │ │ ├── requirements.txt
│ │ │ ├── Makefile
│ │ │ ├── cache
│ │ │ │ └── nssm-2.24.zip
│ │ │ └── resources
│ │ │ │ └── images
│ │ │ │ ├── grafana_icon.ico
│ │ │ │ ├── grafana_top_banner.bmp
│ │ │ │ ├── grafana_top_banner.png
│ │ │ │ ├── grafana_dialog_background.bmp
│ │ │ │ ├── grafana_dialog_background.png
│ │ │ │ └── grafana_top_banner_white.bmp
│ │ └── testbuild.sh
│ ├── prepare_signing_key.sh
│ ├── update_repo
│ │ ├── test-publish-rpm-repo.sh
│ │ ├── test-publish-deb-repo.sh
│ │ ├── load-signing-key.sh
│ │ ├── test-update-rpm-repo.sh
│ │ ├── test-update-deb-repo.sh
│ │ ├── unlock-gpg-key.sh
│ │ └── sign-rpm-repo.sh
│ ├── ci-deploy
│ │ └── build-deploy.sh
│ ├── rpmmacros
│ ├── ci-build-windows
│ │ └── README.md
│ └── ci-wix
│ │ └── README.md
├── verify-repo-update
│ ├── deb-oss-beta.list
│ ├── deb-oss-stable.list
│ ├── deb-ee-beta.list
│ ├── deb-ee-stable.list
│ ├── Dockerfile.rpm
│ ├── rpm-oss-stable.list
│ ├── rpm-ee-stable.list
│ ├── rpm-oss-beta.list
│ └── rpm-ee-beta.list
├── cli
│ └── tsconfig.json
├── ci-job-started.sh
├── go
│ └── tools.go
├── mixin-check.sh
├── grunt
│ ├── build_task.js
│ └── options
│ │ ├── clean.js
│ │ ├── sasslint.js
│ │ └── webpack.js
├── webpack
│ ├── postcss.config.js
│ └── loaders
│ │ └── blobUrl.js
├── version.star
├── circle-test-mysql.sh
├── circle-test-postgres.sh
├── helpers
│ └── exit-if-fail.sh
└── trigger_grafana_packer.sh
├── grafana-mixin
├── .gitignore
├── scripts
│ ├── common.sh
│ ├── build.sh
│ ├── format.sh
│ └── lint.sh
├── Makefile
└── rules
│ └── rules.yaml
├── latest.json
├── .browserslistrc
├── .eslintignore
├── e2e
├── verify-release
├── suite1
│ ├── screenshots
│ │ ├── expected
│ │ │ └── bar-gauge-gradient.png
│ │ └── bar-gauge.spec.ts
│ │ │ ├── bar-gauge-gradient.png
│ │ │ └── bar-gauge-gradient (1).png
│ ├── specs
│ │ └── 1-smoketests.spec.ts
│ └── tsconfig.json
├── verify
│ ├── specs
│ │ └── smoketests.spec.ts
│ └── tsconfig.json
├── kill-server
├── variables
├── wait-for-grafana
└── start-and-run-suite
├── emails
├── grunt
│ ├── clean.js
│ ├── aliases.yaml
│ ├── uncss.js
│ ├── replace.js
│ └── watch.js
└── gruntfile.js
├── .prettierrc.js
├── .prettierignore
├── NOTICE.md
├── lerna.json
├── plugins-bundled
├── .gitignore
├── external.json
├── internal
│ └── input-datasource
│ │ ├── README.md
│ │ ├── src
│ │ └── utils.ts
│ │ └── tsconfig.json
└── README.md
├── .github
└── ISSUE_TEMPLATE
│ ├── config.yml
│ └── 2-feature_request.md
├── MAINTAINERS.md
├── .dockerignore
├── conf
└── provisioning
│ ├── dashboards
│ └── sample.yaml
│ └── plugins
│ └── sample.yaml
├── .babelrc
├── ROADMAP.md
└── .eslintrc
/tools/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 |
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | data/menu.yaml
--------------------------------------------------------------------------------
/public/app/features/profile/all.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/public/sass/components/_panel_text.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/components/index.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/sass/fonts.scss:
--------------------------------------------------------------------------------
1 | @import 'base/fonts';
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/mysql/.env:
--------------------------------------------------------------------------------
1 | mysql_version=5.6
2 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/pkg/services/alerting/testdata/settings/empty.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/public/app/core/components/search/search_results.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow: /
3 |
--------------------------------------------------------------------------------
/scripts/build/ci-build/.gitignore:
--------------------------------------------------------------------------------
1 | MacOSX*.tar.xz
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/apache_proxy/ports.conf:
--------------------------------------------------------------------------------
1 | Listen 10081
--------------------------------------------------------------------------------
/docs/sources/test.md:
--------------------------------------------------------------------------------
1 |
2 | # Test
3 |
4 | ## Google
5 |
--------------------------------------------------------------------------------
/pkg/services/sqlstore/sqlstore.goconvey:
--------------------------------------------------------------------------------
1 | -timeout=20s
2 |
--------------------------------------------------------------------------------
/public/test/mocks/svg.ts:
--------------------------------------------------------------------------------
1 | export const svg = 'svg';
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/apache_proxy_mac/ports.conf:
--------------------------------------------------------------------------------
1 | Listen 10081
--------------------------------------------------------------------------------
/devenv/docker/blocks/grafana/.env:
--------------------------------------------------------------------------------
1 | grafana_version=6.6.2
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/postgres/.env:
--------------------------------------------------------------------------------
1 | postgres_version=9.3
2 |
--------------------------------------------------------------------------------
/public/app/features/datasources/partials/http_settings.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/test/mocks/monaco.ts:
--------------------------------------------------------------------------------
1 | export const monaco = 'monaco';
2 |
--------------------------------------------------------------------------------
/public/test/mocks/style.ts:
--------------------------------------------------------------------------------
1 | export const style = 'style';
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/influxdb/.env:
--------------------------------------------------------------------------------
1 | influxdb_version=1.8.1-alpine
2 |
--------------------------------------------------------------------------------
/devenv/docker/compose_header.yml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/index.scss:
--------------------------------------------------------------------------------
1 | @import 'components/index';
2 |
--------------------------------------------------------------------------------
/pkg/setting/testdata/session.ini:
--------------------------------------------------------------------------------
1 | [session]
2 | provider = file
3 |
--------------------------------------------------------------------------------
/public/test/setupTests.ts:
--------------------------------------------------------------------------------
1 | import '@testing-library/jest-dom';
2 |
--------------------------------------------------------------------------------
/grafana-mixin/.gitignore:
--------------------------------------------------------------------------------
1 | /alerts.yaml
2 | /rules.yaml
3 | dashboards_out
--------------------------------------------------------------------------------
/latest.json:
--------------------------------------------------------------------------------
1 | {
2 | "stable": "7.3.1",
3 | "testing": "7.3.1"
4 | }
5 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/ShareModal/ShareSnapshotCtrl.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.browserslistrc:
--------------------------------------------------------------------------------
1 | >1%,
2 | Chrome > 20
3 | last 4 versions,
4 | Firefox ESR
5 |
--------------------------------------------------------------------------------
/devenv/docker/ha_test/.gitignore:
--------------------------------------------------------------------------------
1 | grafana/provisioning/dashboards/alerts/alert-*
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/typings/index.ts:
--------------------------------------------------------------------------------
1 | export { undo } from './undo';
2 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/src/types/index.ts:
--------------------------------------------------------------------------------
1 | export * from './analytics';
2 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/all-properties/not.yaml.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/empty/empty.yaml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pkg/setting/testdata/override.ini:
--------------------------------------------------------------------------------
1 | [paths]
2 | data = /tmp/override
3 |
4 |
--------------------------------------------------------------------------------
/docs/sources/shared/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | headless: true
3 | ---
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/packages/grafana-data/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # (2019-07-08)
2 | First public release
3 |
4 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/valueFormats/index.ts:
--------------------------------------------------------------------------------
1 | export * from './valueFormats';
2 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/src/types/index.ts:
--------------------------------------------------------------------------------
1 | export * from './selectors';
2 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/jestSetup/noOverrides/package.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/stylesheetsSupport/ok/src/styles/dark.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Button/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Button';
2 |
--------------------------------------------------------------------------------
/pkg/models/health.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | type GetDBHealthQuery struct{}
4 |
--------------------------------------------------------------------------------
/pkg/plugins/testdata/invalid-signature/plugin/MANIFEST.txt:
--------------------------------------------------------------------------------
1 | Invalid manifest
2 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/dashboards/testdata/test-dashboards/symlink:
--------------------------------------------------------------------------------
1 | containing-id/
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/zero-datasources/placeholder-for-git:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise_5.4.0-123pre1_amd64.deb:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/utils/testdata/simple.csv:
--------------------------------------------------------------------------------
1 | a,b,c
2 | 10,20,30
3 | 40,50,60
4 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # (2019-07-08)
2 | First public release
3 |
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/stylesheetsSupport/ok/src/styles/light.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pkg/setting/testdata/override_windows.ini:
--------------------------------------------------------------------------------
1 | [paths]
2 | data = c:\tmp\override
3 |
4 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/welcome/README.md:
--------------------------------------------------------------------------------
1 | # Plugin List Panel - Native Plugin
2 |
3 |
--------------------------------------------------------------------------------
/public/img/load.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/load.gif
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.x86_64.rpm:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | compiled
3 | build
4 | vendor
5 | devenv
6 | data
7 | dist
8 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/elastic/elasticsearch.yml:
--------------------------------------------------------------------------------
1 | script.inline: on
2 | script.indexed: on
3 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/elastic1/elasticsearch.yml:
--------------------------------------------------------------------------------
1 | script.inline: on
2 | script.indexed: on
3 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/elastic5/elasticsearch.yml:
--------------------------------------------------------------------------------
1 | script.inline: on
2 | script.indexed: on
3 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/elastic6/elasticsearch.yml:
--------------------------------------------------------------------------------
1 | script.inline: on
2 | script.indexed: on
3 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/elastic7/elasticsearch.yml:
--------------------------------------------------------------------------------
1 | script.inline: on
2 | script.indexed: on
3 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/bin/grafana-e2e.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | require('../cli')();
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/stylesheetsSupport/duplicates/src/styles/dark.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/stylesheetsSupport/duplicates/src/styles/dark.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/stylesheetsSupport/duplicates/src/styles/light.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-ui/.storybook/manager-head.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/public/app/index.ts:
--------------------------------------------------------------------------------
1 | import app from './app';
2 |
3 | app.initEchoSrv();
4 | app.init();
5 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/zipkin/constants.ts:
--------------------------------------------------------------------------------
1 | export const apiPrefix = '/api/v2';
2 |
--------------------------------------------------------------------------------
/public/img/cubes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/cubes.png
--------------------------------------------------------------------------------
/public/img/fav32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/fav32.png
--------------------------------------------------------------------------------
/public/img/light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/light.png
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.linux-amd64.tar.gz:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.windows-amd64.msi:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.windows-amd64.zip:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite/files/my_htpasswd:
--------------------------------------------------------------------------------
1 | grafana:$apr1$4R/20xhC$8t37jPP5dbcLr48btdkU//
2 |
--------------------------------------------------------------------------------
/docs/logo-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/docs/logo-horizontal.png
--------------------------------------------------------------------------------
/e2e/verify-release:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | . e2e/variables
4 |
5 | SUITE=verify ./e2e/run-suite
6 |
--------------------------------------------------------------------------------
/packages/grafana-data/api-extractor.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../api-extractor.json"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/api-extractor.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../api-extractor.json"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-ui/api-extractor.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../api-extractor.json"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/types/size.ts:
--------------------------------------------------------------------------------
1 | export type ComponentSize = 'xs' | 'sm' | 'md' | 'lg';
2 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/dashboards/testdata/test-dashboards/broken-dashboards/empty-json.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/gettingstarted/README.md:
--------------------------------------------------------------------------------
1 | # Plugin List Panel - Native Plugin
2 |
3 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/singlestat/module.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/public/img/checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/checkbox.png
--------------------------------------------------------------------------------
/public/img/envelope.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/envelope.png
--------------------------------------------------------------------------------
/public/img/load_big.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/load_big.gif
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/wrapper.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cd /oss || exit 1
3 | make
4 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/api-extractor.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../api-extractor.json"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/index.d.ts:
--------------------------------------------------------------------------------
1 | export type Task = (options: T) => Promise;
2 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/stylesheetsSupport/missing-theme-file/src/styles/light.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/stylesheetsSupport/no-theme-files/src/styles/whatever.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/types/orientation.ts:
--------------------------------------------------------------------------------
1 | export type Orientation = 'horizontal' | 'vertical';
2 |
--------------------------------------------------------------------------------
/public/img/mixed_styles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/mixed_styles.png
--------------------------------------------------------------------------------
/public/img/transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/transparent.png
--------------------------------------------------------------------------------
/public/img/user_profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/user_profile.png
--------------------------------------------------------------------------------
/scripts/verify-repo-update/deb-oss-beta.list:
--------------------------------------------------------------------------------
1 | deb https://packages.grafana.com/oss/deb beta main
2 |
--------------------------------------------------------------------------------
/scripts/verify-repo-update/deb-oss-stable.list:
--------------------------------------------------------------------------------
1 | deb https://packages.grafana.com/oss/deb stable main
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/prometheus_basic_auth_proxy/htpasswd:
--------------------------------------------------------------------------------
1 | prom:$apr1$bfu32njz$HHDDTjaeWHDzQs2UMXP.C1
2 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/api-extractor.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../api-extractor.json"
3 | }
4 |
--------------------------------------------------------------------------------
/pkg/models/saml.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | type IsSAMLEnabledCommand struct {
4 | Result bool
5 | }
6 |
--------------------------------------------------------------------------------
/public/app/types/application.ts:
--------------------------------------------------------------------------------
1 | export interface ApplicationState {
2 | logActions: boolean;
3 | }
4 |
--------------------------------------------------------------------------------
/public/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/public/img/checkbox_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/checkbox_white.png
--------------------------------------------------------------------------------
/public/img/grafanaconline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/grafanaconline.png
--------------------------------------------------------------------------------
/public/img/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/mstile-150x150.png
--------------------------------------------------------------------------------
/public/img/plugins/oracle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/plugins/oracle.png
--------------------------------------------------------------------------------
/scripts/verify-repo-update/deb-ee-beta.list:
--------------------------------------------------------------------------------
1 | deb https://packages.grafana.com/enterprise/deb beta main
2 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/eslint.plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["@grafana/eslint-config"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Forms/types.ts:
--------------------------------------------------------------------------------
1 | export type FormInputSize = 'sm' | 'md' | 'lg' | 'auto';
2 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/DashboardRow/index.ts:
--------------------------------------------------------------------------------
1 | export { DashboardRow } from './DashboardRow';
2 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/PanelEditor/index.ts:
--------------------------------------------------------------------------------
1 | export { PanelEditor } from './PanelEditor';
2 |
--------------------------------------------------------------------------------
/public/app/features/variables/pickers/index.ts:
--------------------------------------------------------------------------------
1 | export { OptionsPicker } from './OptionsPicker/OptionsPicker';
2 |
--------------------------------------------------------------------------------
/public/fonts/grafana-icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/grafana-icons.eot
--------------------------------------------------------------------------------
/public/fonts/grafana-icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/grafana-icons.ttf
--------------------------------------------------------------------------------
/public/fonts/grafana-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/grafana-icons.woff
--------------------------------------------------------------------------------
/public/img/alert_howto_new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/alert_howto_new.png
--------------------------------------------------------------------------------
/public/img/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/apple-touch-icon.png
--------------------------------------------------------------------------------
/public/img/background_tease.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/background_tease.jpg
--------------------------------------------------------------------------------
/public/img/check_radio_sheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/check_radio_sheet.png
--------------------------------------------------------------------------------
/public/img/okta_logo_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/okta_logo_white.png
--------------------------------------------------------------------------------
/public/img/page_header_line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/page_header_line.png
--------------------------------------------------------------------------------
/public/img/plugins/datadog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/plugins/datadog.png
--------------------------------------------------------------------------------
/public/img/plugins/dynatrace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/plugins/dynatrace.png
--------------------------------------------------------------------------------
/public/img/rendering_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/rendering_error.png
--------------------------------------------------------------------------------
/public/img/rendering_limit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/rendering_limit.png
--------------------------------------------------------------------------------
/public/img/rendering_timeout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/rendering_timeout.png
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/requirements.txt:
--------------------------------------------------------------------------------
1 | Jinja2>=2.10
2 | MarkupSafe>=1.1.0
3 | wget>=3.2
4 |
--------------------------------------------------------------------------------
/scripts/verify-repo-update/deb-ee-stable.list:
--------------------------------------------------------------------------------
1 | deb https://packages.grafana.com/enterprise/deb stable main
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/collectd/etc_mtab:
--------------------------------------------------------------------------------
1 | hostfs /.dockerinit ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
2 |
--------------------------------------------------------------------------------
/emails/grunt/clean.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | return {
3 | dist: ['dist'],
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/webpack/noOverride/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "Testversion"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/webpack/overrides/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "Testversion"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Slider/_Slider.scss:
--------------------------------------------------------------------------------
1 | @import '../../node_modules/rc-slider/assets/index.css';
2 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/DashNav/index.ts:
--------------------------------------------------------------------------------
1 | import DashNav from './DashNav';
2 | export { DashNav };
3 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/graph/graph_tooltip.d.ts:
--------------------------------------------------------------------------------
1 | declare var GraphTooltip: any;
2 | export default GraphTooltip;
3 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/graph/tab_thresholds.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/public/img/angle_gradient_rev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/angle_gradient_rev.png
--------------------------------------------------------------------------------
/public/sass/utils/_angular.scss:
--------------------------------------------------------------------------------
1 | [ng\:cloak],
2 | [ng-cloak],
3 | .ng-cloak {
4 | display: none !important;
5 | }
6 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | ...require('@grafana/toolkit/src/config/prettier.plugin.config.json'),
3 | };
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/smtp/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | snmpd:
2 | image: namshi/smtp
3 | ports:
4 | - "25:25"
5 |
--------------------------------------------------------------------------------
/grafana-mixin/scripts/common.sh:
--------------------------------------------------------------------------------
1 | JSONNET_FMT="jsonnetfmt -n 2 --max-blank-lines 2 --string-style s --comment-style s"
2 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/.gitignore:
--------------------------------------------------------------------------------
1 | test/cypress/report.json
2 | test/cypress/screenshots/actual
3 | test/cypress/videos/
4 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/cypress.json:
--------------------------------------------------------------------------------
1 | {
2 | "projectId": "zb7k1c",
3 | "supportFile": "cypress/support/index.ts"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Forms/Legacy/Switch/Switch.mdx:
--------------------------------------------------------------------------------
1 | # Switch
2 |
3 | A basic docs for Switch component
4 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/plugins/testdata/test-configs/unknown-app/unknown-app.yaml:
--------------------------------------------------------------------------------
1 | apps:
2 | - type: nonexisting
3 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/AddPanelWidget/index.ts:
--------------------------------------------------------------------------------
1 | export { AddPanelWidget } from './AddPanelWidget';
2 |
--------------------------------------------------------------------------------
/public/app/features/panel/partials/query_editor_row.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/public/app/types/svg.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.svg' {
2 | const content: string;
3 | export default content;
4 | }
5 |
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/public/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/public/img/logo_transparent_200x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/logo_transparent_200x.png
--------------------------------------------------------------------------------
/public/img/logo_transparent_400x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/logo_transparent_400x.png
--------------------------------------------------------------------------------
/public/test/mocks/backend_srv.ts:
--------------------------------------------------------------------------------
1 | export class BackendSrvMock {
2 | search: any;
3 |
4 | constructor() {}
5 | }
6 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/mysql_tests/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM mysql:5.6
2 | ADD setup.sql /docker-entrypoint-initdb.d
3 | CMD ["mysqld"]
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci/scripts/deploy-user.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | source "./deploy-common.sh"
3 |
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "Testversion"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "Testversion"
3 | }
4 |
--------------------------------------------------------------------------------
/pkg/util/json.go:
--------------------------------------------------------------------------------
1 | package util
2 |
3 | // DynMap defines a dynamic map interface.
4 | type DynMap map[string]interface{}
5 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/DashExportModal/index.ts:
--------------------------------------------------------------------------------
1 | export { DashboardExporter } from './DashboardExporter';
2 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/DashLinks/index.ts:
--------------------------------------------------------------------------------
1 | export { DashLinksEditorCtrl } from './DashLinksEditorCtrl';
2 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/graph/tab_time_regions.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/public/app/types/templates.ts:
--------------------------------------------------------------------------------
1 | export interface Variable {
2 | name: string;
3 | type: string;
4 | current: any;
5 | }
6 |
--------------------------------------------------------------------------------
/public/emails/README.md:
--------------------------------------------------------------------------------
1 |
2 | html files in this folder are generated from templates and build system in repo_root/emails
3 |
--------------------------------------------------------------------------------
/public/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/public/img/angle_gradient_light_rev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/angle_gradient_light_rev.png
--------------------------------------------------------------------------------
/public/img/logo_transparent_200x75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/logo_transparent_200x75.png
--------------------------------------------------------------------------------
/public/img/plugins/splunk_logo_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/plugins/splunk_logo_128.png
--------------------------------------------------------------------------------
/public/sass/grafana.dark.scss:
--------------------------------------------------------------------------------
1 | @import 'variables.generated';
2 | @import 'variables.dark.generated';
3 | @import 'grafana';
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/collectd/start_container:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | envtpl /etc/collectd/collectd.conf.tpl
4 |
5 | collectd -f
6 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/redis/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | redis:
2 | image: redis:latest
3 | ports:
4 | - "6379:6379"
5 |
6 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci-alpine/scripts/deploy-user.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | source "./deploy-common.sh"
3 |
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci-e2e/scripts/deploy-user.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | source "./deploy-common.sh"
3 |
4 |
--------------------------------------------------------------------------------
/packages/jaeger-ui-components/src/demo/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "import/no-extraneous-dependencies": 0
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/broken-yaml/broken.yaml:
--------------------------------------------------------------------------------
1 | #sfxzgnsxzcvnbzcvn
2 | cvbn
3 | cvbn
4 | c
5 | vbn
6 | cvbncvbn
--------------------------------------------------------------------------------
/public/app/plugins/datasource/opentsdb/datasource.d.ts:
--------------------------------------------------------------------------------
1 | declare var OpenTsDatasource: any;
2 | export default OpenTsDatasource;
3 |
--------------------------------------------------------------------------------
/public/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/public/sass/grafana.light.scss:
--------------------------------------------------------------------------------
1 | @import 'variables.generated';
2 | @import 'variables.light.generated';
3 | @import 'grafana';
4 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .git
2 | .github
3 | dist/
4 | pkg/
5 | node_modules
6 | public/vendor/
7 | vendor/
8 | data/
9 | e2e/tmp
10 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/mssql/build/entrypoint.sh:
--------------------------------------------------------------------------------
1 | #start SQL Server and run setup script
2 | /usr/setup/setup.sh & /opt/mssql/bin/sqlservr
--------------------------------------------------------------------------------
/devenv/docker/blocks/postgres_tests/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM postgres:9.3
2 | ADD setup.sql /docker-entrypoint-initdb.d
3 | CMD ["postgres"]
4 |
--------------------------------------------------------------------------------
/emails/gruntfile.js:
--------------------------------------------------------------------------------
1 | module.exports = function(grunt) {
2 | // load grunt config
3 | require('load-grunt-config')(grunt);
4 | };
5 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/slate-plugins/slate-prism/TOKEN_MARK.ts:
--------------------------------------------------------------------------------
1 | const TOKEN_MARK = 'prism-token';
2 |
3 | export default TOKEN_MARK;
4 |
--------------------------------------------------------------------------------
/public/app/core/components/code_editor/brace.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'brace/*' {
2 | let brace: any;
3 | export default brace;
4 | }
5 |
--------------------------------------------------------------------------------
/public/app/types/sanitize-url.d.ts:
--------------------------------------------------------------------------------
1 | declare module '@braintree/sanitize-url' {
2 | function sanitizeUrl(url: string): string;
3 | }
4 |
--------------------------------------------------------------------------------
/NOTICE.md:
--------------------------------------------------------------------------------
1 |
2 | Copyright 2014-2018 Grafana Labs
3 |
4 | This software is based on Kibana:
5 | Copyright 2012-2013 Elasticsearch BV
6 |
7 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/mysql_tests/setup.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE grafana_ds_tests;
2 | GRANT ALL PRIVILEGES ON grafana_ds_tests.* TO 'grafana';
3 |
--------------------------------------------------------------------------------
/devenv/docker/debtest/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM debian:jessie
2 |
3 | RUN apt-get update && apt-get install -y vim
4 |
5 | ADD *.deb /tmp/
6 |
7 |
--------------------------------------------------------------------------------
/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "npmClient": "yarn",
3 | "useWorkspaces": true,
4 | "packages": ["packages/*"],
5 | "version": "7.4.0-pre.0"
6 | }
7 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/src/measurement/index.ts:
--------------------------------------------------------------------------------
1 | export * from './types';
2 | export * from './collector';
3 | export * from './query';
4 |
--------------------------------------------------------------------------------
/packages/grafana-ui/.storybook/static/fav32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/packages/grafana-ui/.storybook/static/fav32.png
--------------------------------------------------------------------------------
/pkg/plugins/testdata/test-app/dashboards/memory.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "Nginx Memory",
3 | "revision": 2,
4 | "schemaVersion": 11
5 | }
6 |
--------------------------------------------------------------------------------
/pkg/setting/testdata/invalid.ini:
--------------------------------------------------------------------------------
1 | [server]
2 | root_url = %(protocol)s://%(domain)s:%(port)s/grafana/
3 | alt_url = https://grafana.com/
4 |
--------------------------------------------------------------------------------
/public/app/core/components/LocalStorageValueProvider/index.tsx:
--------------------------------------------------------------------------------
1 | export { LocalStorageValueProvider } from './LocalStorageValueProvider';
2 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/cloudwatch/datasource.d.ts:
--------------------------------------------------------------------------------
1 | declare var CloudWatchDatasource: any;
2 | export default CloudWatchDatasource;
3 |
--------------------------------------------------------------------------------
/public/img/rendering_plugin_not_installed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/img/rendering_plugin_not_installed.png
--------------------------------------------------------------------------------
/scripts/cli/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs"
4 | },
5 | "extends": "../../tsconfig.json"
6 | }
7 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/memcached/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | memcached:
2 | image: memcached:latest
3 | ports:
4 | - "11211:11211"
5 |
6 |
--------------------------------------------------------------------------------
/grafana-mixin/scripts/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | cd "$(dirname "$0")"/..
5 |
6 | mixtool generate all mixin.libsonnet
7 |
--------------------------------------------------------------------------------
/packages/grafana-data/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "exclude": ["dist", "node_modules", "**/*.test.ts*"],
3 | "extends": "./tsconfig.json"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/test/cypress/integration/0.cli.ts:
--------------------------------------------------------------------------------
1 | describe('CLI', () => {
2 | it('compiles this file and runs it', () => {});
3 | });
4 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "exclude": ["dist", "node_modules", "**/*.test.ts*"],
3 | "extends": "./tsconfig.json"
4 | }
5 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/broken-yaml/not.yaml.text:
--------------------------------------------------------------------------------
1 | #sfxzgnsxzcvnbzcvn
2 | cvbn
3 | cvbn
4 | c
5 | vbn
6 | cvbncvbn
--------------------------------------------------------------------------------
/pkg/services/provisioning/plugins/testdata/test-configs/broken-yaml/not.yaml.text:
--------------------------------------------------------------------------------
1 | #sfxzgnsxzcvnbzcvn
2 | cvbn
3 | cvbn
4 | c
5 | vbn
6 | cvbncvbn
--------------------------------------------------------------------------------
/public/app/features/dashboard/state/index.ts:
--------------------------------------------------------------------------------
1 | export { DashboardModel } from './DashboardModel';
2 | export { PanelModel } from './PanelModel';
3 |
--------------------------------------------------------------------------------
/public/app/features/manage-dashboards/components/UploadDashboard/index.ts:
--------------------------------------------------------------------------------
1 | export { uploadDashboardDirective } from './uploadDashboardDirective';
2 |
--------------------------------------------------------------------------------
/public/app/types/angular.ts:
--------------------------------------------------------------------------------
1 | import { IScope } from 'angular';
2 |
3 | export interface Scope extends IScope {
4 | [key: string]: any;
5 | }
6 |
--------------------------------------------------------------------------------
/public/fonts/roboto/CWB0XYA8bzo0kSThX0UTuA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/CWB0XYA8bzo0kSThX0UTuA.woff2
--------------------------------------------------------------------------------
/scripts/build/prepare_signing_key.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | git clone --depth 1 git@github.com:torkelo/private.git ~/private-repo
6 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/prometheus/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM prom/prometheus:v1.8.2
2 | ADD prometheus.yml /etc/prometheus/
3 | ADD alert.rules /etc/prometheus/
4 |
--------------------------------------------------------------------------------
/devenv/local-npm/conf/nginx/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM tutum/nginx
2 | RUN rm /etc/nginx/sites-enabled/default
3 | ADD sites-enabled /etc/nginx/sites-enabled
4 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-restricted-imports": ["error", { "patterns": ["@grafana/runtime"] }]
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "exclude": ["dist", "node_modules", "**/*.test.ts*"],
3 | "extends": "./tsconfig.json"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/tasks/plugin/test_exclude_image_suffix_in_manifest.png:
--------------------------------------------------------------------------------
1 | NOTE: not a real image, but should be excluded from hashed files
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/utils/pascalCase.ts:
--------------------------------------------------------------------------------
1 | import _ from 'lodash';
2 |
3 | export const pascalCase = _.flow(_.camelCase, _.upperFirst);
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/index.ts:
--------------------------------------------------------------------------------
1 | export { CustomWebpackConfigurationGetter, WebpackConfigurationOptions } from './webpack.plugin.config';
2 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/jestSetup/unsupportedOverrides/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "jest": {
3 | "runner": "some-runner"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/dashboards/testdata/test-dashboards/broken-dashboards/invalid.json:
--------------------------------------------------------------------------------
1 | []
2 | {
3 | "title": "Grafana",
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/plugins/testdata/test-configs/incorrect-settings/incorrect-settings.yaml:
--------------------------------------------------------------------------------
1 | apps:
2 | - org_id: 2
3 | disabled: false
4 |
--------------------------------------------------------------------------------
/public/sass/pages/_login.scss:
--------------------------------------------------------------------------------
1 | /* Is still used in some angular templates*/
2 | .login-form {
3 | margin-bottom: $space-md;
4 | width: 100%;
5 | }
6 |
--------------------------------------------------------------------------------
/scripts/build/ci-build/bootstrap.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cd /tmp || exit 1
4 | tar xfJ x86_64-centos6-linux-gnu.tar.xz
5 | tar xfJ osxcross.tar.xz
6 |
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/Makefile:
--------------------------------------------------------------------------------
1 | all: build
2 |
3 | build:
4 | pip3 install -r requirements.txt
5 | python3 generator/build.py
6 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/etc/service/nginx/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | mkdir -p /var/log/nginx
4 | exec /usr/sbin/nginx -c /etc/nginx/nginx.conf
5 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/nginx_proxy/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:1.19.3-alpine
2 |
3 | COPY nginx.conf /etc/nginx/nginx.conf
4 | COPY htpasswd /etc/nginx/htpasswd
5 |
--------------------------------------------------------------------------------
/e2e/suite1/screenshots/expected/bar-gauge-gradient.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/e2e/suite1/screenshots/expected/bar-gauge-gradient.png
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "exclude": ["dist", "node_modules", "**/*.test.ts*"],
3 | "extends": "./tsconfig.json"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/prettier.plugin.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "es5",
3 | "singleQuote": true,
4 | "printWidth": 120
5 | }
6 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/__mocks__/sdk.ts:
--------------------------------------------------------------------------------
1 | import { QueryCtrl } from './query_ctrl';
2 |
3 | export { QueryCtrl };
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/nginx_proxy_mac/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:1.19.3-alpine
2 |
3 | COPY nginx.conf /etc/nginx/nginx.conf
4 | COPY htpasswd /etc/nginx/htpasswd
5 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs"
4 | },
5 | "extends": "@grafana/tsconfig"
6 | }
7 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/plugins/index.ts:
--------------------------------------------------------------------------------
1 | export * from './env';
2 | export * from './utils';
3 | export * from './workflow';
4 | export * from './types';
5 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/types/mdx.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.mdx' {
2 | let MDXComponent: (props: any) => JSX.Element;
3 | export default MDXComponent;
4 | }
5 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/types/theme.ts:
--------------------------------------------------------------------------------
1 | import { GrafanaTheme } from '@grafana/data';
2 |
3 | export interface Themeable {
4 | theme: GrafanaTheme;
5 | }
6 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/empty_folder/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore everything in this directory
2 | *
3 | # Except this file
4 | !.gitignore
--------------------------------------------------------------------------------
/pkg/services/provisioning/plugins/testdata/test-configs/broken-yaml/broken.yaml:
--------------------------------------------------------------------------------
1 | apps:
2 | - type: something
3 | org_id: 2
4 | disabled: false
5 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/plugins/testdata/test-configs/empty_folder/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore everything in this directory
2 | *
3 | # Except this file
4 | !.gitignore
--------------------------------------------------------------------------------
/public/app/core/app_events.ts:
--------------------------------------------------------------------------------
1 | import { Emitter } from './utils/emitter';
2 |
3 | export const appEvents = new Emitter();
4 |
5 | export default appEvents;
6 |
--------------------------------------------------------------------------------
/public/app/core/controllers/all.ts:
--------------------------------------------------------------------------------
1 | import './invited_ctrl';
2 | import './signup_ctrl';
3 | import './reset_password_ctrl';
4 | import './json_editor_ctrl';
5 |
--------------------------------------------------------------------------------
/public/app/features/profile/state/selectors.ts:
--------------------------------------------------------------------------------
1 | import { UserState } from 'app/types';
2 |
3 | export const getTimeZone = (state: UserState) => state.timeZone;
4 |
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.x86_64.rpm.sha256:
--------------------------------------------------------------------------------
1 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2 |
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise_5.4.0-123pre1_amd64.deb.sha256:
--------------------------------------------------------------------------------
1 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/prometheus_basic_auth_proxy/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:alpine
2 |
3 | COPY nginx.conf /etc/nginx/nginx.conf
4 | COPY htpasswd /etc/nginx/htpasswd
5 |
--------------------------------------------------------------------------------
/emails/grunt/aliases.yaml:
--------------------------------------------------------------------------------
1 |
2 | default:
3 | - 'clean'
4 | - 'assemble'
5 | - 'replace'
6 | - 'uncss'
7 | - 'processhtml'
8 | - 'premailer'
9 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/prettier.plugin.rc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | ...require('@grafana/toolkit/src/config/prettier.plugin.config.json'),
3 | };
4 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/appliedDefaults/without-defaults.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | datasources:
4 | - name: $TEST_VAR
5 | type: type
6 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/VersionHistory/index.ts:
--------------------------------------------------------------------------------
1 | export { HistoryListCtrl } from './HistoryListCtrl';
2 | export { HistorySrv } from './HistorySrv';
3 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/mixed/module.ts:
--------------------------------------------------------------------------------
1 | import { MixedDatasource } from './MixedDataSource';
2 | export { MixedDatasource, MixedDatasource as Datasource };
3 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/heatmap/module.ts:
--------------------------------------------------------------------------------
1 | import './color_legend';
2 | import { HeatmapCtrl } from './heatmap_ctrl';
3 |
4 | export { HeatmapCtrl as PanelCtrl };
5 |
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/cache/nssm-2.24.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/scripts/build/ci-msi-build/msigenerator/cache/nssm-2.24.zip
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.linux-amd64.tar.gz.sha256:
--------------------------------------------------------------------------------
1 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2 |
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.windows-amd64.msi.sha256:
--------------------------------------------------------------------------------
1 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2 |
--------------------------------------------------------------------------------
/scripts/build/release_publisher/testdata/grafana-enterprise-5.4.0-123pre1.windows-amd64.zip.sha256:
--------------------------------------------------------------------------------
1 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2 |
--------------------------------------------------------------------------------
/scripts/build/update_repo/test-publish-rpm-repo.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ./scripts/build/update_repo/publish-rpm.sh "oss" "v5.4.3" "grafana-testing-repo"
4 |
--------------------------------------------------------------------------------
/scripts/ci-job-started.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | echo -e "Collecting job start date"
4 |
5 | start=$(date +%s%N)
6 | echo "export GF_JOB_START=$start" >> "$BASH_ENV"
7 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/slow_proxy/Dockerfile:
--------------------------------------------------------------------------------
1 |
2 | FROM golang:latest
3 | ADD main.go /
4 | WORKDIR /
5 | RUN go build -o main .
6 | EXPOSE 3011
7 | ENTRYPOINT ["/main"]
8 |
--------------------------------------------------------------------------------
/devenv/docker/buildcontainer/run_circle.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker run -i -t \
4 | -v /home/ubuntu/.go_workspace:/go \
5 | --name gfbuild grafana/buildcontainer
6 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Chart/index.tsx:
--------------------------------------------------------------------------------
1 | import { Tooltip } from './Tooltip';
2 |
3 | const Chart = {
4 | Tooltip,
5 | };
6 |
7 | export default Chart;
8 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/types/storybook.ts:
--------------------------------------------------------------------------------
1 | export type Renderable = React.ComponentType | JSX.Element;
2 | export type RenderFunction = () => Renderable | Renderable[];
3 |
--------------------------------------------------------------------------------
/pkg/cmd/grafana-cli/commands/testdata/plugin-with-symlink.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/pkg/cmd/grafana-cli/commands/testdata/plugin-with-symlink.zip
--------------------------------------------------------------------------------
/public/app/features/plugins/all.ts:
--------------------------------------------------------------------------------
1 | import './plugin_page_ctrl';
2 | import './datasource_srv';
3 | import './plugin_component';
4 | import './variableQueryEditorLoader';
5 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/graphite/img/graphite_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/graphite/img/graphite_logo.png
--------------------------------------------------------------------------------
/public/app/plugins/datasource/opentsdb/img/opentsdb_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/opentsdb/img/opentsdb_logo.png
--------------------------------------------------------------------------------
/public/app/plugins/panel/text/types.ts:
--------------------------------------------------------------------------------
1 | export type TextMode = 'html' | 'markdown';
2 | export interface TextOptions {
3 | mode: TextMode;
4 | content: string;
5 | }
6 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/slow_proxy_mac/Dockerfile:
--------------------------------------------------------------------------------
1 |
2 | FROM golang:latest
3 | ADD main.go /
4 | WORKDIR /
5 | RUN go build -o main .
6 | EXPOSE 3011
7 | ENTRYPOINT ["/main"]
8 |
--------------------------------------------------------------------------------
/e2e/suite1/screenshots/bar-gauge.spec.ts/bar-gauge-gradient.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/e2e/suite1/screenshots/bar-gauge.spec.ts/bar-gauge-gradient.png
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/support/index.ts:
--------------------------------------------------------------------------------
1 | export * from './localStorage';
2 | export * from './scenarioContext';
3 | export * from './selector';
4 | export * from './types';
5 |
--------------------------------------------------------------------------------
/pkg/api/dtos/apikey.go:
--------------------------------------------------------------------------------
1 | package dtos
2 |
3 | type NewApiKeyResult struct {
4 | ID int64 `json:"id"`
5 | Name string `json:"name"`
6 | Key string `json:"key"`
7 | }
8 |
--------------------------------------------------------------------------------
/pkg/infra/log/handlers.go:
--------------------------------------------------------------------------------
1 | package log
2 |
3 | type DisposableHandler interface {
4 | Close()
5 | }
6 |
7 | type ReloadableHandler interface {
8 | Reload()
9 | }
10 |
--------------------------------------------------------------------------------
/public/app/core/partials.ts:
--------------------------------------------------------------------------------
1 | let templates = (require as any).context('../', true, /\.html$/);
2 | templates.keys().forEach((key: string) => {
3 | templates(key);
4 | });
5 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/ShareModal/index.ts:
--------------------------------------------------------------------------------
1 | export { ShareModal, addDashboardShareTab, addPanelShareTab } from './ShareModal';
2 | export * from './types';
3 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/etc/service/statsd/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec /usr/bin/nodejs /opt/statsd/stats.js /opt/statsd/config.js >> /var/log/statsd.log 2>&1
4 |
5 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/opt/statsd/config.js:
--------------------------------------------------------------------------------
1 | {
2 | "graphiteHost": "127.0.0.1",
3 | "graphitePort": 2003,
4 | "port": 8125,
5 | "flushInterval": 10000
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/suite1/screenshots/bar-gauge.spec.ts/bar-gauge-gradient (1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/e2e/suite1/screenshots/bar-gauge.spec.ts/bar-gauge-gradient (1).png
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Drawer/_Drawer.scss:
--------------------------------------------------------------------------------
1 | // Need to import this to get default styles from rc-drawer
2 | @import '../../node_modules/rc-drawer/assets/index.css';
3 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/unknown-notifier/notification.yaml:
--------------------------------------------------------------------------------
1 | notifiers:
2 | - name: unknown-notifier
3 | type: nonexisting
4 | uid: notifier1
--------------------------------------------------------------------------------
/scripts/build/update_repo/test-publish-deb-repo.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ./scripts/build/update_repo/publish-deb.sh "oss" "grafana-testing-aptly-db" "grafana-testing-repo"
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/alert_webhook_listener/Dockerfile:
--------------------------------------------------------------------------------
1 |
2 | FROM golang:latest
3 | ADD main.go /
4 | WORKDIR /
5 | RUN go build -o main .
6 | EXPOSE 3010
7 | ENTRYPOINT ["/main"]
8 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/apache_proxy/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM jmferrer/apache2-reverse-proxy:latest
2 |
3 | COPY ports.conf /etc/apache2/sites-enabled
4 | COPY proxy.conf /etc/apache2/sites-enabled
--------------------------------------------------------------------------------
/devenv/docker/blocks/nginx_proxy/htpasswd:
--------------------------------------------------------------------------------
1 | user1:$apr1$1odeeQb.$kwV8D/VAAGUDU7pnHuKoV0
2 | user2:$apr1$A2kf25r.$6S0kp3C7vIuixS5CL0XA9.
3 | admin:$apr1$IWn4DoRR$E2ol7fS/dkI18eU4bXnBO1
4 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/utils/testdata/withHeaders.csv:
--------------------------------------------------------------------------------
1 | #name#a,b,c
2 | #unit#ms,lengthm,s
3 | #type#number,string,boolean
4 | 10,20,True
5 | 40,50,FALSE
6 | "40","500",0
7 | 40,50,1
8 |
--------------------------------------------------------------------------------
/plugins-bundled/.gitignore:
--------------------------------------------------------------------------------
1 | # packaged by toolkit
2 | dist
3 | coverage
4 |
5 | # Ignore external git configs
6 | external
7 |
8 | # this file is added automatically
9 | .prettierrc.js
--------------------------------------------------------------------------------
/public/app/plugins/datasource/cloudwatch/img/amazon-web-services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/cloudwatch/img/amazon-web-services.png
--------------------------------------------------------------------------------
/public/app/plugins/datasource/loki/README.md:
--------------------------------------------------------------------------------
1 | # Loki Data Source - Native Plugin
2 |
3 | This is a **built in** data source that allows you to connect to the Loki logging service.
4 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/news/constants.ts:
--------------------------------------------------------------------------------
1 | export const DEFAULT_FEED_URL = 'https://grafana.com/blog/news.xml';
2 | export const PROXY_PREFIX = 'https://cors-anywhere.herokuapp.com/';
3 |
--------------------------------------------------------------------------------
/public/fonts/roboto/-2n2p-_Y08sg57CNWQfKNvesZW2xOQ-xsNqO47m55DA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/-2n2p-_Y08sg57CNWQfKNvesZW2xOQ-xsNqO47m55DA.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/1hZf02POANh32k2VkgEoUBTbgVql8nDJpwnrE27mub0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/1hZf02POANh32k2VkgEoUBTbgVql8nDJpwnrE27mub0.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/Fcx7Wwv8OzT71A3E1XOAjvesZW2xOQ-xsNqO47m55DA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/Fcx7Wwv8OzT71A3E1XOAjvesZW2xOQ-xsNqO47m55DA.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/K23cxWVTrIFD6DJsEVi07RTbgVql8nDJpwnrE27mub0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/K23cxWVTrIFD6DJsEVi07RTbgVql8nDJpwnrE27mub0.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/NdF9MtnOpLzo-noMoG0miPesZW2xOQ-xsNqO47m55DA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/NdF9MtnOpLzo-noMoG0miPesZW2xOQ-xsNqO47m55DA.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0SYE0-AqJ3nfInTTiDXDjU4.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0SYE0-AqJ3nfInTTiDXDjU4.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0TTOQ_MqJVwkKsUn0wKzc2I.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0TTOQ_MqJVwkKsUn0wKzc2I.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0TUj_cnvWIuuBMVgbX098Mw.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0TUj_cnvWIuuBMVgbX098Mw.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0UbcKLIaa1LC45dFaAfauRA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0UbcKLIaa1LC45dFaAfauRA.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0Wo_sUJ8uO4YLWRInS22T3Y.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0Wo_sUJ8uO4YLWRInS22T3Y.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0Y4P5ICox8Kq3LLUNMylGO4.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0Y4P5ICox8Kq3LLUNMylGO4.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0b6up8jxqWt8HVA3mDhkV_0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0b6up8jxqWt8HVA3mDhkV_0.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/OpXUqTo0UgQQhGj_SFdLWBTbgVql8nDJpwnrE27mub0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/OpXUqTo0UgQQhGj_SFdLWBTbgVql8nDJpwnrE27mub0.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/WxrXJa0C3KdtC7lMafG4dRTbgVql8nDJpwnrE27mub0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/WxrXJa0C3KdtC7lMafG4dRTbgVql8nDJpwnrE27mub0.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/ZLqKeelYbATG60EpZBSDyxJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/ZLqKeelYbATG60EpZBSDyxJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/cDKhRaXnQTOVbaoxwdOr9xTbgVql8nDJpwnrE27mub0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/cDKhRaXnQTOVbaoxwdOr9xTbgVql8nDJpwnrE27mub0.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/mbmhprMH69Zi6eEPBYVFhRJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/mbmhprMH69Zi6eEPBYVFhRJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/mx9Uck6uB63VIKFYnEMXrRJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/mx9Uck6uB63VIKFYnEMXrRJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/oHi30kwQWvpCWqAhzHcCSBJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/oHi30kwQWvpCWqAhzHcCSBJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/rGvHdJnr2l75qb0YND9NyBJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/rGvHdJnr2l75qb0YND9NyBJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/vPcynSL0qHq_6dX7lKVByfesZW2xOQ-xsNqO47m55DA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/vPcynSL0qHq_6dX7lKVByfesZW2xOQ-xsNqO47m55DA.woff2
--------------------------------------------------------------------------------
/public/fonts/roboto/vSzulfKSK0LLjjfeaxcREhTbgVql8nDJpwnrE27mub0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/roboto/vSzulfKSK0LLjjfeaxcREhTbgVql8nDJpwnrE27mub0.woff2
--------------------------------------------------------------------------------
/devenv/docker/blocks/apache_proxy/proxy.conf:
--------------------------------------------------------------------------------
1 |
2 | ProxyPass /grafana/ http://localhost:3000/
3 | ProxyPassReverse /grafana/ http://localhost:3000/
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/apache_proxy_mac/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM jmferrer/apache2-reverse-proxy:latest
2 |
3 | COPY ports.conf /etc/apache2/sites-enabled
4 | COPY proxy.conf /etc/apache2/sites-enabled
--------------------------------------------------------------------------------
/devenv/docker/blocks/nginx_proxy_mac/htpasswd:
--------------------------------------------------------------------------------
1 | user1:$apr1$1odeeQb.$kwV8D/VAAGUDU7pnHuKoV0
2 | user2:$apr1$A2kf25r.$6S0kp3C7vIuixS5CL0XA9.
3 | admin:$apr1$IWn4DoRR$E2ol7fS/dkI18eU4bXnBO1
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/prometheus2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM prom/prometheus:v2.7.2
2 | ADD prometheus.yml /etc/prometheus/
3 | ADD recording.yml /etc/prometheus/
4 | ADD alert.yml /etc/prometheus/
5 |
--------------------------------------------------------------------------------
/e2e/suite1/specs/1-smoketests.spec.ts:
--------------------------------------------------------------------------------
1 | import { e2e } from '@grafana/e2e';
2 | import { smokeTestScenario } from '../../shared/smokeTestScenario';
3 |
4 | e2e.scenario(smokeTestScenario);
5 |
--------------------------------------------------------------------------------
/e2e/verify/specs/smoketests.spec.ts:
--------------------------------------------------------------------------------
1 | import { e2e } from '@grafana/e2e';
2 | import { smokeTestScenario } from '../../shared/smokeTestScenario';
3 |
4 | e2e.scenario(smokeTestScenario);
5 |
--------------------------------------------------------------------------------
/packages/grafana-data/README.md:
--------------------------------------------------------------------------------
1 | # Grafana Data Library
2 |
3 | > **@grafana/data is currently in BETA**.
4 |
5 | This package holds the root data types and functions used within Grafana.
6 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/dataframe/__snapshots__/all_types.golden.arrow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/packages/grafana-data/src/dataframe/__snapshots__/all_types.golden.arrow
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci/common.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ##
4 | ## Common variable declarations
5 | ##
6 |
7 | DOCKER_IMAGE_NAME="grafana/grafana-plugin-ci:1.0.0"
8 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/uPlot/Plot.scss:
--------------------------------------------------------------------------------
1 | // importing the uPlot css so it will be bundled with the rest of the styling.
2 | @import '../../node_modules/uplot/dist/uPlot.min.css';
3 |
--------------------------------------------------------------------------------
/pkg/infra/serverlock/model.go:
--------------------------------------------------------------------------------
1 | package serverlock
2 |
3 | type serverLock struct {
4 | Id int64
5 | OperationUid string
6 | LastExecution int64
7 | Version int64
8 | }
9 |
--------------------------------------------------------------------------------
/pkg/services/datasources/log.go:
--------------------------------------------------------------------------------
1 | package datasources
2 |
3 | import (
4 | "github.com/grafana/grafana/pkg/infra/log"
5 | )
6 |
7 | var (
8 | plog = log.New("datasources")
9 | )
10 |
--------------------------------------------------------------------------------
/public/app/features/panel/all.ts:
--------------------------------------------------------------------------------
1 | import './panel_directive';
2 | import './query_ctrl';
3 | import './panel_editor_tab';
4 | import './query_editor_row';
5 | import './panellinks/module';
6 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/graph3/README.md:
--------------------------------------------------------------------------------
1 | # Graph3 Panel - Native Plugin
2 |
3 | This is a graph panel exprimenting with the charting library:
4 | https://github.com/leeoniya/uPlot
5 |
6 |
--------------------------------------------------------------------------------
/public/fonts/opensans/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2
--------------------------------------------------------------------------------
/public/fonts/opensans/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/fonts/opensans/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2
--------------------------------------------------------------------------------
/public/sass/base/font-awesome/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/postgres_tests/setup.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE grafanadstest;
2 | REVOKE CONNECT ON DATABASE grafanadstest FROM PUBLIC;
3 | GRANT CONNECT ON DATABASE grafanadstest TO grafanatest;
4 |
--------------------------------------------------------------------------------
/packages/jaeger-ui-components/src/utils/DraggableManager/demo/demo-ux.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/packages/jaeger-ui-components/src/utils/DraggableManager/demo/demo-ux.gif
--------------------------------------------------------------------------------
/public/app/features/manage-dashboards/index.ts:
--------------------------------------------------------------------------------
1 | // Services
2 | export { ValidationSrv } from './services/ValidationSrv';
3 |
4 | // Components
5 | export * from './components/UploadDashboard';
6 |
--------------------------------------------------------------------------------
/public/app/features/playlist/all.ts:
--------------------------------------------------------------------------------
1 | import './playlists_ctrl';
2 | import './playlist_search';
3 | import './playlist_srv';
4 | import './playlist_edit_ctrl';
5 | import './playlist_routes';
6 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/mssql/types.ts:
--------------------------------------------------------------------------------
1 | export interface MssqlQueryForInterpolation {
2 | alias?: any;
3 | format?: any;
4 | rawSql?: any;
5 | refId?: any;
6 | hide?: any;
7 | }
8 |
--------------------------------------------------------------------------------
/public/app/types/organization.ts:
--------------------------------------------------------------------------------
1 | export interface Organization {
2 | name: string;
3 | id: number;
4 | }
5 |
6 | export interface OrganizationState {
7 | organization: Organization;
8 | }
9 |
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_icon.ico
--------------------------------------------------------------------------------
/scripts/build/update_repo/load-signing-key.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -e
4 |
5 | gpg --batch --allow-secret-key-import --import ~/private-repo/signing/private.key
6 | pkill gpg-agent
7 |
--------------------------------------------------------------------------------
/docs/sources/sharing/_index:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Sharing"
3 | weight = 4
4 | draft = "true"
5 | +++
6 |
7 | # Sharing
8 |
9 | This section contains pages that will help you share Grafana visualizations.
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/webpack.config.js:
--------------------------------------------------------------------------------
1 | /* WRONG CONFIG ON PURPOSE - DO NOT COPY THIS */
2 |
3 | module.exports.config = {
4 | name: 'test',
5 | };
6 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/tsconfig.plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "alwaysStrict": true,
4 | "declaration": false
5 | },
6 | "extends": "@grafana/tsconfig"
7 | }
8 |
--------------------------------------------------------------------------------
/packages/grafana-ui/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "exclude": ["**/*.story.tsx", "**/*.test.ts*", "**/*.tmpl.ts", "dist", "node_modules", "src/utils/storybook"],
3 | "extends": "./tsconfig.json"
4 | }
5 |
--------------------------------------------------------------------------------
/pkg/tsdb/influxdb/flux/testdata/single.csv:
--------------------------------------------------------------------------------
1 | #group,false,false,true,false
2 | #datatype,string,long,string,long
3 | #default,_result,,,
4 | ,result,table,_field,_value
5 | ,,0,summary_serial_number,6
6 |
--------------------------------------------------------------------------------
/public/app/core/utils/promiseToDigest.ts:
--------------------------------------------------------------------------------
1 | import { IScope } from 'angular';
2 |
3 | export const promiseToDigest = ($scope: IScope) => (promise: Promise) => promise.finally($scope.$evalAsync);
4 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/dashboard/plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "datasource",
3 | "name": "-- Dashboard --",
4 | "id": "dashboard",
5 |
6 | "builtIn": true,
7 | "metrics": true
8 | }
9 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/logo.jpg
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci-alpine/common.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ##
4 | ## Common variable declarations
5 | ##
6 |
7 | DOCKER_IMAGE_NAME="grafana/grafana-plugin-ci:1.0.1-alpine"
8 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/styles.mock.js:
--------------------------------------------------------------------------------
1 | // Mock for handling stylesheet file imports in tests
2 | // https://jestjs.io/docs/en/webpack.html#handling-static-assets
3 |
4 | module.exports = {};
5 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/invalid-access/invalid-access.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | datasources:
4 | - name: invalid-access
5 | type: prometheus
6 | access: INVALID_ACCESS
7 |
--------------------------------------------------------------------------------
/pkg/tsdb/azuremonitor/testdata/applicationinsights/5-application-insights-empty-response.json:
--------------------------------------------------------------------------------
1 | {"value":{"start":"2020-07-21T11:55:15.000Z","end":"2020-07-21T11:56:15.000Z","interval":"PT1M","segments":[]}}
--------------------------------------------------------------------------------
/public/app/plugins/datasource/dashboard/README.md:
--------------------------------------------------------------------------------
1 | # Dashboard Datasource - Native Plugin
2 |
3 | This is a **built in** datasource that lets you reuse the query from other panels in the
4 | same dashboard.
--------------------------------------------------------------------------------
/public/sass/components/_typeahead.scss:
--------------------------------------------------------------------------------
1 | // typeahead max height
2 | .typeahead {
3 | max-height: 300px;
4 | overflow-y: auto;
5 | }
6 |
7 | .typeahead strong {
8 | color: $yellow;
9 | }
10 |
--------------------------------------------------------------------------------
/scripts/build/ci-deploy/build-deploy.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | _version="1.2.6"
5 | _tag="grafana/grafana-ci-deploy:${_version}"
6 |
7 | docker build -t $_tag .
8 | docker push $_tag
9 |
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_top_banner.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_top_banner.bmp
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_top_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_top_banner.png
--------------------------------------------------------------------------------
/scripts/build/update_repo/test-update-rpm-repo.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | GPG_PASS=${1:-}
4 |
5 | ./scripts/build/update_repo/update-rpm.sh "oss" "$GPG_PASS" "v5.4.3" "dist" "grafana-testing-repo"
6 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Questions & Help
4 | url: https://community.grafana.com
5 | about: Please ask and answer questions here.
6 |
--------------------------------------------------------------------------------
/MAINTAINERS.md:
--------------------------------------------------------------------------------
1 | @torkelo is the main/default maintainer, some parts of the codebase have other maintainers:
2 |
3 | - Backend:
4 | - @bergquist
5 | - Plugins:
6 | - @ryantxu
7 | - UX/UI:
8 | - @davkal
9 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/alert_webhook_listener/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | alert_webhook_listener:
2 | build: docker/blocks/alert_webhook_listener
3 | network_mode: host
4 | ports:
5 | - "3010:3010"
6 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/mssql/build/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM mcr.microsoft.com/mssql/server:2017-CU4-ubuntu
2 | WORKDIR /usr/setup
3 | COPY . /usr/setup
4 | RUN chmod +x /usr/setup/setup.sh
5 | CMD /bin/bash ./entrypoint.sh
--------------------------------------------------------------------------------
/devenv/e2e-api-tests/clearState.test.ts:
--------------------------------------------------------------------------------
1 | import * as setup from './setup';
2 |
3 | describe.skip('clear state', () => {
4 | it('will clear state', () => {
5 | return setup.clearState();
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/README.md:
--------------------------------------------------------------------------------
1 | # Grafana End-to-End Test Selectors library
2 |
3 | > **@grafana/e2e-selectors is currently in ALPHA**. Core API is unstable and can be a subject of breaking changes!
4 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci-alpine/install/bin/cp:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ "$1" == "-rn" ]; then
4 | false | busybox cp -i -r "$2" "$3" 2>/dev/null
5 | else
6 | busybox cp $*
7 | fi
8 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | source ./common.sh
5 |
6 | docker build -t ${DOCKER_IMAGE_NAME} .
7 | docker push $DOCKER_IMAGE_NAME
8 |
9 |
--------------------------------------------------------------------------------
/public/app/features/datasources/partials/http_settings_next.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/public/app/features/templating/all.ts:
--------------------------------------------------------------------------------
1 | import coreModule from 'app/core/core_module';
2 | import { getTemplateSrv } from './template_srv';
3 |
4 | coreModule.factory('templateSrv', () => getTemplateSrv());
5 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/cloudwatch/components/__snapshots__/MetricsQueryEditor.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`QueryEditor should render component 1`] = `null`;
4 |
--------------------------------------------------------------------------------
/public/sass/utils/_validation.scss:
--------------------------------------------------------------------------------
1 | input.validation-error,
2 | input.ng-dirty.ng-invalid {
3 | box-shadow: inset 0 0px 5px $red;
4 | }
5 |
6 | input.invalid {
7 | box-shadow: inset 0 0px 5px $red;
8 | }
9 |
--------------------------------------------------------------------------------
/scripts/build/update_repo/test-update-deb-repo.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | GPG_PASS=${1:-}
4 |
5 | ./scripts/build/update_repo/update-deb.sh "oss" "$GPG_PASS" "v5.4.3" "dist" "grafana-testing-aptly-db"
6 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM circleci/node:12-browsers
2 | USER root
3 | COPY scripts scripts
4 | WORKDIR scripts
5 | RUN ./deploy.sh
6 | COPY install/gget /usr/local/bin/gget
7 |
--------------------------------------------------------------------------------
/public/app/core/utils/colors.ts:
--------------------------------------------------------------------------------
1 | import config from 'app/core/config';
2 |
3 | export function getThemeColor(dark: string, light: string): string {
4 | return config.bootData.user.lightTheme ? light : dark;
5 | }
6 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/welcome/module.ts:
--------------------------------------------------------------------------------
1 | import { PanelPlugin } from '@grafana/data';
2 | import { WelcomeBanner } from './Welcome';
3 |
4 | export const plugin = new PanelPlugin(WelcomeBanner).setNoPadding();
5 |
--------------------------------------------------------------------------------
/devenv/benchmarks/ab/ab_test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ab -n 20000 -c 100 -H "Authorization: Bearer vEustw23NSOZ27y3zlj28ZL3B7BpBk5kqR85DOfT5AwiS3nCi33dnsk6nhvXhZdn" \
4 | http://localhost:3000/api/dashboards/db/dash1
5 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite/files/statsd_config.js:
--------------------------------------------------------------------------------
1 | {
2 | graphitePort: 2003,
3 | graphiteHost: "127.0.0.1",
4 | port: 8125,
5 | mgmt_port: 8126,
6 | backends: ['./backends/graphite'],
7 | debug: true
8 | }
9 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/types/flot.ts:
--------------------------------------------------------------------------------
1 | export interface FlotDataPoint {
2 | dataIndex: number;
3 | datapoint: number[];
4 | pageX: number;
5 | pageY: number;
6 | series: any;
7 | seriesIndex: number;
8 | }
9 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/test/cypress/integration/1.api.ts:
--------------------------------------------------------------------------------
1 | import { e2e } from '../../../dist';
2 |
3 | describe('API', () => {
4 | it('can be imported', () => {
5 | expect(e2e).to.be.a('function');
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/types/index.ts:
--------------------------------------------------------------------------------
1 | export * from './theme';
2 | export * from './input';
3 | export * from './completion';
4 | export * from './storybook';
5 | export * from './forms';
6 | export * from './icon';
7 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/dashboards/testdata/test-configs/applied-defaults/dev-dashboards.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | providers:
4 | - name: 'applied-defaults'
5 | options:
6 | path: /var/lib/grafana/dashboards
7 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/all-properties/second.yaml:
--------------------------------------------------------------------------------
1 | purge_other_datasources: true
2 | datasources:
3 | - name: name2
4 | type: type2
5 | access: proxy
6 | orgId: 2
7 | url: url2
8 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/loki/partials/annotations.editor.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_dialog_background.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_dialog_background.bmp
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_dialog_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_dialog_background.png
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_top_banner_white.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/scripts/build/ci-msi-build/msigenerator/resources/images/grafana_top_banner_white.bmp
--------------------------------------------------------------------------------
/scripts/build/rpmmacros:
--------------------------------------------------------------------------------
1 | %_signature gpg
2 | %_gpg_path /root/.gnupg
3 | %_gpg_name Grafana
4 | %_gpgbin /usr/bin/gpg
5 | %_gpg_sign_cmd_extra_args --batch --pinentry-mode loopback --passphrase-file /tmp/gpg-passphrase
6 |
--------------------------------------------------------------------------------
/scripts/go/tools.go:
--------------------------------------------------------------------------------
1 | // +build tools
2 |
3 | package main
4 |
5 | import (
6 | _ "github.com/golangci/golangci-lint/cmd/golangci-lint"
7 | _ "github.com/mgechev/revive"
8 | _ "github.com/unknwon/bra"
9 | )
10 |
--------------------------------------------------------------------------------
/scripts/verify-repo-update/Dockerfile.rpm:
--------------------------------------------------------------------------------
1 | FROM centos:8
2 |
3 | ARG REPO_CONFIG=grafana.repo.oss
4 | ARG PACKAGE=grafana
5 |
6 | COPY "./$REPO_CONFIG" /etc/yum.repos.d/grafana.repo
7 |
8 | RUN yum install -y $PACKAGE
9 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/apache_proxy_mac/proxy.conf:
--------------------------------------------------------------------------------
1 |
2 | ProxyPass /grafana/ http://host.docker.internal:3000/
3 | ProxyPassReverse /grafana/ http://host.docker.internal:3000/
4 |
5 |
--------------------------------------------------------------------------------
/e2e/suite1/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "types": ["cypress"]
4 | },
5 | "extends": "../../tsconfig.json",
6 | "include": ["**/*.ts", "../../packages/grafana-e2e/cypress/support/index.d.ts"]
7 | }
8 |
--------------------------------------------------------------------------------
/e2e/verify/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "types": ["cypress"]
4 | },
5 | "extends": "../../tsconfig.json",
6 | "include": ["**/*.ts", "../../packages/grafana-e2e/cypress/support/index.d.ts"]
7 | }
8 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/utils/docs.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Enumeration of documentation topics
3 | * @internal
4 | */
5 | export enum DocsId {
6 | Transformations,
7 | FieldConfig,
8 | FieldConfigOverrides,
9 | }
10 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/cypress/fixtures/example.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Using fixtures to represent data",
3 | "email": "hello@cypress.io",
4 | "body": "Fixtures are a great way to mock data for responses to routes"
5 | }
6 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci-alpine/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.12
2 |
3 | USER root
4 |
5 | COPY scripts scripts
6 | COPY install /usr/local
7 |
8 | WORKDIR scripts
9 |
10 | RUN ./deploy.sh
11 |
--------------------------------------------------------------------------------
/pkg/api/dtos/short_url.go:
--------------------------------------------------------------------------------
1 | package dtos
2 |
3 | type ShortURL struct {
4 | UID string `json:"uid"`
5 | URL string `json:"url"`
6 | }
7 |
8 | type CreateShortURLCmd struct {
9 | Path string `json:"path"`
10 | }
11 |
--------------------------------------------------------------------------------
/pkg/models/models.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | type OAuthType int
4 |
5 | const (
6 | GITHUB OAuthType = iota + 1
7 | GOOGLE
8 | TWITTER
9 | GENERIC
10 | GRAFANA_COM
11 | GITLAB
12 | AZUREAD
13 | OKTA
14 | )
15 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/double-default/default-1.yaml:
--------------------------------------------------------------------------------
1 | datasources:
2 | - name: Graphite
3 | type: graphite
4 | access: proxy
5 | url: http://localhost:8080
6 | is_default: true
7 |
8 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/double-default/default-2.yaml:
--------------------------------------------------------------------------------
1 | datasources:
2 | - name: Graphite
3 | type: graphite
4 | access: proxy
5 | url: http://localhost:8080
6 | is_default: true
7 |
8 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/azure_monitor_cpu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/azure_monitor_cpu.png
--------------------------------------------------------------------------------
/scripts/mixin-check.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | cd grafana-mixin
5 | go install github.com/monitoring-mixins/mixtool/cmd/mixtool
6 | go install github.com/google/go-jsonnet/cmd/jsonnetfmt
7 | make lint build
8 |
--------------------------------------------------------------------------------
/devenv/bulk-dashboards/bulk-dashboards.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | providers:
4 | - name: 'Bulk dashboards'
5 | folder: 'Bulk dashboards'
6 | type: file
7 | options:
8 | path: devenv/bulk-dashboards
9 |
10 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/etc/service/carbon/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | rm -f /opt/graphite/storage/carbon-cache-a.pid
4 | exec /usr/bin/python /opt/graphite/bin/carbon-cache.py start --debug 2>&1 >> /var/log/carbon.log
5 |
--------------------------------------------------------------------------------
/devenv/docker/debtest/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cp Dockerfile ../../dist
4 | cd ../../dist
5 |
6 | docker build --tag "grafana/debtest" .
7 |
8 | rm Dockerfile
9 |
10 | docker run -i -t grafana/debtest /bin/bash
11 |
--------------------------------------------------------------------------------
/devenv/docker/rpmtest/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cp Dockerfile ../../dist
4 | cd ../../dist
5 |
6 | docker build --tag "grafana/rpmtest" .
7 |
8 | rm Dockerfile
9 |
10 | docker run -i -t grafana/rpmtest /bin/bash
11 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/dashboards/testdata/test-configs/broken-configs/commented.yaml:
--------------------------------------------------------------------------------
1 | # - name: 'default'
2 | # org_id: 1
3 | # folder: ''
4 | # type: file
5 | # options:
6 | # path: /var/lib/grafana/dashboards
7 |
--------------------------------------------------------------------------------
/public/app/features/alerting/__snapshots__/TestRuleResult.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Render should render component 1`] = `
4 |
7 | `;
8 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/dashboard/module.ts:
--------------------------------------------------------------------------------
1 | import { DashboardDatasource } from './datasource';
2 | import { DataSourcePlugin } from '@grafana/data';
3 |
4 | export const plugin = new DataSourcePlugin(DashboardDatasource);
5 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/azure_monitor_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/azure_monitor_network.png
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_1_select_type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_1_select_type.png
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/grafana_cloud_install.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/grafana_cloud_install.png
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/grafana_cloud_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/grafana_cloud_login.png
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana/plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "datasource",
3 | "name": "-- Grafana --",
4 | "id": "grafana",
5 |
6 | "builtIn": true,
7 | "annotations": true,
8 | "metrics": true
9 | }
10 |
--------------------------------------------------------------------------------
/public/sass/base/font-awesome/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only {
5 | @include sr-only();
6 | }
7 | .sr-only-focusable {
8 | @include sr-only-focusable();
9 | }
10 |
--------------------------------------------------------------------------------
/scripts/build/update_repo/unlock-gpg-key.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env expect
2 |
3 | set password [lindex $argv 0]
4 | spawn gpg --detach-sign --armor /tmp/sign-this
5 | expect "Enter passphrase: "
6 | send -- "$password\r"
7 | expect eof
8 |
--------------------------------------------------------------------------------
/packages/grafana-data/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'production') {
4 | module.exports = require('./index.production.js');
5 | } else {
6 | module.exports = require('./index.development.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'production') {
4 | module.exports = require('./index.production.js');
5 | } else {
6 | module.exports = require('./index.development.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/grafana-ui/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'production') {
4 | module.exports = require('./index.production.js');
5 | } else {
6 | module.exports = require('./index.development.js');
7 | }
8 |
--------------------------------------------------------------------------------
/pkg/services/sqlstore/tables.go:
--------------------------------------------------------------------------------
1 | package sqlstore
2 |
3 | // extra tables not required by the core/outside model
4 |
5 | type DashboardTag struct {
6 | Id int64
7 | DashboardId int64
8 | Term string
9 | }
10 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_4_save_and_test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_4_save_and_test.png
--------------------------------------------------------------------------------
/scripts/grunt/build_task.js:
--------------------------------------------------------------------------------
1 | module.exports = function(grunt) {
2 | 'use strict';
3 |
4 | // Concat and Minify the src directory into dist
5 | grunt.registerTask('build', ['clean:release', 'clean:build', 'exec:webpack']);
6 | };
7 |
--------------------------------------------------------------------------------
/scripts/webpack/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = () => {
2 | return {
3 | plugins: {
4 | autoprefixer: {},
5 | 'postcss-reporter': {},
6 | 'postcss-browser-reporter': {},
7 | },
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | .awcache
2 | .dockerignore
3 | .git
4 | .gitignore
5 | .github
6 | .vscode
7 | bin
8 | data*
9 | dist
10 | docker
11 | Dockerfile
12 | docs
13 | dump.rdb
14 | node_modules
15 | /local
16 | /tmp
17 | *.yml
18 | *.md
19 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/slow_proxy/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | slow_proxy:
2 | build: docker/blocks/slow_proxy
3 | network_mode: host
4 | ports:
5 | - "3011:3011"
6 | environment:
7 | ORIGIN_SERVER: "http://localhost:9090/"
--------------------------------------------------------------------------------
/devenv/docker/blocks/slow_proxy_mac/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | slow_proxy_mac:
2 | build: docker/blocks/slow_proxy_mac
3 | ports:
4 | - '3011:3011'
5 | environment:
6 | ORIGIN_SERVER: 'http://host.docker.internal:9090/'
7 |
--------------------------------------------------------------------------------
/emails/grunt/uncss.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | dist: {
3 | src: ['dist/*.html'],
4 | dest: 'dist/css/tidy.css',
5 | options: {
6 | report: 'min', // optional: include to report savings
7 | },
8 | },
9 | };
10 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/types/ScopedVars.ts:
--------------------------------------------------------------------------------
1 | export interface ScopedVar {
2 | text: any;
3 | value: T;
4 | [key: string]: any;
5 | }
6 |
7 | export interface ScopedVars {
8 | [key: string]: ScopedVar;
9 | }
10 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/src/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * A library containing the different design components of the Grafana ecosystem.
3 | *
4 | * @packageDocumentation
5 | */
6 | export * from './selectors';
7 | export * from './types';
8 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'production') {
4 | module.exports = require('./index.production.js');
5 | } else {
6 | module.exports = require('./index.development.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/UnitPicker/UnitPicker.mdx:
--------------------------------------------------------------------------------
1 | import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
2 | import { UnitPicker } from './UnitPicker';
3 |
4 | # UnitPicker
5 |
6 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/double-default/default-1.yml:
--------------------------------------------------------------------------------
1 | notifiers:
2 | - name: first-default
3 | type: slack
4 | uid: notifier1
5 | is_default: true
6 | settings:
7 | url: https://slack.com
--------------------------------------------------------------------------------
/plugins-bundled/external.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | {
4 | "name": "gel",
5 | "version": "0.6.0",
6 | "checksum": "eeab73565b0f167d3d576dc6da86d53419bff5bbb2ea927fae1cc2fe4b52f55f"
7 | }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/DashboardSettings/index.ts:
--------------------------------------------------------------------------------
1 | export { SettingsCtrl } from './SettingsCtrl';
2 | export { DashboardSettings } from './DashboardSettings';
3 | export { TimePickerSettings } from './TimePickerSettings';
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/mysql/config:
--------------------------------------------------------------------------------
1 | [database]
2 | DB_TYPE = mysql
3 | HOST = ${DB_1_PORT_3306_TCP_ADDR}:${DB_1_PORT_3306_TCP_PORT}
4 | NAME = ${DB_1_ENV_MYSQL_DATABASE}
5 | USER = ${DB_1_ENV_MYSQL_USER}
6 | PASSWD = ${DB_1_ENV_MYSQL_PASSWORD}
7 |
--------------------------------------------------------------------------------
/docs/sources/shared/example.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Shared Content
3 | ---
4 |
5 | ```
6 | npm i
7 | ```
8 |
9 | Syntax to invoke this file would be the following, minus the backslash:
10 |
11 | ```
12 | \{{< docs/shared "example" >}}
13 | ```
--------------------------------------------------------------------------------
/e2e/kill-server:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | . e2e/variables
4 |
5 | if [ -f "$PIDFILE" ]; then
6 | echo -e "Found pidfile, killing running grafana-server"
7 | kill -9 `cat $PIDFILE`
8 | rm $PIDFILE
9 | fi
10 |
11 | rm -rf e2e/tmp
12 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'production') {
4 | module.exports = require('./index.production.js');
5 | } else {
6 | module.exports = require('./index.development.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/flows/assertSuccessNotification.ts:
--------------------------------------------------------------------------------
1 | import { e2e } from '../index';
2 |
3 | export const assertSuccessNotification = () => {
4 | e2e()
5 | .get('[aria-label^="Alert success"]')
6 | .should('exist');
7 | };
8 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Icon/assets/types.ts:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | export interface SvgProps extends React.HTMLAttributes {
4 | size: number;
5 | secondaryColor?: string;
6 | className?: string;
7 | }
8 |
--------------------------------------------------------------------------------
/plugins-bundled/internal/input-datasource/README.md:
--------------------------------------------------------------------------------
1 | # Direct Input Data Source - Bundled Plugin
2 |
3 | This data source lets you define results directly in CSV. The values are stored either in a shared data source, or directly in panels.
4 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/testdata/components/index.ts:
--------------------------------------------------------------------------------
1 | export { StreamingClientEditor } from './StreamingClientEditor';
2 | export { ManualEntryEditor } from './ManualEntryEditor';
3 | export { RandomWalkEditor } from './RandomWalkEditor';
4 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/logs/types.ts:
--------------------------------------------------------------------------------
1 | import { LogsSortOrder } from '@grafana/data';
2 |
3 | export interface Options {
4 | showLabels: boolean;
5 | showTime: boolean;
6 | wrapLogMessage: boolean;
7 | sortOrder: LogsSortOrder;
8 | }
9 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/pluginlist/README.md:
--------------------------------------------------------------------------------
1 | # Plugin List Panel - Native Plugin
2 |
3 | The Plugin List plans shows the installed plugins for your Grafana instance and is **included** with Grafana. It is used on the default Home dashboard.
4 |
--------------------------------------------------------------------------------
/scripts/build/update_repo/sign-rpm-repo.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env expect
2 |
3 | set password [lindex $argv 0]
4 | spawn gpg --detach-sign --armor /rpm-repo/repodata/repomd.xml
5 | expect "Enter passphrase: "
6 | send -- "$password\r"
7 | expect eof
8 |
--------------------------------------------------------------------------------
/docs/sources/developers/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Developers"
3 | type = "docs"
4 | aliases = ["/docs/plugins/developing/"]
5 | +++
6 |
7 | # Developers
8 |
9 | This section of the documentation contains pages with resources for Grafana developers.
--------------------------------------------------------------------------------
/e2e/variables:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | RUNDIR=e2e/tmp
4 | PIDFILE=$RUNDIR/pid
5 | PACKAGE_FILE=dist/grafana-*linux-amd64.tar.gz
6 | PROV_DIR=$RUNDIR/conf/provisioning
7 | DEFAULT_HOST=localhost
8 | DEFAULT_PORT=3001
9 | DEFAULT_SUITE=suite1
10 |
--------------------------------------------------------------------------------
/grafana-mixin/Makefile:
--------------------------------------------------------------------------------
1 | all: fmt lint build clean
2 |
3 | fmt:
4 | ./scripts/format.sh
5 |
6 | lint:
7 | ./scripts/lint.sh
8 |
9 | build:
10 | ./scripts/build.sh
11 |
12 | clean:
13 | rm -rf dashboards_out alerts.yaml rules.yaml
14 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/double-default/default-2.yaml:
--------------------------------------------------------------------------------
1 | notifiers:
2 | - name: second-default
3 | type: email
4 | uid: notifier2
5 | is_default: true
6 | settings:
7 | addresses: example@example.com
--------------------------------------------------------------------------------
/plugins-bundled/README.md:
--------------------------------------------------------------------------------
1 | Bundled Plugins
2 | ===============
3 |
4 | Bundled plugins are built as true plugins, and managed by the grafana install.
5 |
6 | TODO: the packaging system should move all `dist` items to the root and remove sources.
7 |
--------------------------------------------------------------------------------
/public/app/features/explore/JSONViewer.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | export default function({ value }: any) {
4 | return (
5 |
6 |
{JSON.stringify(value, undefined, 2)}
7 |
8 | );
9 | }
10 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/dashboard/index.ts:
--------------------------------------------------------------------------------
1 | export { isSharedDashboardQuery, runSharedRequest } from './runSharedRequest';
2 | export { DashboardQueryEditor } from './DashboardQueryEditor';
3 | export { SHARED_DASHBODARD_QUERY } from './types';
4 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/dashboard/types.ts:
--------------------------------------------------------------------------------
1 | import { DataQuery } from '@grafana/data';
2 |
3 | export const SHARED_DASHBODARD_QUERY = '-- Dashboard --';
4 |
5 | export interface DashboardQuery extends DataQuery {
6 | panelId?: number;
7 | }
8 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/contoso_loans_grafana_dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/contoso_loans_grafana_dashboard.png
--------------------------------------------------------------------------------
/public/app/plugins/panel/piechart/types.ts:
--------------------------------------------------------------------------------
1 | import { PieChartType, SingleStatBaseOptions } from '@grafana/ui';
2 |
3 | export interface PieChartOptions extends SingleStatBaseOptions {
4 | pieType: PieChartType;
5 | strokeWidth: number;
6 | }
7 |
--------------------------------------------------------------------------------
/public/sass/layout/_lists.scss:
--------------------------------------------------------------------------------
1 | .ui-list {
2 | margin: 0;
3 | padding: 0;
4 | list-style: none;
5 |
6 | > li {
7 | margin-bottom: $space-xs;
8 |
9 | &:last-child {
10 | margin-bottom: 0;
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/usr/local/bin/manage.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | PYTHONPATH=/opt/graphite/webapp django-admin.py syncdb --settings=graphite.settings
3 | # PYTHONPATH=/opt/graphite/webapp django-admin.py update_users --settings=graphite.settings
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/Inspector/types.ts:
--------------------------------------------------------------------------------
1 | export enum InspectTab {
2 | Data = 'data',
3 | Meta = 'meta', // When result metadata exists
4 | Error = 'error',
5 | Stats = 'stats',
6 | JSON = 'json',
7 | Query = 'query',
8 | }
9 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_3_app_insights_api_details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_3_app_insights_api_details.png
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/etc/service/carbon-aggregator/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | rm -f /opt/graphite/storage/carbon-aggregator-a.pid
4 | exec /usr/bin/python /opt/graphite/bin/carbon-aggregator.py start --debug 2>&1 >> /var/log/carbon-aggregator.log
5 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/types/orgs.ts:
--------------------------------------------------------------------------------
1 | export interface UserOrgDTO {
2 | orgId: number;
3 | name: string;
4 | role: OrgRole;
5 | }
6 |
7 | export enum OrgRole {
8 | Admin = 'Admin',
9 | Editor = 'Editor',
10 | Viewer = 'Viewer',
11 | }
12 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Segment/types.ts:
--------------------------------------------------------------------------------
1 | import { ReactElement } from 'react';
2 |
3 | export interface SegmentProps {
4 | Component?: ReactElement;
5 | className?: string;
6 | allowCustomValue?: boolean;
7 | placeholder?: string;
8 | }
9 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/SingleStatShared/index.ts:
--------------------------------------------------------------------------------
1 | export {
2 | SingleStatBaseOptions,
3 | sharedSingleStatMigrationHandler,
4 | convertOldAngularValueMapping,
5 | sharedSingleStatPanelChangedHandler,
6 | } from './SingleStatBaseOptions';
7 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/insert-two-delete-two/two-datasources.yml:
--------------------------------------------------------------------------------
1 | datasources:
2 | - name: Graphite
3 | type: graphite
4 | access: proxy
5 | url: http://localhost:8080
6 | delete_datasources:
7 | - name: old-graphite3
8 |
--------------------------------------------------------------------------------
/pkg/tsdb/graphite/types.go:
--------------------------------------------------------------------------------
1 | package graphite
2 |
3 | import "github.com/grafana/grafana/pkg/tsdb"
4 |
5 | type TargetResponseDTO struct {
6 | Target string `json:"target"`
7 | DataPoints tsdb.TimeSeriesPoints `json:"datapoints"`
8 | }
9 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/components/TransformationsEditor/types.ts:
--------------------------------------------------------------------------------
1 | import { DataTransformerConfig } from '@grafana/data';
2 |
3 | export interface TransformationsEditorTransformation {
4 | transformation: DataTransformerConfig;
5 | id: string;
6 | }
7 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_2_azure_monitor_api_details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/img/config_2_azure_monitor_api_details.png
--------------------------------------------------------------------------------
/packages/grafana-runtime/README.md:
--------------------------------------------------------------------------------
1 | # Grafana Runtime library
2 |
3 | > **@grafana/runtime is currently in BETA**.
4 |
5 | This package allows access to grafana services. It requires Grafana to be running already and the functions to be imported as externals.
6 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/insert-two-delete-two/one-datasources.yaml:
--------------------------------------------------------------------------------
1 | datasources:
2 | - name: Prometheus
3 | type: prometheus
4 | access: proxy
5 | url: http://localhost:9090
6 | delete_datasources:
7 | - name: old-graphite
8 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/types/select.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Used in select elements
3 | */
4 | export interface SelectableValue {
5 | label?: string;
6 | value?: T;
7 | imgUrl?: string;
8 | description?: string;
9 | [key: string]: any;
10 | }
11 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/utils/object.ts:
--------------------------------------------------------------------------------
1 | export const objRemoveUndefined = (obj: any) => {
2 | return Object.keys(obj).reduce((acc: any, key) => {
3 | if (obj[key] !== undefined) {
4 | acc[key] = obj[key];
5 | }
6 | return acc;
7 | }, {});
8 | };
9 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Table/Table.mdx:
--------------------------------------------------------------------------------
1 | import { Props, Preview } from "@storybook/addon-docs/blocks";
2 | import { Table } from "./Table";
3 |
4 | # Table
5 |
6 | Used for displaying tabular data
7 |
8 | ## Usage
9 |
10 |
11 |
--------------------------------------------------------------------------------
/packages/jaeger-ui-components/src/common/__snapshots__/NewWindowIcon.test.js.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`NewWindowIcon renders as expected 1`] = `
4 |
8 | `;
9 |
--------------------------------------------------------------------------------
/public/app/core/lodash_extended.ts:
--------------------------------------------------------------------------------
1 | import _ from 'lodash';
2 |
3 | /*
4 | Mixins :)
5 | */
6 | _.mixin({
7 | move: (array, fromIndex, toIndex) => {
8 | array.splice(toIndex, 0, array.splice(fromIndex, 1)[0]);
9 | return array;
10 | },
11 | });
12 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/gettingstarted/module.ts:
--------------------------------------------------------------------------------
1 | import { PanelPlugin } from '@grafana/data';
2 | import { GettingStarted } from './GettingStarted';
3 |
4 | // Simplest possible panel plugin
5 | export const plugin = new PanelPlugin(GettingStarted).setNoPadding();
6 |
--------------------------------------------------------------------------------
/devenv/bulk_alerting_dashboards/bulk_alerting_dashboards.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | providers:
4 | - name: 'Bulk alerting dashboards'
5 | folder: 'Bulk alerting dashboards'
6 | type: file
7 | options:
8 | path: devenv/bulk_alerting_dashboards
9 |
10 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/etc/logrotate.d/graphite-statsd:
--------------------------------------------------------------------------------
1 | /var/log/*.log /var/log/*/*.log {
2 | weekly
3 | size 50M
4 | missingok
5 | rotate 10
6 | compress
7 | delaycompress
8 | notifempty
9 | copytruncate
10 | su root syslog
11 | }
12 |
--------------------------------------------------------------------------------
/grafana-mixin/scripts/format.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | cd "$(dirname "$0")"/..
5 |
6 | . scripts/common.sh
7 |
8 | find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \
9 | xargs -n 1 -- ${JSONNET_FMT} -i
10 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/field/FieldConfigOptionsRegistry.tsx:
--------------------------------------------------------------------------------
1 | import { Registry } from '../utils/Registry';
2 | import { FieldConfigPropertyItem } from '../types/fieldOverrides';
3 |
4 | export class FieldConfigOptionsRegistry extends Registry {}
5 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/templates/index.ts:
--------------------------------------------------------------------------------
1 | export { componentTpl } from './component.tsx.template';
2 | export { storyTpl } from './story.tsx.template';
3 | export { docsTpl } from './docs.mdx.template';
4 | export { testTpl } from './component.test.tsx.template';
5 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/FormField/_FormField.scss:
--------------------------------------------------------------------------------
1 | .form-field {
2 | display: flex;
3 | flex-direction: row;
4 | align-items: flex-start;
5 | text-align: left;
6 | position: relative;
7 |
8 | &--grow {
9 | flex-grow: 1;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/InputControl.tsx:
--------------------------------------------------------------------------------
1 | /**
2 | * Rollup does not support renamed exports so do not change this to export { Controller as InputControl } ...
3 | */
4 | import { Controller } from 'react-hook-form';
5 | export const InputControl = Controller;
6 |
--------------------------------------------------------------------------------
/pkg/cmd/grafana-cli/commands/testdata/grafana-simple-json-datasource-ec18fa4da8096a952608a7e4c7782b4260b41bcf.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zen/grafana/master/pkg/cmd/grafana-cli/commands/testdata/grafana-simple-json-datasource-ec18fa4da8096a952608a7e4c7782b4260b41bcf.zip
--------------------------------------------------------------------------------
/conf/provisioning/dashboards/sample.yaml:
--------------------------------------------------------------------------------
1 | # # config file version
2 | apiVersion: 1
3 |
4 | #providers:
5 | # - name: 'default'
6 | # orgId: 1
7 | # folder: ''
8 | # folderUid: ''
9 | # type: file
10 | # options:
11 | # path: /var/lib/grafana/dashboards
12 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/etc/service/graphite/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | export PYTHONPATH=/opt/graphite/webapp && exec /usr/local/bin/gunicorn wsgi --workers=4 --bind=127.0.0.1:8080 --log-file=/var/log/gunicorn.log --preload --pythonpath=/opt/graphite/webapp/graphite
4 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/openldap/prepopulate/1_units.ldif:
--------------------------------------------------------------------------------
1 | dn: ou=groups,dc=grafana,dc=org
2 | ou: Groups
3 | objectclass: top
4 | objectclass: organizationalUnit
5 |
6 | dn: ou=users,dc=grafana,dc=org
7 | ou: Users
8 | objectclass: top
9 | objectclass: organizationalUnit
10 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/utils/testdata/roundtrip.csv:
--------------------------------------------------------------------------------
1 | #name#a,b,c
2 | #type#number,string,boolean
3 | #unit#ms,,s
4 | 10,"this ""has quotes"" inside",true
5 | 20,XX,false
6 | 30,YY,false
7 | 40,ZZ,true
8 | 50,"X,Y",true
9 | 60,"X
10 | Y",true
11 | 70,BB,false
12 |
13 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/cypress/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "declaration": false,
4 | "module": "commonjs",
5 | "types": ["cypress", "cypress-file-upload"]
6 | },
7 | "extends": "@grafana/tsconfig",
8 | "include": ["**/*.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/test/cypress/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@grafana/toolkit/src/config/tsconfig.plugin.json",
3 | "include": ["**/*.ts"],
4 | "compilerOptions": {
5 | "baseUrl": "../node_modules",
6 | "types": ["cypress", "cypress-file-upload"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/pkg/models/home_dashboard.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | import "time"
4 |
5 | type HomeDashboard struct {
6 | Id int64
7 | UserId int64
8 | AccountId int64
9 |
10 | Created time.Time
11 | Updated time.Time
12 |
13 | Data map[string]interface{}
14 | }
15 |
--------------------------------------------------------------------------------
/public/app/core/utils/factors.ts:
--------------------------------------------------------------------------------
1 | // Returns the factors of a number
2 | // Example getFactors(12) -> [1, 2, 3, 4, 6, 12]
3 | export default function getFactors(num: number): number[] {
4 | return Array.from(new Array(num + 1), (_, i) => i).filter(i => num % i === 0);
5 | }
6 |
--------------------------------------------------------------------------------
/scripts/build/ci-build/build-deploy.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | _version="1.2.28"
5 | _tag="grafana/build-container:${_version}"
6 |
7 | _dpath=$(dirname "${BASH_SOURCE[0]}")
8 | cd "$_dpath"
9 |
10 | docker build -t $_tag .
11 | docker push $_tag
12 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/prometheus/alert.rules:
--------------------------------------------------------------------------------
1 | # Alert Rules
2 |
3 | ALERT AppCrash
4 | IF process_open_fds > 0
5 | FOR 15s
6 | LABELS { severity="critical" }
7 | ANNOTATIONS {
8 | summary = "Number of open fds > 0",
9 | description = "Just testing"
10 | }
11 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci-e2e/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM debian:buster-slim
2 |
3 | USER root
4 | ENV DEBIAN_FRONTEND=noninteractive
5 |
6 | COPY scripts scripts
7 | COPY install /usr/local
8 |
9 | RUN cd scripts && ./deploy.sh
10 | ENV DEBIAN_FRONTEND=newt
11 |
--------------------------------------------------------------------------------
/public/app/core/specs/factors.test.ts:
--------------------------------------------------------------------------------
1 | import getFactors from 'app/core/utils/factors';
2 |
3 | describe('factors', () => {
4 | it('should return factors for 12', () => {
5 | const factors = getFactors(12);
6 | expect(factors).toEqual([1, 2, 3, 4, 6, 12]);
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/public/app/core/utils/applyStateChanges.ts:
--------------------------------------------------------------------------------
1 | export type MutateStateFunc = (state: S) => S;
2 |
3 | export const applyStateChanges = (state: S, ...args: Array>): S => {
4 | return args.reduce((all, cur) => {
5 | return cur(all);
6 | }, state);
7 | };
8 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/mixed/plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "datasource",
3 | "name": "-- Mixed --",
4 | "id": "mixed",
5 |
6 | "builtIn": true,
7 | "mixed": true,
8 | "metrics": true,
9 |
10 | "queryOptions": {
11 | "minInterval": true
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/public/app/types/location.ts:
--------------------------------------------------------------------------------
1 | import { UrlQueryMap } from '@grafana/data';
2 |
3 | export interface LocationState {
4 | url: string;
5 | path: string;
6 | query: UrlQueryMap;
7 | routeParams: UrlQueryMap;
8 | replace: boolean;
9 | lastUpdated: number;
10 | }
11 |
--------------------------------------------------------------------------------
/public/sass/components/_panel_alertlist.scss:
--------------------------------------------------------------------------------
1 | .panel-alert-list {
2 | overflow-y: auto;
3 | }
4 |
5 | .panel-alert-list__no-alerts {
6 | display: flex;
7 | align-items: center;
8 | justify-content: center;
9 | width: 100%;
10 | height: calc(100% - 30px);
11 | }
12 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | [
4 | "@babel/preset-env",
5 | {
6 | "targets": {
7 | "browsers": "last 3 versions"
8 | },
9 | "useBuiltIns": "entry",
10 | "modules": "false",
11 | }
12 | ]
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/devenv/dashboards.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | providers:
4 | - name: 'gdev dashboards'
5 | folder: 'gdev dashboards'
6 | folderUid: ''
7 | type: file
8 | allowUiUpdates: false
9 | updateIntervalSeconds: 60
10 | options:
11 | path: devenv/dev-dashboards
12 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/prometheus_basic_auth_proxy/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | # This will proxy all requests for http://localhost:10090 to
2 | # http://prometheus:9090 (Prometheus inside the docker compose)
3 |
4 | nginxproxy:
5 | build: docker/blocks/nginx_proxy
6 | network_mode: host
7 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/broken-yaml/broken.yaml:
--------------------------------------------------------------------------------
1 | notifiers:
2 | - name: notification-channel-1
3 | type: slack
4 | org_id: 2
5 | is_default: true
6 | settings:
7 | recipient: "XXX"
8 | token: "xoxb"
9 | uploadImage: true
--------------------------------------------------------------------------------
/devenv/docker/buildcontainer/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker kill gfbuild
4 | docker rm gfbuild
5 |
6 | docker build --tag "grafana/buildcontainer" docker/buildcontainer
7 |
8 | docker run -i -t \
9 | -v /home/torkel/dev/go:/go \
10 | --name gfbuild grafana/buildcontainer
11 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/text/markdown.test.ts:
--------------------------------------------------------------------------------
1 | import { renderMarkdown } from './markdown';
2 |
3 | describe('Markdown wrapper', () => {
4 | it('should be able to handle undefined value', () => {
5 | const str = renderMarkdown(undefined);
6 | expect(str).toBe('');
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/types/templateVars.ts:
--------------------------------------------------------------------------------
1 | export type VariableType = 'query' | 'adhoc' | 'constant' | 'datasource' | 'interval' | 'textbox' | 'custom' | 'system';
2 |
3 | export interface VariableModel {
4 | type: VariableType;
5 | name: string;
6 | label: string | null;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/vector/vectorToArray.ts:
--------------------------------------------------------------------------------
1 | import { Vector } from '../types/vector';
2 |
3 | export function vectorToArray(v: Vector): T[] {
4 | const arr: T[] = [];
5 | for (let i = 0; i < v.length; i++) {
6 | arr[i] = v.get(i);
7 | }
8 | return arr;
9 | }
10 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/List/List.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { ListProps, AbstractList } from './AbstractList';
3 |
4 | export class List extends React.PureComponent> {
5 | render() {
6 | return ;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/pkg/tsdb/prometheus/types.go:
--------------------------------------------------------------------------------
1 | package prometheus
2 |
3 | import "time"
4 |
5 | type PrometheusQuery struct {
6 | Expr string
7 | Step time.Duration
8 | LegendFormat string
9 | Start time.Time
10 | End time.Time
11 | RefId string
12 | }
13 |
--------------------------------------------------------------------------------
/scripts/build/ci-msi-build/testbuild.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | _image="ee-msi-build"
4 | _container="ee-build"
5 |
6 | docker build -t $_image .
7 |
8 | docker run --rm -d --name $_container $_image sleep 100
9 | docker cp $_container:/tmp/scratch .
10 | docker stop $_container
11 |
12 |
--------------------------------------------------------------------------------
/scripts/verify-repo-update/rpm-oss-stable.list:
--------------------------------------------------------------------------------
1 | [grafana]
2 | name=grafana
3 | baseurl=https://packages.grafana.com/oss/rpm
4 | repo_gpgcheck=1
5 | enabled=1
6 | gpgcheck=1
7 | gpgkey=https://packages.grafana.com/gpg.key
8 | sslverify=1
9 | sslcacert=/etc/pki/tls/certs/ca-bundle.crt
10 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/multiple-openldap/admins-ldap-server/prepopulate/3_groups.ldif:
--------------------------------------------------------------------------------
1 | dn: cn=admins,ou=groups,dc=grafana,dc=org
2 | cn: admins
3 | objectClass: groupOfNames
4 | objectClass: top
5 | member: cn=ldap-admin,ou=users,dc=grafana,dc=org
6 | member: cn=ldap-torkel,ou=users,dc=grafana,dc=org
7 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/flows/editPanel.ts:
--------------------------------------------------------------------------------
1 | import { configurePanel, PartialEditPanelConfig } from './configurePanel';
2 |
3 | export const editPanel = (config: Partial) =>
4 | configurePanel({
5 | ...config,
6 | isEdit: true,
7 | isExplore: false,
8 | });
9 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Badge/Badge.mdx:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Badge
4 |
5 | The badge component adds meta information to other content, for example about release status or new elements. You can add any `Icon` component or use the badge without an icon.
6 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Monaco/CodeEditor.mdx:
--------------------------------------------------------------------------------
1 | import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
2 | import { CodeEditor } from './CodeEditorLazy';
3 |
4 |
5 |
6 | # CodeEditor
7 |
8 | Monaco Code editor
9 |
--------------------------------------------------------------------------------
/pkg/api/dtos/ngalert.go:
--------------------------------------------------------------------------------
1 | package dtos
2 |
3 | import (
4 | "time"
5 |
6 | eval "github.com/grafana/grafana/pkg/services/ngalert"
7 | )
8 |
9 | type EvalAlertConditionCommand struct {
10 | Condition eval.Condition `json:"condition"`
11 | Now time.Time `json:"now"`
12 | }
13 |
--------------------------------------------------------------------------------
/scripts/verify-repo-update/rpm-ee-stable.list:
--------------------------------------------------------------------------------
1 | [grafana]
2 | name=grafana
3 | baseurl=https://packages.grafana.com/enterprise/rpm
4 | repo_gpgcheck=1
5 | enabled=1
6 | gpgcheck=1
7 | gpgkey=https://packages.grafana.com/gpg.key
8 | sslverify=1
9 | sslcacert=/etc/pki/tls/certs/ca-bundle.crt
10 |
--------------------------------------------------------------------------------
/scripts/verify-repo-update/rpm-oss-beta.list:
--------------------------------------------------------------------------------
1 | [grafana]
2 | name=grafana
3 | baseurl=https://packages.grafana.com/oss/rpm-beta
4 | repo_gpgcheck=1
5 | enabled=1
6 | gpgcheck=1
7 | gpgkey=https://packages.grafana.com/gpg.key
8 | sslverify=1
9 | sslcacert=/etc/pki/tls/certs/ca-bundle.crt
10 |
--------------------------------------------------------------------------------
/scripts/version.star:
--------------------------------------------------------------------------------
1 | load(
2 | 'scripts/release.star',
3 | 'release_pipelines',
4 | )
5 |
6 | ver_mode = 'version-branch'
7 |
8 | def version_branch_pipelines():
9 | return release_pipelines(ver_mode=ver_mode, trigger={
10 | 'ref': ['refs/heads/v*',],
11 | })
12 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/multiple-openldap/ldap-server/prepopulate/1_units.ldif:
--------------------------------------------------------------------------------
1 | dn: ou=groups,dc=grafana,dc=org
2 | ou: Groups
3 | objectclass: top
4 | objectclass: organizationalUnit
5 |
6 | dn: ou=users,dc=grafana,dc=org
7 | ou: Users
8 | objectclass: top
9 | objectclass: organizationalUnit
10 |
--------------------------------------------------------------------------------
/pkg/services/login/errors.go:
--------------------------------------------------------------------------------
1 | package login
2 |
3 | import "errors"
4 |
5 | var (
6 | ErrInvalidCredentials = errors.New("Invalid Username or Password")
7 | ErrUsersQuotaReached = errors.New("Users quota reached")
8 | ErrGettingUserQuota = errors.New("Error getting user quota")
9 | )
10 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/dashboards/testdata/test-configs/dashboards-from-disk/sample.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | #providers:
4 | #- name: 'gasdf'
5 | # orgId: 2
6 | # folder: 'developers'
7 | # editable: true
8 | # type: file
9 | # options:
10 | # path: /var/lib/grafana/dashboards
11 |
--------------------------------------------------------------------------------
/plugins-bundled/internal/input-datasource/src/utils.ts:
--------------------------------------------------------------------------------
1 | import { toDataFrame, DataFrameDTO, toCSV } from '@grafana/data';
2 |
3 | export function dataFrameToCSV(dto?: DataFrameDTO[]) {
4 | if (!dto || !dto.length) {
5 | return '';
6 | }
7 | return toCSV(dto.map(v => toDataFrame(v)));
8 | }
9 |
--------------------------------------------------------------------------------
/scripts/grunt/options/clean.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | 'use strict';
3 |
4 | return {
5 | release: ['<%= destDir %>', '<%= tempDir %>', '<%= genDir %>'],
6 | build: ['<%= srcDir %>/build'],
7 | temp: ['<%= tempDir %>'],
8 | packaging: [],
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/scripts/grunt/options/sasslint.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | 'use strict';
3 | return {
4 | options: {
5 | configFile: 'public/sass/.sass-lint.yml',
6 | },
7 | src: ['public/sass/**/*.scss', 'packages/**/*.scss', '!**/node_modules/**/*.scss'],
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/scripts/verify-repo-update/rpm-ee-beta.list:
--------------------------------------------------------------------------------
1 | [grafana]
2 | name=grafana
3 | baseurl=https://packages.grafana.com/enterprise/rpm-beta
4 | repo_gpgcheck=1
5 | enabled=1
6 | gpgcheck=1
7 | gpgkey=https://packages.grafana.com/gpg.key
8 | sslverify=1
9 | sslcacert=/etc/pki/tls/certs/ca-bundle.crt
10 |
--------------------------------------------------------------------------------
/conf/provisioning/plugins/sample.yaml:
--------------------------------------------------------------------------------
1 | # # config file version
2 | apiVersion: 1
3 |
4 | # apps:
5 | # - type: grafana-example-app
6 | # org_name: Main Org.
7 | # disabled: true
8 | # - type: raintank-worldping-app
9 | # org_id: 1
10 | # jsonData:
11 | # apiKey: "API KEY"
12 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/multiple-openldap/admins-ldap-server/prepopulate/1_units.ldif:
--------------------------------------------------------------------------------
1 | dn: ou=groups,dc=grafana,dc=org
2 | ou: Groups
3 | objectclass: top
4 | objectclass: organizationalUnit
5 |
6 | dn: ou=users,dc=grafana,dc=org
7 | ou: Users
8 | objectclass: top
9 | objectclass: organizationalUnit
10 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/zipkin/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | # There is no data generator for this so easiest way to get some data here is run this example app
2 | # https://github.com/openzipkin/zipkin-js-example/tree/master/web
3 | zipkin:
4 | image: openzipkin/zipkin:latest
5 | ports:
6 | - "9411:9411"
7 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/templates/component.tsx.template.ts:
--------------------------------------------------------------------------------
1 | export const componentTpl = `import React, { FC } from 'react';
2 |
3 | export interface Props {};
4 |
5 | export const <%= name %>: FC = (props) => {
6 | return (
7 | Hello world!
8 | )
9 | };
10 | `;
11 |
--------------------------------------------------------------------------------
/pkg/models/address.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | type Address struct {
4 | Address1 string `json:"address1"`
5 | Address2 string `json:"address2"`
6 | City string `json:"city"`
7 | ZipCode string `json:"zipCode"`
8 | State string `json:"state"`
9 | Country string `json:"country"`
10 | }
11 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/postgres_tests/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | postgrestest:
2 | build:
3 | context: docker/blocks/postgres_tests
4 | environment:
5 | POSTGRES_USER: grafanatest
6 | POSTGRES_PASSWORD: grafanatest
7 | ports:
8 | - "5432:5432"
9 | tmpfs: /var/lib/postgresql/data:rw
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci-e2e/common.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ##
4 | ## Common variable declarations
5 | ##
6 |
7 | DOCKER_IMAGE_BASE_NAME="grafana/grafana-plugin-ci-e2e"
8 | DOCKER_IMAGE_VERSION="1.0.1"
9 | DOCKER_IMAGE_NAME="${DOCKER_IMAGE_BASE_NAME}:${DOCKER_IMAGE_VERSION}"
10 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/List/InlineList.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { ListProps, AbstractList } from './AbstractList';
3 |
4 | export class InlineList extends React.PureComponent> {
5 | render() {
6 | return ;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/utils/storybook/useSize.ts:
--------------------------------------------------------------------------------
1 | import { select } from '@storybook/addon-knobs';
2 | import { ComponentSize } from '../../types/size';
3 |
4 | export function useSize(size: ComponentSize = 'md') {
5 | const sizes = ['xs', 'sm', 'md', 'lg'];
6 | return select('Size', sizes, size);
7 | }
8 |
--------------------------------------------------------------------------------
/public/app/core/services/all.ts:
--------------------------------------------------------------------------------
1 | import './alert_srv';
2 | import './util_srv';
3 | import './context_srv';
4 | import './timer';
5 | import './analytics';
6 | import './popover_srv';
7 | import './segment_srv';
8 | import './backend_srv';
9 | import './dynamic_directive_srv';
10 | import './bridge_srv';
11 |
--------------------------------------------------------------------------------
/scripts/circle-test-mysql.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # shellcheck source=./scripts/helpers/exit-if-fail.sh
4 | source "$(dirname "$0")/helpers/exit-if-fail.sh"
5 |
6 | export GRAFANA_TEST_DB=mysql
7 |
8 | time for d in $(go list ./pkg/...); do
9 | exit_if_fail go test -tags=integration "$d"
10 | done
11 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/opentsdb/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | opentsdb:
2 | image: petergrace/opentsdb-docker:latest
3 | ports:
4 | - "4242:4242"
5 |
6 | fake-opentsdb-data:
7 | image: grafana/fake-data-gen
8 | network_mode: bridge
9 | environment:
10 | FD_DATASOURCE: opentsdb
11 |
12 |
--------------------------------------------------------------------------------
/pkg/models/search.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | type SearchHit struct {
4 | Id int64 `json:"id"`
5 | Title string `json:"title"`
6 | Uri string `json:"uri"`
7 | Type string `json:"type"`
8 | Tags []string `json:"tags"`
9 | IsStarred bool `json:"isStarred"`
10 | }
11 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/datasources/testdata/two-datasources/two-datasources.yaml:
--------------------------------------------------------------------------------
1 | datasources:
2 | - name: Graphite
3 | type: graphite
4 | access: proxy
5 | url: http://localhost:8080
6 | - name: Prometheus
7 | type: prometheus
8 | access: proxy
9 | url: http://localhost:9090
10 |
--------------------------------------------------------------------------------
/scripts/circle-test-postgres.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # shellcheck source=./scripts/helpers/exit-if-fail.sh
4 | source "$(dirname "$0")/helpers/exit-if-fail.sh"
5 |
6 | export GRAFANA_TEST_DB=postgres
7 |
8 | time for d in $(go list ./pkg/...); do
9 | exit_if_fail go test -tags=integration "$d"
10 | done
11 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/openldap/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | openldap:
2 | container_name: ldap
3 | build: docker/blocks/openldap
4 | environment:
5 | SLAPD_PASSWORD: grafana
6 | SLAPD_DOMAIN: grafana.org
7 | SLAPD_ADDITIONAL_MODULES: memberof
8 | ports:
9 | - "389:389"
10 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/sources/whatsnew/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "What's new in Grafana"
3 | aliases = ["/docs/grafana/latest/guides/"]
4 | [menu.docs]
5 | name = "What's New In Grafana"
6 | identifier = "whatsnew"
7 | weight = 140
8 | +++
9 |
10 | # What's new
11 |
12 | This section contains pages with Grafana release notes.
13 |
--------------------------------------------------------------------------------
/emails/grunt/replace.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | dist: {
3 | overwrite: true,
4 | src: ['dist/*.html'],
5 | replacements: [
6 | {
7 | from: '[[',
8 | to: '{{',
9 | },
10 | {
11 | from: ']]',
12 | to: '}}',
13 | },
14 | ],
15 | },
16 | };
17 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/flows/saveDashboard.ts:
--------------------------------------------------------------------------------
1 | import { e2e } from '../index';
2 |
3 | export const saveDashboard = () => {
4 | e2e.pages.Dashboard.Toolbar.toolbarItems('Save dashboard').click();
5 |
6 | e2e.pages.SaveDashboardModal.save().click();
7 |
8 | e2e.flows.assertSuccessNotification();
9 | };
10 |
--------------------------------------------------------------------------------
/packages/grafana-runtime/src/services/index.ts:
--------------------------------------------------------------------------------
1 | export * from './backendSrv';
2 | export * from './AngularLoader';
3 | export * from './dataSourceSrv';
4 | export * from './LocationSrv';
5 | export * from './EchoSrv';
6 | export * from './templateSrv';
7 | export * from './legacyAngularInjector';
8 | export * from './live';
9 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/EmptySearchResult/_EmptySearchResult.scss:
--------------------------------------------------------------------------------
1 | .empty-search-result {
2 | border-left: 3px solid $info-box-border-color;
3 | background-color: $empty-list-cta-bg;
4 | padding: $spacer;
5 | min-width: 350px;
6 | border-radius: $border-radius;
7 | margin-bottom: $spacer * 2;
8 | }
9 |
--------------------------------------------------------------------------------
/pkg/middleware/perf.go:
--------------------------------------------------------------------------------
1 | package middleware
2 |
3 | import (
4 | "net/http"
5 |
6 | "github.com/grafana/grafana/pkg/models"
7 | "gopkg.in/macaron.v1"
8 | )
9 |
10 | func MeasureRequestTime() macaron.Handler {
11 | return func(res http.ResponseWriter, req *http.Request, c *models.ReqContext) {
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/grafana/README.md:
--------------------------------------------------------------------------------
1 | # Grafana Fake Data Datasource - Native Plugin
2 |
3 | This is the built in Fake Data Datasource that is used before any datasources are set up in your Grafana installation. It means you can create a graph without any data and still get an idea of what it would look like.
4 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/heatmap/README.md:
--------------------------------------------------------------------------------
1 | # Heatmap Panel - Native Plugin
2 |
3 | The Heatmap panel allows you to view histograms over time and is **included** with Grafana.
4 |
5 | Read more about it here:
6 |
7 | [http://docs.grafana.org/features/panels/heatmap/](http://docs.grafana.org/features/panels/heatmap/)
8 |
--------------------------------------------------------------------------------
/public/test/helpers/getDashboardModel.ts:
--------------------------------------------------------------------------------
1 | import { DashboardModel } from '../../app/features/dashboard/state';
2 |
3 | export const getDashboardModel = (json: any, meta: any = {}) => {
4 | const getVariablesFromState = () => json.templating.list;
5 | return new DashboardModel(json, meta, getVariablesFromState);
6 | };
7 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/mysql_opendata/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | mysql_opendata:
2 | build: docker/blocks/mysql_opendata
3 | environment:
4 | MYSQL_ROOT_PASSWORD: rootpass
5 | MYSQL_DATABASE: testdata
6 | MYSQL_USER: grafana
7 | MYSQL_PASSWORD: password
8 | ports:
9 | - "3307:3306"
10 |
--------------------------------------------------------------------------------
/e2e/wait-for-grafana:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | . e2e/variables
5 |
6 | HOST=${HOST:-$DEFAULT_HOST}
7 | PORT=${PORT:-$DEFAULT_PORT}
8 |
9 | echo -e "Waiting for grafana-server to finish starting, host=$HOST, port=$PORT"
10 |
11 | timeout 60 bash -c 'until nc -z $0 $1; do sleep 1; done' $HOST $PORT
12 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/types/input.ts:
--------------------------------------------------------------------------------
1 | export interface ValidationRule {
2 | rule: (valueToValidate: string) => boolean;
3 | errorMessage: string;
4 | }
5 |
6 | export interface ValidationEvents {
7 | // Event name should be one of EventsWithValidation enum
8 | [eventName: string]: ValidationRule[];
9 | }
10 |
--------------------------------------------------------------------------------
/pkg/util/math.go:
--------------------------------------------------------------------------------
1 | package util
2 |
3 | // MaxInt returns the larger of x or y.
4 | func MaxInt(x, y int) int {
5 | if x < y {
6 | return y
7 | }
8 | return x
9 | }
10 |
11 | // MinInt returns the smaller of x or y.
12 | func MinInt(x, y int) int {
13 | if x > y {
14 | return y
15 | }
16 | return x
17 | }
18 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/cloud-monitoring/partials/annotations.editor.html:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/img/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #2b5797
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/prometheus2/alert.yml:
--------------------------------------------------------------------------------
1 | groups:
2 | - name: ALERT
3 | rules:
4 | - alert: AppCrash
5 | expr: process_open_fds > 0
6 | for: 15s
7 | labels:
8 | severity: critical
9 | annotations:
10 | summary: Number of open fds > 0
11 | description: Just testing
12 |
--------------------------------------------------------------------------------
/e2e/start-and-run-suite:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | . e2e/variables
4 |
5 | if [ "$BASE_URL" != "" ]; then
6 | echo -e "BASE_URL set, skipping starting server"
7 | else
8 | # Start it in the background
9 | ./e2e/start-server 2>&1 > e2e/server.log &
10 | ./e2e/wait-for-grafana
11 | fi
12 |
13 | ./e2e/run-suite "$@"
14 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/text/index.ts:
--------------------------------------------------------------------------------
1 | export * from './string';
2 | export * from './markdown';
3 | export * from './text';
4 | import { escapeHtml, hasAnsiCodes, sanitize, sanitizeUrl } from './sanitize';
5 |
6 | export const textUtil = {
7 | escapeHtml,
8 | hasAnsiCodes,
9 | sanitize,
10 | sanitizeUrl,
11 | };
12 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/docker/grafana-plugin-ci/test/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | function finish {
4 | echo "Exiting and cleaning up docker image"
5 | docker-compose down
6 | }
7 | trap finish EXIT
8 |
9 | # Enter the docker container
10 | docker-compose run citest bash -c "cd /home/circleci; exec bash --login -i"
11 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/webpack.config.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const { cloneDeep } = require('lodash');
3 |
4 | module.exports.getWebpackConfig = (originalConfig, options) => {
5 | const config = cloneDeep(originalConfig);
6 | config.name = 'customConfig';
7 | return config;
8 | };
9 |
--------------------------------------------------------------------------------
/pkg/tsdb/influxdb/flux/testdata/non_standard_time_column.csv:
--------------------------------------------------------------------------------
1 | #group,false,false,true,true,false,true
2 | #datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,double,string
3 | #default,_result,,,,,
4 | ,result,table,_start_water,_stop_water,_value,st
5 | ,,0,2020-06-28T17:50:13.012584046Z,2020-06-29T17:50:13.012584046Z,156.304,1
6 |
--------------------------------------------------------------------------------
/scripts/helpers/exit-if-fail.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | function exit_if_fail {
4 | # shellcheck disable=SC2124
5 | command=$@
6 | echo "Executing '$command'"
7 | eval "$command"
8 | rc=$?
9 | if [ $rc -ne 0 ]; then
10 | echo "'$command' returned $rc."
11 | exit $rc
12 | fi
13 | }
14 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/elastic1/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | elasticsearch1:
2 | image: elasticsearch:1.7.6
3 | command: elasticsearch -Des.network.host=0.0.0.0
4 | ports:
5 | - "11200:9200"
6 | - "11300:9300"
7 | volumes:
8 | - ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
9 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/PanelOptionsGrid/_PanelOptionsGrid.scss:
--------------------------------------------------------------------------------
1 | .panel-options-grid {
2 | display: grid;
3 | grid-template-columns: repeat(1, 1fr);
4 | grid-row-gap: 10px;
5 | grid-column-gap: 10px;
6 |
7 | @include media-breakpoint-up(lg) {
8 | grid-template-columns: repeat(3, 1fr);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/plugins/testdata/test-configs/correct-properties/correct-properties.yaml:
--------------------------------------------------------------------------------
1 | apps:
2 | - type: $ENABLE_PLUGIN_VAR
3 | org_id: 2
4 | disabled: false
5 | - type: test-plugin-2
6 | org_id: 3
7 | disabled: true
8 | - type: test-plugin
9 | org_name: Org 3
10 | - type: test-plugin-2
11 |
--------------------------------------------------------------------------------
/public/app/features/manage-dashboards/types.ts:
--------------------------------------------------------------------------------
1 | export interface Snapshot {
2 | created: string;
3 | expires: string;
4 | external: boolean;
5 | externalUrl: string;
6 | id: number;
7 | key: string;
8 | name: string;
9 | orgId: number;
10 | updated: string;
11 | url?: string;
12 | userId: number;
13 | }
14 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/opentsdb/README.md:
--------------------------------------------------------------------------------
1 | # OpenTSDB Data Source - Native Plugin
2 |
3 | Grafana ships with **built in** support for OpenTSDB, a scalable, distributed time series database.
4 |
5 | Read more about it here:
6 |
7 | [http://docs.grafana.org/datasources/opentsdb/](http://docs.grafana.org/datasources/opentsdb/)
8 |
--------------------------------------------------------------------------------
/packages/grafana-data/src/dataframe/index.ts:
--------------------------------------------------------------------------------
1 | export * from './DataFrameView';
2 | export * from './FieldCache';
3 | export * from './CircularDataFrame';
4 | export * from './MutableDataFrame';
5 | export * from './processDataFrame';
6 | export * from './dimensions';
7 | export * from './ArrowDataFrame';
8 | export * from './ArrayDataFrame';
9 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/templates/component.test.tsx.template.ts:
--------------------------------------------------------------------------------
1 | export const testTpl = `
2 | import React from 'react';
3 | import { shallow } from 'enzyme';
4 | import { <%= name %> } from './<%= name %>';
5 |
6 |
7 | describe('<%= name %>', () => {
8 | it.skip('should render', () => {
9 |
10 | });
11 | });
12 | `;
13 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/mocks/jestSetup/overrides/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "jest": {
3 | "moduleNameMapper": {
4 | "someOverride": "somePath"
5 | },
6 | "snapshotSerializers": "serializers",
7 | "globalSetup": "path",
8 | "globalTeardown": "path",
9 | "testEnvironment": "node"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/jaeger-ui-components/src/common/__snapshots__/UiFindInput.test.js.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`UiFindInput rendering renders as expected 1`] = `
4 | }
9 | />
10 | `;
11 |
--------------------------------------------------------------------------------
/pkg/util/shortid_generator_test.go:
--------------------------------------------------------------------------------
1 | package util
2 |
3 | import "testing"
4 |
5 | func TestAllowedCharMatchesUidPattern(t *testing.T) {
6 | for _, c := range allowedChars {
7 | if !IsValidShortUID(string(c)) {
8 | t.Fatalf("charset for creating new shortids contains chars not present in uid pattern")
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/public/app/core/mod_defs.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'app/core/controllers/all' {
2 | let json: any;
3 | export { json };
4 | }
5 |
6 | declare module 'app/core/routes/all' {
7 | let json: any;
8 | export { json };
9 | }
10 |
11 | declare module 'app/core/services/all' {
12 | let json: any;
13 | export default json;
14 | }
15 |
--------------------------------------------------------------------------------
/public/app/features/dashboard/state/selectors.ts:
--------------------------------------------------------------------------------
1 | import { DashboardState, PanelState } from 'app/types';
2 |
3 | export function getPanelStateById(state: DashboardState, panelId: number): PanelState {
4 | if (!panelId) {
5 | return {} as PanelState;
6 | }
7 |
8 | return state.panels[panelId] ?? ({} as PanelState);
9 | }
10 |
--------------------------------------------------------------------------------
/public/app/features/search/constants.ts:
--------------------------------------------------------------------------------
1 | export const NO_ID_SECTIONS = ['Recent', 'Starred'];
2 | // Height of the search result item
3 | export const SEARCH_ITEM_HEIGHT = 48;
4 | export const SEARCH_ITEM_MARGIN = 4;
5 | export const DEFAULT_SORT = { label: 'A-Z', value: 'alpha-asc' };
6 | export const SECTION_STORAGE_KEY = 'search.sections';
7 |
--------------------------------------------------------------------------------
/public/img/icons_dark_theme/icon_remove.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/scripts/build/ci-build-windows/README.md:
--------------------------------------------------------------------------------
1 | # Windows Build Docker Image
2 | This directory contains a Dockerfile for building a Windows based image containing
3 | our CI build environment.
4 |
5 | To build the Docker image:
6 |
7 | ```
8 | mage
9 | ```
10 |
11 | To publish the Docker image:
12 |
13 | ```
14 | mage publish
15 | ```
16 |
--------------------------------------------------------------------------------
/scripts/grunt/options/webpack.js:
--------------------------------------------------------------------------------
1 | const dev = require('../../webpack/webpack.dev.js');
2 | const prod = require('../../webpack/webpack.prod.js');
3 |
4 | module.exports = function() {
5 | 'use strict';
6 | return {
7 | options: {
8 | stats: false,
9 | },
10 | dev: dev,
11 | prod: prod,
12 | };
13 | };
14 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/flows/setDashboardTimeRange.ts:
--------------------------------------------------------------------------------
1 | import { e2e } from '../index';
2 | import { setTimeRange, TimeRangeConfig } from './setTimeRange';
3 |
4 | export { TimeRangeConfig };
5 |
6 | export const setDashboardTimeRange = (config: TimeRangeConfig) =>
7 | e2e.pages.Dashboard.Toolbar.navBar().within(() => setTimeRange(config));
8 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/tsconfig.plugin.local.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "rootDir": "./src",
4 | "baseUrl": "./src",
5 | "typeRoots": ["./node_modules/@types"],
6 | "jsx": "react"
7 | },
8 | "extends": "@grafana/toolkit/src/config/tsconfig.plugin.json",
9 | "include": ["src", "types"]
10 | }
11 |
--------------------------------------------------------------------------------
/pkg/plugins/testdata/unsigned/plugin/plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "datasource",
3 | "name": "Test",
4 | "id": "test",
5 | "backend": true,
6 | "state": "alpha",
7 | "info": {
8 | "description": "Test",
9 | "author": {
10 | "name": "Grafana Labs",
11 | "url": "https://grafana.com"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/public/app/features/annotations/all.ts:
--------------------------------------------------------------------------------
1 | import { AnnotationsSrv } from './annotations_srv';
2 | import { eventEditor } from './event_editor';
3 | import { EventManager } from './event_manager';
4 | import { annotationTooltipDirective } from './annotation_tooltip';
5 | export { AnnotationsSrv, eventEditor, EventManager, annotationTooltipDirective };
6 |
--------------------------------------------------------------------------------
/ROADMAP.md:
--------------------------------------------------------------------------------
1 | # Roadmap
2 |
3 | The roadmap is a tentative plan for the core development team. Things change constantly as pull requests come in and priorities change, but it will give you an idea of our current vision and plan.
4 |
5 | To view the Roadmap, go to the Issues tab on GitHub. There you will find three roadmap issues pinned at the top.
6 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/smtp/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM centos:centos7
2 | LABEL maintainer="Przemyslaw Ozgo "
3 |
4 | RUN \
5 | yum update -y && \
6 | yum install -y net-snmp net-snmp-utils && \
7 | yum clean all
8 |
9 | COPY bootstrap.sh /tmp/bootstrap.sh
10 |
11 | EXPOSE 161
12 |
13 | ENTRYPOINT ["/tmp/bootstrap.sh"]
14 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "declarationDir": "dist",
4 | "outDir": "compiled",
5 | "rootDirs": ["."],
6 | "typeRoots": ["node_modules/@types"]
7 | },
8 | "exclude": ["dist", "node_modules"],
9 | "extends": "@grafana/tsconfig",
10 | "include": ["src/**/*.ts"]
11 | }
12 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/config/utils/getPluginId.ts:
--------------------------------------------------------------------------------
1 | import path from 'path';
2 |
3 | let PLUGIN_ID: string;
4 |
5 | export const getPluginId = () => {
6 | if (!PLUGIN_ID) {
7 | const pluginJson = require(path.resolve(process.cwd(), 'src/plugin.json'));
8 | PLUGIN_ID = pluginJson.id;
9 | }
10 | return PLUGIN_ID;
11 | };
12 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Segment/index.ts:
--------------------------------------------------------------------------------
1 | export { Segment } from './Segment';
2 | export { SegmentAsync } from './SegmentAsync';
3 | export { SegmentSelect } from './SegmentSelect';
4 | export { SegmentInput } from './SegmentInput';
5 | export { SegmentProps } from './types';
6 | export { useExpandableLabel } from './useExpandableLabel';
7 |
--------------------------------------------------------------------------------
/pkg/util/split_email.go:
--------------------------------------------------------------------------------
1 | package util
2 |
3 | import "strings"
4 |
5 | // SplitEmails splits addresses with a few different ways
6 | func SplitEmails(emails string) []string {
7 | return strings.FieldsFunc(emails, func(r rune) bool {
8 | switch r {
9 | case ',', ';', '\n':
10 | return true
11 | }
12 | return false
13 | })
14 | }
15 |
--------------------------------------------------------------------------------
/public/app/core/hooks/useRefMounted.ts:
--------------------------------------------------------------------------------
1 | import { useRef, useEffect } from 'react';
2 |
3 | export const useRefMounted = () => {
4 | const refMounted = useRef(false);
5 | useEffect(() => {
6 | refMounted.current = true;
7 | return () => {
8 | refMounted.current = false;
9 | };
10 | });
11 | return refMounted;
12 | };
13 |
--------------------------------------------------------------------------------
/public/app/features/org/__snapshots__/OrgProfile.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Render should render component 1`] = `
4 |
14 | `;
15 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/zipkin/utils/transforms.test.ts:
--------------------------------------------------------------------------------
1 | import { transformResponse } from './transforms';
2 | import { jaegerTrace, zipkinResponse } from './testData';
3 |
4 | describe('transformResponse', () => {
5 | it('transforms response', () => {
6 | expect(transformResponse(zipkinResponse)).toEqual(jaegerTrace);
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/graph/types.ts:
--------------------------------------------------------------------------------
1 | export interface GraphPanelOptions {
2 | // Panel level options
3 | }
4 |
5 | export interface GraphFieldConfig {
6 | // Custom field properties
7 | }
8 |
9 | export interface DataWarning {
10 | title: string;
11 | tip: string;
12 | action?: () => void;
13 | actionText?: string;
14 | }
15 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite1/conf/opt/graphite/conf/blacklist.conf:
--------------------------------------------------------------------------------
1 | # This file takes a single regular expression per line
2 | # If USE_WHITELIST is set to True in carbon.conf, any metrics received which
3 | # match one of these expressions will be dropped
4 | # This file is reloaded automatically when changes are made
5 | ^some\.noisy\.metric\.prefix\..*
6 |
--------------------------------------------------------------------------------
/packages/grafana-e2e-selectors/src/selectors/index.ts:
--------------------------------------------------------------------------------
1 | import { Pages } from './pages';
2 | import { Components } from './components';
3 | import { E2ESelectors } from '../types';
4 |
5 | export const selectors: { pages: E2ESelectors; components: E2ESelectors } = {
6 | pages: Pages,
7 | components: Components,
8 | };
9 |
--------------------------------------------------------------------------------
/packages/grafana-toolkit/src/cli/tasks/template.ts:
--------------------------------------------------------------------------------
1 | import { Task, TaskRunner } from './task';
2 |
3 | interface TemplateOptions {}
4 |
5 | const templateRunner: TaskRunner = async () => {
6 | console.log('Template task');
7 | };
8 |
9 | export const templateTask = new Task('Template task', templateRunner);
10 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Forms/Legacy/Input/__snapshots__/Input.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Input renders correctly 1`] = `
4 |
11 |
14 |
15 | `;
16 |
--------------------------------------------------------------------------------
/pkg/plugins/testdata/behind-feature-flag/gel/plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "transform",
3 | "name": "GEL",
4 | "id": "gel",
5 | "backend": true,
6 | "info": {
7 | "description": "Test",
8 | "version": "1.0.0",
9 | "author": {
10 | "name": "Grafana Labs",
11 | "url": "https://grafana.com"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/pkg/plugins/testdata/invalid-signature/plugin/plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "datasource",
3 | "name": "Test",
4 | "id": "test",
5 | "backend": true,
6 | "state": "alpha",
7 | "info": {
8 | "description": "Test",
9 | "author": {
10 | "name": "Grafana Labs",
11 | "url": "https://grafana.com"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/pkg/plugins/testdata/lacking-files/plugin/plugin.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "datasource",
3 | "name": "Test",
4 | "id": "test",
5 | "backend": true,
6 | "info": {
7 | "description": "Test",
8 | "version": "1.0.0",
9 | "author": {
10 | "name": "Grafana Labs",
11 | "url": "https://grafana.com"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/pkg/services/provisioning/notifiers/testdata/test-configs/incorrect-settings/incorrect-settings.yaml:
--------------------------------------------------------------------------------
1 | notifiers:
2 | - name: slack-notification-without-url-in-settings
3 | type: slack
4 | org_id: 2
5 | uid: notifier1
6 | is_default: true
7 | settings:
8 | recipient: "XXX"
9 | token: "xoxb"
10 | uploadImage: true
--------------------------------------------------------------------------------
/public/app/features/datasources/settings/TlsAuthSettingsCtrl.ts:
--------------------------------------------------------------------------------
1 | import { coreModule } from 'app/core/core';
2 |
3 | coreModule.directive('datasourceTlsAuthSettings', () => {
4 | return {
5 | scope: {
6 | current: '=',
7 | },
8 | templateUrl: 'public/app/features/datasources/partials/tls_auth_settings.html',
9 | };
10 | });
11 |
--------------------------------------------------------------------------------
/public/app/features/plugins/partials/plugin_page.html:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/annolist/README.md:
--------------------------------------------------------------------------------
1 | # Annotation List Panel - Native Plugin
2 |
3 | This Annotations List panel is **included** with Grafana.
4 |
5 | However, it is presently in alpha and is not accessible unless alpha panels are [enabled in Grafana settings](https://grafana.com/docs/grafana/latest/administration/configuration/#enable_alpha)
6 |
7 |
--------------------------------------------------------------------------------
/public/app/plugins/panel/graph/README.md:
--------------------------------------------------------------------------------
1 | # Graph Panel
2 |
3 | This is the main Graph panel and is **included** with Grafana. It provides a very rich set of graphing options.
4 |
5 | For full reference documentation:
6 |
7 | [https://grafana.com/docs/grafana/latest/features/panels/graph/](https://grafana.com/docs/grafana/latest/features/panels/graph/)
8 |
--------------------------------------------------------------------------------
/public/img/icons_dark_theme/icon_arrow_left.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/public/img/icons_light_theme/icon_arrow_left.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/scripts/build/ci-wix/README.md:
--------------------------------------------------------------------------------
1 | # WiX Docker Image
2 | This directory contains a Dockerfile for building a Windows based image containing
3 | the WiX toolkit, that we use to build Windows installers.
4 |
5 | To build the Docker image:
6 |
7 | ```
8 | mage
9 | ```
10 |
11 | To publish the Docker image:
12 |
13 | ```
14 | mage publish
15 | ```
16 |
--------------------------------------------------------------------------------
/scripts/webpack/loaders/blobUrl.js:
--------------------------------------------------------------------------------
1 | const loaderUtils = require('loader-utils');
2 |
3 | module.exports = function blobUrl(source) {
4 | const { type } = loaderUtils.getOptions(this) || {};
5 | return `module.exports = URL.createObjectURL(new Blob([${JSON.stringify(source)}]${
6 | type ? `, { type: ${JSON.stringify(type)} }` : ''
7 | }));`;
8 | };
9 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/collectd/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | collectd:
2 | build: docker/blocks/collectd
3 | environment:
4 | HOST_NAME: myserver
5 | GRAPHITE_HOST: graphite
6 | GRAPHITE_PORT: 2003
7 | GRAPHITE_PREFIX: collectd.
8 | REPORT_BY_CPU: 'false'
9 | COLLECT_INTERVAL: 10
10 | links:
11 | - graphite
12 |
--------------------------------------------------------------------------------
/grafana-mixin/scripts/lint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | cd "$(dirname "$0")"/..
5 |
6 | . scripts/common.sh
7 |
8 | find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \
9 | while read f; do \
10 | ${JSONNET_FMT} "$f" | diff -u "$f" -; \
11 | done
12 |
13 | mixtool lint mixin.libsonnet
14 |
--------------------------------------------------------------------------------
/packages/grafana-data/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-restricted-imports": ["error", { "patterns": ["@grafana/runtime", "@grafana/ui", "@grafana/data"] }]
4 | },
5 | "overrides": [
6 | {
7 | "files": ["**/*.test.{ts,tsx}"],
8 | "rules": {
9 | "no-restricted-imports": "off"
10 | }
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/plugins-bundled/internal/input-datasource/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../../packages/grafana-toolkit/src/config/tsconfig.plugin.json",
3 | "include": ["src", "types"],
4 | "compilerOptions": {
5 | "rootDir": "./src",
6 | "baseUrl": "./src",
7 | "typeRoots": ["./node_modules/@types", "../../../node_modules/@types"]
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/public/app/core/components/sidemenu/utils.ts:
--------------------------------------------------------------------------------
1 | import { getConfig } from 'app/core/config';
2 |
3 | export const getForcedLoginUrl = (url: string) => {
4 | const queryParams = new URLSearchParams(url.split('?')[1]);
5 | queryParams.append('forceLogin', 'true');
6 |
7 | return `${getConfig().appSubUrl}${url.split('?')[0]}?${queryParams.toString()}`;
8 | };
9 |
--------------------------------------------------------------------------------
/public/app/core/utils/model_utils.ts:
--------------------------------------------------------------------------------
1 | export function assignModelProperties(target: any, source: any, defaults: any, removeDefaults?: undefined) {
2 | for (const key in defaults) {
3 | if (!defaults.hasOwnProperty(key)) {
4 | continue;
5 | }
6 |
7 | target[key] = source[key] === undefined ? defaults[key] : source[key];
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/public/img/icons_light_theme/icon_remove.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/scripts/trigger_grafana_packer.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | _circle_token=$1
4 |
5 | trigger_build_url="https://circleci.com/api/v1/project/grafana/grafana-packer/tree/master?circle-token=${_circle_token}"
6 |
7 | curl \
8 | --header "Accept: application/json" \
9 | --header "Content-Type: application/json" \
10 | --request POST "${trigger_build_url}"
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/2-feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Enhancement request
3 | about: Suggest an enhancement or new feature for the Grafana project
4 | labels: 'type: feature request'
5 | ---
6 |
7 |
8 |
9 | **What would you like to be added**:
10 |
11 | **Why is this needed**:
12 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/graphite/files/storage-schemas.conf:
--------------------------------------------------------------------------------
1 | [carbon]
2 | pattern = ^carbon\..*
3 | retentions = 1m:31d,10m:1y,1h:5y
4 |
5 | [highres]
6 | pattern = ^highres.*
7 | retentions = 1s:1d,1m:7d
8 |
9 | [statsd]
10 | pattern = ^statsd.*
11 | retentions = 1m:7d,10m:1y
12 |
13 | [default]
14 | pattern = .*
15 | retentions = 10s:1d,1m:7d,10m:1y
16 |
17 |
--------------------------------------------------------------------------------
/devenv/docker/blocks/traefik/traefik.yml:
--------------------------------------------------------------------------------
1 | ## traefik.yml
2 |
3 | # Entrypoints enabled
4 | entryPoints:
5 | web:
6 | address: ':80'
7 |
8 | # API and dashboard configuration
9 | api:
10 | insecure: true
11 |
12 | # Loggings
13 | log: {}
14 |
15 | # File configurations folder
16 | providers:
17 | file:
18 | directory: /etc/traefik/configs
19 |
--------------------------------------------------------------------------------
/emails/grunt/watch.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | src: {
3 | files: [
4 | //what are the files that we want to watch
5 | 'assets/css/*.css',
6 | 'templates/**/*.html',
7 | 'grunt/*.js',
8 | ],
9 | tasks: ['default'],
10 | options: {
11 | nospawn: true,
12 | livereload: false,
13 | },
14 | },
15 | };
16 |
--------------------------------------------------------------------------------
/grafana-mixin/rules/rules.yaml:
--------------------------------------------------------------------------------
1 | groups:
2 | - name: grafana_rules
3 | rules:
4 | # Record error rate of http requests excluding dataproxy, /ds/query and /tsdb/query requests
5 | - record: namespace_job_handler_statuscode:http_request_total:rate5m
6 | expr: |
7 | sum by (namespace, job, handler, statuscode) (rate(http_request_total[5m]))
8 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/cypress/support/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare namespace Cypress {
4 | interface Chainable {
5 | compareScreenshots(config: CompareScreenshotsConfig | string): Chainable;
6 | logToConsole(message: string, optional?: any): void;
7 | readProvisions(filePaths: string[]): Chainable;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/packages/grafana-ui/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-restricted-imports": ["error", { "patterns": ["@grafana/runtime", "@grafana/ui", "@grafana/e2e"] }]
4 | },
5 | "overrides": [
6 | {
7 | "files": ["**/*.{test,story}.{ts,tsx}"],
8 | "rules": {
9 | "no-restricted-imports": "off"
10 | }
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/PanelOptionsGrid/PanelOptionsGrid.tsx:
--------------------------------------------------------------------------------
1 | import React, { SFC } from 'react';
2 |
3 | interface Props {
4 | cols?: number;
5 | children: JSX.Element[] | JSX.Element;
6 | }
7 |
8 | export const PanelOptionsGrid: SFC = ({ children }) => {
9 | return {children}
;
10 | };
11 |
--------------------------------------------------------------------------------
/packages/grafana-ui/src/components/Tooltip/__snapshots__/Tooltip.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Tooltip renders correctly 1`] = `
4 |
10 | Link with tooltip
11 |
12 | `;
13 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/mysql/types.ts:
--------------------------------------------------------------------------------
1 | import { MetricFindValue } from '@grafana/data';
2 |
3 | export interface MysqlQueryForInterpolation {
4 | alias?: any;
5 | format?: any;
6 | rawSql?: any;
7 | refId?: any;
8 | hide?: any;
9 | }
10 |
11 | export interface MysqlMetricFindValue extends MetricFindValue {
12 | value?: string;
13 | }
14 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/opentsdb/types.ts:
--------------------------------------------------------------------------------
1 | import { DataQuery, DataSourceJsonData } from '@grafana/data';
2 |
3 | export interface OpenTsdbQuery extends DataQuery {
4 | metric?: any;
5 | }
6 |
7 | export interface OpenTsdbOptions extends DataSourceJsonData {
8 | tsdbVersion: number;
9 | tsdbResolution: number;
10 | lookupLimit: number;
11 | }
12 |
--------------------------------------------------------------------------------
/public/app/plugins/datasource/prometheus/README.md:
--------------------------------------------------------------------------------
1 | # Prometheus Data Source - Native Plugin
2 |
3 | Grafana ships with **built in** support for Prometheus, the open-source service monitoring system and time series database.
4 |
5 | Read more about it here:
6 |
7 | [http://docs.grafana.org/datasources/prometheus/](http://docs.grafana.org/datasources/prometheus/)
8 |
--------------------------------------------------------------------------------
/public/sass/components/_page_loader.scss:
--------------------------------------------------------------------------------
1 | .page-loader-wrapper {
2 | padding-top: 100px;
3 | display: flex;
4 | align-items: center;
5 | justify-content: center;
6 | flex-direction: column;
7 |
8 | &__spinner {
9 | font-size: 32px;
10 | margin-bottom: $space-sm;
11 | }
12 |
13 | &__text {
14 | font-size: 14px;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["@grafana/eslint-config"],
3 | "root": true,
4 | "overrides": [
5 | {
6 | "files": ["packages/grafana-ui/**/*/!(*.story).{ts,tsx}", "public/app/**/*.{ts,tsx}"],
7 | "rules": {
8 | "react-hooks/rules-of-hooks": "off",
9 | "react-hooks/exhaustive-deps": "off"
10 | }
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/packages/grafana-e2e/src/support/selector.ts:
--------------------------------------------------------------------------------
1 | export interface SelectorApi {
2 | fromAriaLabel: (selector: string) => string;
3 | fromSelector: (selector: string) => string;
4 | }
5 |
6 | export const Selector: SelectorApi = {
7 | fromAriaLabel: (selector: string) => `[aria-label="${selector}"]`,
8 | fromSelector: (selector: string) => selector,
9 | };
10 |
--------------------------------------------------------------------------------
/pkg/api/dtos/stream.go:
--------------------------------------------------------------------------------
1 | package dtos
2 |
3 | import "encoding/json"
4 |
5 | type StreamMessage struct {
6 | Stream string `json:"stream"`
7 | Series []StreamMessageSeries `json:"series"`
8 | }
9 |
10 | type StreamMessageSeries struct {
11 | Name string `json:"name"`
12 | Datapoints [][]json.Number `json:"datapoints"`
13 | }
14 |
--------------------------------------------------------------------------------