The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Go to file
Drew Slobodnjak 2502fe4d19
Canvas: Add Pan and Zoom (#76705)
* Canvas: Add Zoom

* Scale selecto components based on zoom state

* Fix pan by reverting to 3.1.0 for zoom-pan

* Update to latest library that fixes pan regression

* Add mini map to canvas pan zoom

* Fix selecto and anchors on hover

* Update naming to be more clear

* Switch back to contentComponent

* Apply transformScale to drag and resize

* Update connection source and target scaling

* Add option to display mini map

* Update yarn lock

* Revert "Update yarn lock"

This reverts commit 3d1dd65d57.

* Set yarn lock to main

* Revert "Set yarn lock to main"

This reverts commit 64bc50557e.

* Update to Yarn 4

* Add react-zoom-pan-pinch

* Update react-zoom-pan checksum

* Revert changes to json files

* Remove last line of api merged

* Remove last lines of all impacted jsons

* Update home json

* Update coordinate calc function to include scale

* Fix types in coordinate calc function

* Fix util calculation for transform

* Fix arrow anchor shift behavior

* Fix scale offset when adding elements during zoom

* Fix drag of selected group during zoom

* Add feature flag for canvas pan zoom

* Revert "Add feature flag for canvas pan zoom"

This reverts commit b026e31d8d.

* Regenerate feature flag after merge

* Apply feature flag to enable pan zoom wrappers

* Add mini map toggle behind feature flag

* Simplify minimap behavior

* Update feature flag registry

* Set minimap to false by default

* fix gen-cue

* Set toggles gen to main

Add blank line to toggle gen csv

* Add canvas pan zoom to csv

* Remove old comment

* Change ref parameter to be more descriptive

* Rename visibleFun to be more descriptive

* Consolidate transformScale transformRef in util

* Remove non-null assertion on connection parentRect

* Consolidate parentRect null coalescing into object

* Remove minimap and change toggle

* Add controls inline help for pan and zoom

* Clean up mouse events

* Pull scale out of ref and isolate transform

* Remove transform ref from scene div

* Fix context menu visible behavior

* Fix connections and update util functions

* Move transform component instance to util

* fix backend test

* minor updates

* Clean up connections / fix minor bug where offset of arrow wasn't being calculated correctly

* missed connection code cleanup

* cleanup scene code a bit more

* actually fix backend test

* move eslint disable line closer to actual issue

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-01-02 11:52:21 -08:00
.bingo Chore: Fix bingo variables for Windows (#73830) 2023-10-27 15:28:41 +02:00
.changelog-archive Docs: Remove old plugin docs, fix URLs to go to new dev portal (#75325) 2023-09-29 07:43:48 +01:00
.github Chore: First step towards a github action that regularly notifies about feature toggle cleanup (#79912) 2024-01-02 13:12:18 +01:00
.husky Chore: Remove colours from old husky cleanup pre-commit hook (#73395) 2023-08-18 13:10:18 +00:00
.vim Chore: Upgrade yarn and editor sdks (#42847) 2021-12-08 14:40:24 +01:00
.vscode K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
.yarn Chore: Update to typescript 5 (#76511) 2023-11-07 13:20:20 +00:00
conf Alerting: Use the forked Alertmanager for remote secondary mode (#79646) 2023-12-21 15:26:31 +01:00
contribute Chore: Upgrade Go to 1.21.5 (#79329) 2023-12-15 10:36:49 +01:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv Tempo: Add note about how to send traces from grafana to devenv readme (#79893) 2024-01-02 15:00:25 +01:00
docs Canvas: Add Pan and Zoom (#76705) 2024-01-02 11:52:21 -08:00
e2e Live: Add dashboard E2E smoke test (#79880) 2023-12-27 13:31:09 -05:00
emails Alerting: Do not show grouping when grouplabels are empty in email template (#74090) 2023-08-30 13:02:23 +02:00
grafana-mixin DashboardSchema: Remove old unused legacy props style and timepicker.enable (#73879) 2023-08-28 12:18:17 +02:00
hack K8s/Folders: Add folders api service (with legacy storage) (#79413) 2023-12-20 20:28:56 +02:00
kinds K8s/Folders: Add folders api service (with legacy storage) (#79413) 2023-12-20 20:28:56 +02:00
local Packaging: Dockerfile copy local folder (#64766) 2023-03-14 14:44:11 -05:00
packages Canvas: Add Pan and Zoom (#76705) 2024-01-02 11:52:21 -08:00
packaging Chore: Update ubuntu image to 22.04 (#70719) 2023-09-28 08:48:41 -05:00
pkg Canvas: Add Pan and Zoom (#76705) 2024-01-02 11:52:21 -08:00
plugins-bundled Chore: Replace ts-loader in e2e and input-datasource (#76872) 2023-10-23 10:45:22 +02:00
public Canvas: Add Pan and Zoom (#76705) 2024-01-02 11:52:21 -08:00
scripts Chore: Update grabpl (#79758) 2023-12-20 17:07:55 +02:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Units: Add scalable unit option (#79411) 2024-01-02 18:40:57 +01:00
.betterer.ts Betterer: Add our own regexp matcher (#79448) 2023-12-15 12:12:56 +02:00
.bra.toml Chore: Remove redundant codegen step from .bra.tom (#62764) 2023-02-02 14:53:54 +01:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.codespellignore docs: what's new, add traces and k6 integration (#75401) 2023-10-04 12:04:48 -04:00
.dockerignore copy .github folder into golang build container since we rely on codeowners (#62122) 2023-01-25 10:31:16 -05:00
.drone.star Chore: Upgrade Go to 1.21.5 (#79329) 2023-12-15 10:36:49 +01:00
.drone.yml Chore: Update grabpl (#79758) 2023-12-20 17:07:55 +02:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Chore: fix .eslintignore to only ignore folder paths at the root (#72032) 2023-07-21 09:17:42 +01:00
.eslintrc Parca: Add standalone building configuration (#79896) 2024-01-02 16:36:57 +01:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
.golangci.toml Parca: Add standalone building configuration (#79896) 2024-01-02 16:36:57 +01:00
.levignore.js Adds levitate levignore configuration file to prevent breaking change notifications from expected typescript symbols (#74371) 2023-09-05 15:00:13 +02:00
.nvmrc Chore: Update to node 20 (#76097) 2023-10-26 09:34:50 +02:00
.pa11yci-pr.conf.js Chore: Remove core-js polyfills (#78715) 2023-11-29 11:12:23 -06:00
.pa11yci.conf.js Login: Improve accessibility of Login form (#78652) 2023-11-28 10:22:20 +00:00
.prettierignore Chore: Split OSS and Enterprise OAPI Spec Generation (#75133) 2023-09-25 15:34:57 -04:00
.prettierrc.js Toolkit: Remove deprecated plugin:build (#67485) 2023-04-28 14:33:16 +02:00
.yarnrc.yml Chore: Update to typescript 5 (#76511) 2023-11-07 13:20:20 +00:00
babel.config.json Chore: Remove core-js polyfills (#78715) 2023-11-29 11:12:23 -06:00
build.go Chore: move build command to importable package (#38726) 2021-09-03 11:24:21 -05:00
CHANGELOG.md Fix typo in CHANGELOG.md (#79394) 2023-12-27 09:22:59 +00:00
CODE_OF_CONDUCT.md Fixing typos (#70487) 2023-06-22 09:43:38 +01:00
CONTRIBUTING.md Docs: Fix link to developing plugins (#75816) 2023-10-03 09:57:53 -05:00
crowdin.yml Remove mandatory backport checks (#78678) 2023-11-28 14:03:32 +00:00
cypress.config.js Chore: Remove compareScreenshot + blink-diff dependency from core (#77920) 2023-11-09 13:18:12 +00:00
Dockerfile Chore: Upgrade Go to 1.21.5 (#79329) 2023-12-15 10:36:49 +01:00
embed.go extract kindsys to external library (#64562) 2023-03-15 12:04:28 -04:00
go.mod Alerting: Update alerting package and imports from cluster and clusterpb (#79786) 2023-12-21 12:34:48 +01:00
go.sum Alerting: Update alerting package and imports from cluster and clusterpb (#79786) 2023-12-21 12:34:48 +01:00
GOVERNANCE.md Governance: Update workplace (#63997) 2023-04-03 13:54:54 +02:00
HALL_OF_FAME.md Chore: Introducing a Grafana HALL_OF_FAME.md (#45878) 2022-05-18 20:13:11 +00:00
ISSUE_TRIAGE.md Docs: Update triage guide re feature requests (#73974) 2023-08-31 11:30:39 +02:00
jest.config.js Data trails: Sort related metrics and hide empty panels (#79397) 2023-12-20 13:14:57 +00:00
latest.json Chore: update latest.json to 10.2.3 (#79685) 2023-12-19 16:56:34 +00:00
lefthook.rc Chore: Replace Husky/Lint-staged with Lefthook (#66608) 2023-08-17 09:56:52 +00:00
lefthook.yml Chore: Replace Husky/Lint-staged with Lefthook (#66608) 2023-08-17 09:56:52 +00:00
lerna.json Chore: Bump Lerna to v7 (again) (#77190) 2023-10-27 12:57:09 +02:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Plugins: Remove deprecated grafana-toolkit (#73489) 2023-09-05 09:56:04 +02:00
MAINTAINERS.md Update codeowners (#73159) 2023-09-28 11:31:26 -07:00
Makefile Chore: Upgrade Go to 1.21.5 (#79329) 2023-12-15 10:36:49 +01:00
metadata.md Docs: Document plugin authentication in metadata schema (#32703) 2021-04-08 18:13:18 +02:00
NOTICE.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
package.json Canvas: Add Pan and Zoom (#76705) 2024-01-02 11:52:21 -08:00
README.md Docs: Invert logo color for dark theme in README (#76012) 2023-11-07 09:54:12 +00:00
ROADMAP.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
SECURITY.md Docs: Update SECURITY.md (#67985) 2023-06-21 07:34:42 +01:00
stylelint.config.js Update dependency stylelint-config-sass-guidelines to v10 (#71632) 2023-07-19 16:05:06 +01:00
SUPPORT.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
tsconfig.json Build testdata frontend standalone (#75833) 2023-10-16 17:31:43 +02:00
UPGRADING_DEPENDENCIES.md Bump publish docs node version (#46475) 2022-03-11 21:28:12 +01:00
WORKFLOW.md Docs: Update contrib documentation around backports (#73558) 2023-08-30 08:14:15 +02:00
yarn.lock Canvas: Add Pan and Zoom (#76705) 2024-01-02 11:52:21 -08:00

Grafana Logo (Light) Grafana Logo (Dark)

The open-source platform for monitoring and observability

License Drone Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:

  • Visualizations: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

This project is tested with BrowserStack

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.