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
owensmallwood 37d39de36d
Storage Api: Add metrics (#85316)
* Storage server runs own instrumentation server if its the sole target. Starts adding some sample metrics for now.

* adds metric for failed optimistic locks

* refactors metrics registration to own method on service for testability. Adds tests.

* Register sql storage server metrics from within the service

* fixes test

* troubleshooting drone test failures. Maybe timing when starting instrumentation server?

* Waits until instrumentation server has started. Updates tests.

* defer wont get called unless theres an error. removing.

* wait for instrumentation server to be running

* linter - close res body

* use port 3000 for metrics and removes test metric inc() call

* fixes test - updates port

* refactors module server to provide an instrumentation server module when there is no ALL or CORE target provided and running as single target

* make instrumentation server a dependency of all modules that do not run their own http server

* adds module server test

* adds tests for instrumentation service and removes old tests that aren't needed

* ignore error in test

* uses helper to start and run service

* when running wait on ctx done or http server err

* wait for http server

* removes println

* updates module server test to be integration test

* require no error in goroutine

* skips integration test when GRAFANA_TEST_DB not defined

* move http server start into start, verify returned content

* make test error when run fails

* try waiting longer and see if drone tests pass

* update integration test mysql creds to match drone

* go back to only waiting half second

* debug log drone mysql connection string

* use same db connection config as drone

* try using same hostname as drone

* cant use localhost as mysql hostname in drone tests. Need to parse it from the cfg db connection string

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-08 08:35:01 -06:00
.bingo Chore: Bump golangci-lint v1.57.1 (#84998) 2024-03-25 15:28:24 +01:00
.changelog-archive Update links to default Grafana branch (#83025) 2024-02-29 17:08:45 +02:00
.github Bump slackapi/slack-github-action from 1.24.0 to 1.25.0 (#85052) 2024-04-08 09:36:15 +02: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: standalone authenticator that allows a type of downstream forwarding (#85130) 2024-03-28 20:52:28 +02:00
.yarn Update Yarn to v4.1.1 (#85350) 2024-04-02 10:25:30 +01:00
conf Chore: Fix spelling (#85435) 2024-04-08 11:08:43 +03:00
contribute I18n: Add Brazilian Portuguese (#84461) 2024-03-21 13:51:30 +02:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv Canvas: Fix ellipse datalink example in gdev dashboard (#85398) 2024-03-29 23:53:27 -07:00
docs Docs: fix link text (#85701) 2024-04-08 10:07:27 -04:00
e2e Chore: Use latest version of plugin-e2e (#85669) 2024-04-08 08:54:27 +02:00
emails Refactor: Email verification (#84393) 2024-03-14 13:25:28 +01:00
grafana-mixin DashboardSchema: Remove old unused legacy props style and timepicker.enable (#73879) 2023-08-28 12:18:17 +02:00
hack QueryService: Use types from sdk (#84029) 2024-03-08 18:12:59 +02:00
kinds Core: Remove thema and kindsys dependencies (#84499) 2024-03-21 11:11:29 +01:00
local Packaging: Dockerfile copy local folder (#64766) 2023-03-14 14:44:11 -05:00
packages GrafanaUI: DateTimePicker - replace HorizontalGroup with Stack component (#85663) 2024-04-08 12:44:01 +02:00
packaging Alerting: Remove legacy alerting (#83671) 2024-03-14 15:36:35 +01:00
pkg Storage Api: Add metrics (#85316) 2024-04-08 08:35:01 -06:00
plugins-bundled Chore: Delete Input Datasource (#83163) 2024-03-18 09:48:19 +01:00
public PublicDashboards: Footer fix for scenes (#85684) 2024-04-08 09:44:27 -03:00
scripts E2C: Start connecting on-prem to real apis (#85527) 2024-04-03 13:47:02 -04:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Detect folder changes when saving a dashboard (#85378) 2024-04-08 13:06:50 +03:00
.betterer.results.json Traces: Add traces panel suggestion (#83089) 2024-02-21 13:49:41 +00:00
.betterer.ts Betterer: improve the deprecated layout components usage tracking (#85648) 2024-04-05 13:40:46 +02:00
.bra.toml Make: Speed up make run by removing redundant make go-gen in .bra (#84827) 2024-03-20 16:39:49 +01:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02: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: Run backend lint in PRs if .golangci.toml changes (#85106) 2024-03-25 18:53:54 +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 Jaeger: Decouple Jaeger plugin (#81377) 2024-03-19 15:39:31 +02:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore Chore: ignore Go coverage .out files (#84702) 2024-03-19 10:55:33 -03:00
.golangci.toml Auth: Extended JWT client for OBO and Service Authentication (#83814) 2024-04-02 17:45:15 +02: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 Pa11y: Decrease error thresholds for PRs (#85178) 2024-03-27 12:29:54 +01:00
.pa11yci.conf.js Login: Improve accessibility of Login form (#78652) 2023-11-28 10:22:20 +00:00
.prettierignore Chore: Remove docs and kinds report generators (#83277) 2024-02-23 20:06:43 +01:00
.prettierrc.js Toolkit: Remove deprecated plugin:build (#67485) 2023-04-28 14:33:16 +02:00
.yarnrc.yml Update Yarn to v4.1.1 (#85350) 2024-04-02 10:25:30 +01:00
build.go Chore: move build command to importable package (#38726) 2021-09-03 11:24:21 -05:00
CHANGELOG.md Docs: Remove excess text in changelog (#85720) 2024-04-08 12:19:46 +01: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 I18n: Fix path for Crowdin upload (#81733) 2024-02-05 13:33:37 +01:00
cypress.config.js Chore: Remove compareScreenshot + blink-diff dependency from core (#77920) 2023-11-09 13:18:12 +00:00
Dockerfile Docker: Fix missing go dependencies (#85441) 2024-04-03 14:01:09 +01:00
embed.go Core: Remove thema and kindsys dependencies (#84499) 2024-03-21 11:11:29 +01:00
go.mod Alerting: Update grafana/alerting and use Upsert for creating silences (#85676) 2024-04-08 11:46:14 +02:00
go.sum Alerting: Update grafana/alerting and use Upsert for creating silences (#85676) 2024-04-08 11:46:14 +02:00
go.work Chore: Vendor wire into pkg/build (#84637) 2024-03-25 11:23:27 +01:00
go.work.sum Alerting: Update grafana/alerting and use Upsert for creating silences (#85676) 2024-04-08 11:46:14 +02:00
GOVERNANCE.md Сorrection of spelling errors (#83565) 2024-03-01 11:00:15 +01:00
HALL_OF_FAME.md Docs: Update HALL_OF_FAME.md (#79775) 2024-02-26 15:04:58 +01:00
jest.config.js Update dependency @kusto/monaco-kusto to v10 (#81382) 2024-03-26 16:10:06 +00:00
latest.json Release: Deprecate latest.json and replace with api call to grafana.com (#80537) 2024-01-16 11:19:32 +00:00
lefthook.rc Chore: Replace Husky/Lint-staged with Lefthook (#66608) 2023-08-17 09:56:52 +00:00
lefthook.yml Chore: Temp remove betterer json from precommit (#83113) 2024-02-20 18:16:31 +02:00
lerna.json Release: Bump version to 11.1.0-pre (#85115) 2024-03-25 21:44:28 +02:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Schemas: Replace registry generation and github workflow (#83490) 2024-03-13 18:05:21 +02:00
MAINTAINERS.md Update codeowners (#73159) 2023-09-28 11:31:26 -07:00
Makefile Makefile: refactoring .PHONY (#85440) 2024-04-01 18:09:17 +03: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
nx.json Chore: Bump Nx to 18.1.x (#85185) 2024-03-28 09:36:35 +01:00
package.json Bump scenes to v4.5.4 (#85681) 2024-04-08 09:07:20 +02:00
playwright.config.ts E2E: Rewrite mysql tests to playwright (#83424) 2024-03-19 23:07:48 +01:00
project.json Plugins: Always load decoupled frontend assets from builds (#81873) 2024-03-13 12:40:09 +01: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 to v16 (#83252) 2024-02-23 11:56:38 +02: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 Update Prettier checks to parse also JSON files (#82046) 2024-02-09 13:16:40 +02:00
WORKFLOW.md fix typos (#83414) 2024-02-26 10:52:44 -07:00
yarn.lock Bump scenes to v4.5.4 (#85681) 2024-04-08 09:07:20 +02: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.