mirror of
https://github.com/grafana/grafana.git
synced 2024-11-22 17:06:57 -06:00
4aa227dd84
* tech: investigating karma + jest mix * tech: migrating tests to jest * tech: moved anoter test file to jest * test: migrated two more test files to jest * test: updated readme and made test fail to verify that it causes CI build failure * tech: added code coverage for jest tests * tech: testing codecov coverage * tech: migrated more tests * tech: migrated template srv to typescript and the tests to jest * tech: minor build fix * tech: build fixes * build: another attempt at fixing go test with coverage
113 lines
3.6 KiB
Markdown
113 lines
3.6 KiB
Markdown
[Grafana](https://grafana.com) [![Circle CI](https://circleci.com/gh/grafana/grafana.svg?style=svg)](https://circleci.com/gh/grafana/grafana) [![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana) [![codecov](https://codecov.io/gh/grafana/grafana/branch/master/graph/badge.svg)](https://codecov.io/gh/grafana/grafana)
|
|
================
|
|
[Website](https://grafana.com) |
|
|
[Twitter](https://twitter.com/grafana) |
|
|
[Community & Forum](https://community.grafana.com)
|
|
|
|
Grafana is an open source, feature rich metrics dashboard and graph editor for
|
|
Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
|
|
|
|
![](http://docs.grafana.org/assets/img/features/dashboard_ex1.png)
|
|
|
|
## Installation
|
|
Head to [docs.grafana.org](http://docs.grafana.org/installation/) and [download](https://grafana.com/get)
|
|
the latest release.
|
|
|
|
If you have any problems please read the [troubleshooting guide](http://docs.grafana.org/installation/troubleshooting/).
|
|
|
|
## Documentation & Support
|
|
Be sure to read the [getting started guide](http://docs.grafana.org/guides/gettingstarted/) and the other feature guides.
|
|
|
|
## Run from master
|
|
If you want to build a package yourself, or contribute. Here is a guide for how to do that. You can always find
|
|
the latest master builds [here](https://grafana.com/grafana/download)
|
|
|
|
### Dependencies
|
|
|
|
- Go 1.9
|
|
- NodeJS LTS
|
|
|
|
### Building the backend
|
|
```bash
|
|
go get github.com/grafana/grafana
|
|
cd ~/go/src/github.com/grafana/grafana
|
|
go run build.go setup
|
|
go run build.go build
|
|
```
|
|
|
|
### Building frontend assets
|
|
|
|
For this you need nodejs (v.6+).
|
|
|
|
```bash
|
|
npm install -g yarn
|
|
yarn install --pure-lockfile
|
|
npm run build
|
|
```
|
|
|
|
To rebuild frontend assets (typescript, sass etc) as you change them start the watcher via.
|
|
|
|
```bash
|
|
npm run watch
|
|
```
|
|
|
|
Run tests
|
|
```bash
|
|
npm run test
|
|
```
|
|
|
|
Run tests in watch mode
|
|
```bash
|
|
npm run watch-test
|
|
```
|
|
|
|
### Recompile backend on source change
|
|
|
|
To rebuild on source change.
|
|
```bash
|
|
go get github.com/Unknwon/bra
|
|
bra run
|
|
```
|
|
|
|
Open grafana in your browser (default: `http://localhost:3000`) and login with admin user (default: `user/pass = admin/admin`).
|
|
|
|
### Dev config
|
|
|
|
Create a custom.ini in the conf directory to override default configuration options.
|
|
You only need to add the options you want to override. Config files are applied in the order of:
|
|
|
|
1. grafana.ini
|
|
1. custom.ini
|
|
|
|
In your custom.ini uncomment (remove the leading `;`) sign. And set `app_mode = development`.
|
|
|
|
### Running tests
|
|
|
|
- You can run backend Golang tests using "go test ./pkg/...".
|
|
- Execute all frontend tests with "npm run test"
|
|
|
|
Writing & watching frontend tests (we have two test runners)
|
|
|
|
- jest for all new tests that do not require browser context (React+more)
|
|
- Start watcher: `npm run jest`
|
|
- Jest will run all test files that end with the name ".jest.ts"
|
|
- karma + mocha is used for testing angularjs components. We do want to migrate these test to jest over time (if possible).
|
|
- Start watcher: `npm run karma`
|
|
- Karma+Mocha runs all files that end with the name "_specs.ts".
|
|
|
|
## Contribute
|
|
|
|
If you have any idea for an improvement or found a bug do not hesitate to open an issue.
|
|
And if you have time clone this repo and submit a pull request and help me make Grafana
|
|
the kickass metrics & devops dashboard we all dream about!
|
|
|
|
## Plugin development
|
|
|
|
Checkout the [Plugin Development Guide](http://docs.grafana.org/plugins/developing/development/) and checkout the [PLUGIN_DEV.md](https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) file for changes in Grafana that relate to
|
|
plugin development.
|
|
|
|
## License
|
|
|
|
Grafana is distributed under Apache 2.0 License.
|
|
|