mirror of
https://github.com/grafana/grafana.git
synced 2026-01-07 22:41:10 +08:00
Compare commits
100 Commits
v7.0.3
...
v7.0.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08cd127361 | ||
|
|
20c6e50434 | ||
|
|
b6a318db93 | ||
|
|
56622c2ba1 | ||
|
|
dcdedaca82 | ||
|
|
1856e16b3e | ||
|
|
395cc26019 | ||
|
|
b1277a4869 | ||
|
|
92fa9a996d | ||
|
|
127e4d6490 | ||
|
|
7ae62d714c | ||
|
|
0921ba7609 | ||
|
|
c21cb46c1d | ||
|
|
bf8f3c03b8 | ||
|
|
9cf52bd20f | ||
|
|
803b089e5b | ||
|
|
e2996f49a2 | ||
|
|
f42a2d9528 | ||
|
|
19db500ca9 | ||
|
|
f21a9fff0a | ||
|
|
3d0d38fd64 | ||
|
|
f214005fe3 | ||
|
|
3449c1d344 | ||
|
|
dc9e69be90 | ||
|
|
a407efcaab | ||
|
|
74dff04996 | ||
|
|
21db57db7b | ||
|
|
951bd7130a | ||
|
|
d481538c77 | ||
|
|
154f6dccc9 | ||
|
|
b307ff0edc | ||
|
|
2bce7f56fa | ||
|
|
546e47c59b | ||
|
|
78bb177608 | ||
|
|
73c04254e5 | ||
|
|
3f228c082a | ||
|
|
ef72c489de | ||
|
|
e5902b0f22 | ||
|
|
a0bf16824e | ||
|
|
8a18531b06 | ||
|
|
c23f4ac103 | ||
|
|
b6f1501a82 | ||
|
|
a8ef363665 | ||
|
|
c466978366 | ||
|
|
6284c96b07 | ||
|
|
57cccec020 | ||
|
|
9419b96391 | ||
|
|
da60079615 | ||
|
|
3fe7b4f383 | ||
|
|
c1d632dcc9 | ||
|
|
27a6cd7093 | ||
|
|
d8e3b7ddb3 | ||
|
|
055096e047 | ||
|
|
2490a55b73 | ||
|
|
4e435c2917 | ||
|
|
16e7d4563c | ||
|
|
f51c8dcd56 | ||
|
|
e086eca92d | ||
|
|
63098b3452 | ||
|
|
d2084175c3 | ||
|
|
7be6603e54 | ||
|
|
b12a2914c1 | ||
|
|
3767325016 | ||
|
|
d5a370fba2 | ||
|
|
8bd4c1ecd3 | ||
|
|
f7269c43d1 | ||
|
|
cbed026c4d | ||
|
|
a64ae3bad1 | ||
|
|
413cc7c5a8 | ||
|
|
11a4a8c40f | ||
|
|
cdb3048f05 | ||
|
|
30dc6bdd01 | ||
|
|
b60fff2174 | ||
|
|
b6f7be0bae | ||
|
|
92138de21b | ||
|
|
1df9921666 | ||
|
|
f9a8469c74 | ||
|
|
69f10c97c3 | ||
|
|
350c2423a1 | ||
|
|
8b860a6114 | ||
|
|
e5cc96a108 | ||
|
|
ab94e17d97 | ||
|
|
e428ac77a7 | ||
|
|
8a68f6c59a | ||
|
|
a0d2add655 | ||
|
|
bd7cf1edd0 | ||
|
|
37042811c6 | ||
|
|
4062817c7f | ||
|
|
b4e2276d48 | ||
|
|
b09c75afab | ||
|
|
97c6efbc0e | ||
|
|
e94405a786 | ||
|
|
56e76f9e40 | ||
|
|
134d43978d | ||
|
|
f961766d08 | ||
|
|
331b2abfc8 | ||
|
|
413aaf26d7 | ||
|
|
b72a0c81b9 | ||
|
|
37b9ad2efe | ||
|
|
29a3641147 |
@@ -15,9 +15,7 @@ aliases:
|
||||
tags:
|
||||
ignore: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
|
||||
branches:
|
||||
ignore:
|
||||
- master
|
||||
- chore/test-release-pipeline
|
||||
ignore: master
|
||||
- &filter-only-master
|
||||
branches:
|
||||
only: master
|
||||
@@ -41,7 +39,7 @@ executors:
|
||||
- image: cimg/go:1.14
|
||||
grafana-build:
|
||||
docker:
|
||||
- image: grafana/build-container:1.2.19
|
||||
- image: grafana/build-container:1.2.15
|
||||
grafana-publish:
|
||||
docker:
|
||||
- image: grafana/grafana-ci-deploy:1.2.5
|
||||
@@ -56,7 +54,7 @@ commands:
|
||||
- run:
|
||||
name: "Install Grafana build pipeline tool"
|
||||
command: |
|
||||
VERSION=0.4.11
|
||||
VERSION=0.3.1
|
||||
curl -fLO https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v${VERSION}/grabpl
|
||||
chmod +x grabpl
|
||||
mv grabpl /tmp
|
||||
@@ -74,7 +72,7 @@ jobs:
|
||||
- run:
|
||||
name: Exit if enterprise and forked PR
|
||||
command: |
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
@@ -88,15 +86,15 @@ jobs:
|
||||
command: |
|
||||
if [[ -n $CIRCLE_TAG ]]; then
|
||||
# A release build
|
||||
/tmp/grabpl build-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
|
||||
/tmp/grabpl build-backend --edition << parameters.edition >> \
|
||||
--variants << parameters.variant >> $CIRCLE_TAG
|
||||
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
/tmp/grabpl build-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
|
||||
--variants << parameters.variant >> v7.0.0-test
|
||||
/tmp/grabpl build-backend --edition << parameters.edition >> \
|
||||
--variants << parameters.variant >> v6.7.0-beta1
|
||||
else
|
||||
# A master or PR build
|
||||
/tmp/grabpl build-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
|
||||
/tmp/grabpl build-backend --edition << parameters.edition >> \
|
||||
--variants << parameters.variant >> --build-id $CIRCLE_WORKFLOW_ID
|
||||
fi
|
||||
- run:
|
||||
@@ -126,7 +124,7 @@ jobs:
|
||||
- run:
|
||||
name: Exit if enterprise and forked PR
|
||||
command: |
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
@@ -155,17 +153,7 @@ jobs:
|
||||
- node_modules
|
||||
- run:
|
||||
name: Build Grafana frontend
|
||||
command: |
|
||||
if [[ -n $CIRCLE_TAG ]]; then
|
||||
# A release build
|
||||
/tmp/grabpl build-frontend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> $CIRCLE_TAG
|
||||
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
/tmp/grabpl build-frontend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> 7.0.0-test
|
||||
else
|
||||
# A master or PR build
|
||||
/tmp/grabpl build-frontend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> --build-id $CIRCLE_WORKFLOW_ID
|
||||
fi
|
||||
command: /tmp/grabpl build-frontend --edition << parameters.edition >>
|
||||
- run:
|
||||
name: Move artifacts
|
||||
command: mkdir << parameters.edition >> && cp -r public << parameters.edition >>/
|
||||
@@ -192,7 +180,7 @@ jobs:
|
||||
- run:
|
||||
name: Exit if enterprise and forked PR
|
||||
command: |
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
@@ -410,24 +398,18 @@ jobs:
|
||||
source scripts/build/gpg-test-vars.sh
|
||||
fi
|
||||
|
||||
# Necessary for signing bundled plugins
|
||||
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
|
||||
if [[ -n $CIRCLE_TAG ]]; then
|
||||
# A release build
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --sign $CIRCLE_TAG
|
||||
/tmp/grabpl package --jobs 2 --edition oss $CIRCLE_TAG
|
||||
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --sign v7.0.0-test
|
||||
/tmp/grabpl package --jobs 2 --edition oss v6.7.0-beta1
|
||||
elif [[ $CIRCLE_BRANCH == "master" ]]; then
|
||||
# A master build
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --sign --build-id $CIRCLE_WORKFLOW_ID
|
||||
elif [[ -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
# A forked PR build, don't sign as it requires an API secret
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --build-id $CIRCLE_WORKFLOW_ID --variants \
|
||||
linux-x64,linux-x64-musl,osx64,win64
|
||||
/tmp/grabpl package --jobs 2 --edition oss --build-id $CIRCLE_WORKFLOW_ID
|
||||
else
|
||||
# A non-forked PR build
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --sign --build-id $CIRCLE_WORKFLOW_ID --variants \
|
||||
# A PR build
|
||||
/tmp/grabpl package --jobs 2 --edition oss --build-id $CIRCLE_WORKFLOW_ID --variants \
|
||||
linux-x64,linux-x64-musl,osx64,win64
|
||||
fi
|
||||
- run:
|
||||
@@ -471,25 +453,18 @@ jobs:
|
||||
- run:
|
||||
name: Package Grafana
|
||||
command: |
|
||||
# Necessary for signing bundled plugins
|
||||
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
|
||||
|
||||
if [[ -n $CIRCLE_TAG ]]; then
|
||||
# A release build
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --sign $CIRCLE_TAG
|
||||
/tmp/grabpl package --jobs 2 --edition enterprise $CIRCLE_TAG
|
||||
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --sign v7.0.0-test
|
||||
/tmp/grabpl package --jobs 2 --edition enterprise v6.7.0-beta1
|
||||
elif [[ $CIRCLE_BRANCH == "master" ]]; then
|
||||
# A master build
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --sign --build-id $CIRCLE_WORKFLOW_ID
|
||||
elif [[ -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
# A forked PR build, don't sign as it requires an API secret
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --build-id $CIRCLE_WORKFLOW_ID --variants \
|
||||
linux-x64,linux-x64-musl,osx64,win64
|
||||
/tmp/grabpl package --jobs 2 --edition enterprise --build-id $CIRCLE_WORKFLOW_ID
|
||||
else
|
||||
# A PR build
|
||||
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --sign --build-id $CIRCLE_WORKFLOW_ID --variants \
|
||||
/tmp/grabpl package --jobs 2 --edition enterprise --build-id $CIRCLE_WORKFLOW_ID --variants \
|
||||
linux-x64,linux-x64-musl,osx64,win64
|
||||
fi
|
||||
- run:
|
||||
@@ -608,7 +583,7 @@ jobs:
|
||||
- run:
|
||||
name: Exit if enterprise and forked PR
|
||||
command: |
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
@@ -622,14 +597,6 @@ jobs:
|
||||
# This version is necessary for building cross-platform images
|
||||
version: 18.09.3
|
||||
- install-grabpl
|
||||
- run:
|
||||
name: Install gcloud SDK
|
||||
command: |
|
||||
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \
|
||||
sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
|
||||
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
|
||||
sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
|
||||
sudo apt-get update && sudo apt-get install google-cloud-sdk
|
||||
# XXX: Is this necessary?
|
||||
- run: docker run --privileged linuxkit/binfmt:v0.6
|
||||
- run:
|
||||
@@ -661,12 +628,8 @@ jobs:
|
||||
if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> --dry-run
|
||||
elif [[ -n $CIRCLE_TAG ]]; then
|
||||
# This is a release
|
||||
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >>
|
||||
else
|
||||
# TODO: Don't ignore errors, temporary workaround until we fix #22955
|
||||
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> || echo Publishing failed!
|
||||
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >>
|
||||
fi
|
||||
- run:
|
||||
name: CI job failed
|
||||
@@ -793,7 +756,7 @@ jobs:
|
||||
- run:
|
||||
# Important: all words have to be in lowercase, and separated by "\n".
|
||||
name: exclude known exceptions
|
||||
command: 'echo -e "unknwon\nreferer\nerrorstring\neror\niam" > words_to_ignore.txt'
|
||||
command: 'echo -e "unknwon\nreferer\nerrorstring\neror" > words_to_ignore.txt'
|
||||
- run:
|
||||
name: check documentation spelling errors
|
||||
command: "codespell -I ./words_to_ignore.txt docs/"
|
||||
@@ -889,18 +852,22 @@ jobs:
|
||||
when: on_success
|
||||
|
||||
build-docs-website:
|
||||
executor: base
|
||||
executor: grafana-build
|
||||
steps:
|
||||
- checkout
|
||||
- setup_remote_docker
|
||||
- run:
|
||||
name: CI job started
|
||||
command: "./scripts/ci-job-started.sh"
|
||||
- run:
|
||||
name: Install docker
|
||||
command: |
|
||||
apt-get update
|
||||
apt-get install -y docker.io
|
||||
- run:
|
||||
name: Build Grafana docs website
|
||||
command: |
|
||||
# Use latest revision here, since we want to catch if it breaks
|
||||
IMAGE=grafana/docs-base:latest
|
||||
IMAGE=grafana/docs-base@sha256:63758b74e3990ab61e274f5e98da092d5c38378829dad0488aa97c59f0144f34
|
||||
|
||||
# In order to copy sources into the remote container, we need to employ a trick of creating a container
|
||||
# with a volume, that we copy the sources into. Then, we launch the build container, with the volume
|
||||
@@ -947,14 +914,6 @@ jobs:
|
||||
- run:
|
||||
name: npm - Prepare auth token
|
||||
command: "echo //registry.npmjs.org/:_authToken=$NPM_TOKEN >> ~/.npmrc"
|
||||
- run:
|
||||
name: Exit if release pipeline test
|
||||
command: |
|
||||
if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
echo "We're testing the release pipeline, so stopping before publishing"
|
||||
circleci step halt
|
||||
fi
|
||||
- run:
|
||||
name: Release packages
|
||||
command: ./scripts/build/release-packages.sh "${CIRCLE_TAG}"
|
||||
@@ -1027,146 +986,172 @@ workflows:
|
||||
variant: armv6
|
||||
name: build-oss-backend-armv6
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
edition: oss
|
||||
variant: armv7
|
||||
name: build-oss-backend-armv7
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
edition: oss
|
||||
variant: armv7-musl
|
||||
name: build-oss-backend-armv7-musl
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
edition: oss
|
||||
variant: arm64
|
||||
name: build-oss-backend-arm64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
edition: oss
|
||||
variant: arm64-musl
|
||||
name: build-oss-backend-arm64-musl
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
edition: oss
|
||||
variant: osx64
|
||||
name: build-oss-backend-osx64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
edition: oss
|
||||
variant: win64
|
||||
name: build-oss-backend-win64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
edition: oss
|
||||
variant: linux-x64
|
||||
name: build-oss-backend-linux-x64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
edition: oss
|
||||
variant: linux-x64-musl
|
||||
name: build-oss-backend-linux-x64-musl
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-frontend:
|
||||
filters: *filter-all
|
||||
name: build-oss-frontend
|
||||
edition: oss
|
||||
requires:
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-plugins:
|
||||
filters: *filter-all
|
||||
name: build-oss-plugins
|
||||
edition: oss
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
name: build-enterprise-backend-armv6
|
||||
edition: enterprise
|
||||
variant: armv6
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
name: build-enterprise-backend-armv7
|
||||
edition: enterprise
|
||||
variant: armv7
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
name: build-enterprise-backend-armv7-musl
|
||||
edition: enterprise
|
||||
variant: armv7-musl
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
name: build-enterprise-backend-arm64
|
||||
edition: enterprise
|
||||
variant: arm64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-master-or-release
|
||||
name: build-enterprise-backend-arm64-musl
|
||||
edition: enterprise
|
||||
variant: arm64-musl
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
name: build-enterprise-backend-osx64
|
||||
edition: enterprise
|
||||
variant: osx64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
name: build-enterprise-backend-win64
|
||||
edition: enterprise
|
||||
variant: win64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
name: build-enterprise-backend-linux-x64
|
||||
edition: enterprise
|
||||
variant: linux-x64
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-backend:
|
||||
filters: *filter-all
|
||||
name: build-enterprise-backend-linux-x64-musl
|
||||
edition: enterprise
|
||||
variant: linux-x64-musl
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-frontend:
|
||||
filters: *filter-all
|
||||
name: build-enterprise-frontend
|
||||
edition: enterprise
|
||||
requires:
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-plugins:
|
||||
filters: *filter-all
|
||||
name: build-enterprise-plugins
|
||||
edition: enterprise
|
||||
requires:
|
||||
- lint-go
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- build-release-publisher:
|
||||
filters: *filter-master-or-release
|
||||
- codespell:
|
||||
|
||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -20,9 +20,6 @@ vendor/
|
||||
/emails/templates/enterprise_*
|
||||
/public/emails/enterprise_*
|
||||
|
||||
# Enterprise devenv
|
||||
/devenv/docker/blocks/grafana-enterprise
|
||||
|
||||
/tmp
|
||||
tools/phantomjs/phantomjs
|
||||
tools/phantomjs/phantomjs.exe
|
||||
@@ -111,9 +108,9 @@ compilation-stats.json
|
||||
/packages/grafana-e2e/cypress/videos
|
||||
/packages/grafana-e2e/cypress/logs
|
||||
/e2e/server.log
|
||||
/e2e/**/screenshots
|
||||
!/e2e/**/screenshots/expeced/*
|
||||
/e2e/**/videos/*
|
||||
/e2e/suite1/screenshots
|
||||
!/e2e/suite1/screenshots/expeced/*
|
||||
/e2e/suite1/videos/*
|
||||
|
||||
# report dumping the whole system env
|
||||
/report.*.json
|
||||
|
||||
426
CHANGELOG.md
426
CHANGELOG.md
@@ -1,133 +1,3 @@
|
||||
# 7.0.0 (unreleased)
|
||||
|
||||
## Breaking changes
|
||||
|
||||
- **Removed PhantomJS**: PhantomJS was deprecated in [Grafana v6.4](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/#phantomjs-deprecation) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
|
||||
- **Docker**: Our Ubuntu based images have been upgraded to Ubuntu [20.04 LTS](https://releases.ubuntu.com/20.04/).
|
||||
- **Dashboard**: A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds.
|
||||
- **@grafana/ui**: Forms migration notice, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
|
||||
- **@grafana/ui**: Select API change for creating custom values, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
|
||||
- **Interval calculation**: There is now a new option `Max data points` that controls the auto interval `$__interval` calculation. Interval was previously calculated by dividing the panel width by the time range. With the new max data points option it is now easy to set `$__interval` to a dynamic value that is time range agnostic. For example if you set `Max data points` to 10 Grafana will dynamically set `$__interval` by dividing the current time range by 10.
|
||||
- **Datasource/Loki**: Support for [deprecated Loki endpoints](https://github.com/grafana/loki/blob/master/docs/api.md#lokis-http-api) has been removed.
|
||||
|
||||
**Deprecation warnings**
|
||||
|
||||
- Scripted dashboards is now deprecated. The feature is not removed but will be in a future release. We hope to address the underlying requirement of dynamic dashboards in a different way. [#24059](https://github.com/grafana/grafana/issues/24059)
|
||||
- The unofficial first version of backend plugins together with usage of [grafana/grafana-plugin-model](https://github.com/grafana/grafana-plugin-model) is now deprecated and support for that will be removed in a future release. Please refer to [backend plugins documentation](https://grafana.com/docs/grafana/latest/developers/plugins/backend/) for information about the new officially supported backend plugins.
|
||||
|
||||
## 7.0 Feature highlights
|
||||
|
||||
### Data transformations
|
||||
|
||||
Not just visualizing data from anywhere, in Grafana 7 you can transform it too. By chaining a simple set of point and click transformations users will be able join, pivot, filter, re-name and calculate to get the results they need. Perfect for operations across queries or data sources missing essential data transformations.
|
||||
|
||||
Data transformations will provide a common set of data operations that were previously duplicated as custom features in many panels or data sources but are now an integral part of the Grafana data processing pipeline and something all data sources and panels can take advantage of.
|
||||
|
||||
In Grafana 7.0 we have a shared data model for both time series and table data that we call [DataFrame](https://github.com/grafana/grafana/blob/master/docs/sources/plugins/developing/dataframe.md). A DataFrame is like a table with columns but we refer to columns as fields. A time series is simply a DataFrame with two fields (time & value).
|
||||
|
||||
**Transformations shipping in 7.0**
|
||||
|
||||
- **Reduce**: Reduce many rows / data points to a single value
|
||||
- **Filter by name**: Filter fields by name or regex
|
||||
- **Filter by refId**: Filter by query letter
|
||||
- **Organize fields**: Reorder, rename and hide fields.
|
||||
- **Labels to fields**: Transform time series with labels into a table where labels get's converted to fields and the result is joined by time
|
||||
- **Join by field**: Join many result sets (series) together using for example the time field. Useful for transforming time series into a table with a shared time column and where each series get it's own column.
|
||||
- **Add field from calculation**: This is a powerful transformation that allows you perform many different types of math operations and add the result as a new field. Examples:
|
||||
- Calculate the difference between two series or fields and add the result to a new field
|
||||
- Multiply one field with another another and add the result to a new field
|
||||
|
||||
### New panel edit experience
|
||||
|
||||
In Grafana 7 we have redesigned the UI for editing panels. The first visible change is that we have separated panel display settings to a right hand side pane that you can collapse or expand depending on what your focus is on. With this change we are also introducing our new unified option model & UI for defining data configuration and display options. This unified data configuration system powers a consistent UI for setting data options across visualizations as well as making all data display settings data driven and overridable.
|
||||
|
||||
This new option architecture and UI will make all panels have a consistent set of options and behaviors for attributes like `unit`, `min`, `max`, `thresholds`, `links`, `decimals`. Not only that but all these options will share a consistent UI for specifying override rules and is extensible for custom panel specific options.
|
||||
|
||||
We have yet to migrate all core panels to this new architecture so in 7.0 there will sadly be some big inconsistencies in the UI between panels. Hopefully this will be fixed soon in future releases as we update all the core panels and help the community update the community panel plugins.
|
||||
|
||||
### New table panel
|
||||
|
||||
Grafana 7.0 comes with a new table panel (and deprecates the old one). This new table panel supports horizontal scrolling and column resize. Paired with the new `Organize fields` transformation detailed above you can reorder, hide & rename columns. This new panel also supports new cell display modes, like showing a bar gauge inside a cell.
|
||||
|
||||
### Panel inspector
|
||||
|
||||
The panel inspector is a feature that every panel will support, including internal as well as external community plugins. In this new panel inspector, you can view the raw data in a table format, apply some pre-defined transformations, and download as CSV. You can find the __Inspect__ setting in the panel menu. Use the keyboard shortcut `i` when hovering over a panel to get the panel inspector to appear.
|
||||
|
||||
### Improved time zone support
|
||||
|
||||
Starting in version 7.0, you can override the time zone used to display date and time values in a dashboard.
|
||||
|
||||
With this feature, you can specify the local time zone of the service or system that you are monitoring. This can be helpful when monitoring a system or service that operates across several time zones.
|
||||
|
||||
We have also extended the time zone options so you can select any of the standard [ISO 8601 time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
||||
|
||||
# 7.0.0-beta3 (2020-05-08)
|
||||
|
||||
### Features / Enhancements
|
||||
|
||||
- **Docker**: Upgrade to Alpine 3.11. [#24056](https://github.com/grafana/grafana/pull/24056), [@aknuds1](https://github.com/aknuds1)
|
||||
- **Forms**: Remove Forms namespace [BREAKING]. Will cause all `Forms` imports to stop working. See migration guide in [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)[#24378](https://github.com/grafana/grafana/pull/24378), [@tskarhed](https://github.com/tskarhed)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **CloudWatch**: Fix error with expression only query. [#24362](https://github.com/grafana/grafana/pull/24362), [@aocenas](https://github.com/aocenas)
|
||||
- **Elasticsearch**: Fix building of raw document queries resulting in error Unknown BaseAggregationBuilder error. [#24403](https://github.com/grafana/grafana/pull/24403), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Prometheus**: Fix for prometheus legend formats for instant time series queries. [#24407](https://github.com/grafana/grafana/pull/24407), [@torkelo](https://github.com/torkelo)
|
||||
|
||||
# 7.0.0-beta2 (2020-05-07)
|
||||
|
||||
## Breaking changes
|
||||
|
||||
- **Removed PhantomJS**: PhantomJS was deprecated in [Grafana v6.4](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/#phantomjs-deprecation) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
|
||||
- **Docker**: Our Ubuntu based images have been upgraded to Ubuntu [20.04 LTS](https://releases.ubuntu.com/20.04/).
|
||||
- **Dashboard**: A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds.
|
||||
- **@grafana/ui**: Forms migration notice, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
|
||||
- **Interval calculation**: There is now a new option `Max data points` that controls the auto interval `$__interval` calculation. Interval was previously calculated by dividing the panel width by the time range. With the new max data points option it is now easy to set `$__interval` to a dynamic value that is time range agnostic. For example if you set `Max data points` to 10 Grafana will dynamically set `$__interval` by dividing the current time range by 10.
|
||||
- **Datasource/Loki**: Support for [deprecated Loki endpoints](https://github.com/grafana/loki/blob/master/docs/api.md#lokis-http-api) has been removed.
|
||||
|
||||
**Deprecation warnings**
|
||||
|
||||
- Scripted dashboards are now deprecated. The feature is not removed but will be in a future release. We hope to address the underlying requirement of dynamic dashboards in a different way. [#24059](https://github.com/grafana/grafana/issues/24059)
|
||||
|
||||
### Features / Enhancements
|
||||
|
||||
- **CloudWatch**: Adds more examples to CloudWatch Logs cheatsheet. [#24288](https://github.com/grafana/grafana/pull/24288), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **Elasticsearch**: Changes terms min_doc_count default from 1 to 0. [#24204](https://github.com/grafana/grafana/pull/24204), [@Estrax](https://github.com/Estrax)
|
||||
- **Login Page**: New design. [#23892](https://github.com/grafana/grafana/pull/23892), [@torkelo](https://github.com/torkelo)
|
||||
- **Logs**: Add log level Fatal. [#24185](https://github.com/grafana/grafana/pull/24185), [@davkal](https://github.com/davkal)
|
||||
- **Loki**: Show loki datasource stats in panel inspector. [#24190](https://github.com/grafana/grafana/pull/24190), [@davkal](https://github.com/davkal)
|
||||
- **Migration**: Dashboard links. [#23553](https://github.com/grafana/grafana/pull/23553), [@peterholmberg](https://github.com/peterholmberg)
|
||||
- **Plugins**: Require signing of external back-end plugins. [#24075](https://github.com/grafana/grafana/pull/24075), [@aknuds1](https://github.com/aknuds1)
|
||||
- **Prometheus**: Add off switch for metric/label name lookup. [#24034](https://github.com/grafana/grafana/pull/24034), [@s-h-a-d-o-w](https://github.com/s-h-a-d-o-w)
|
||||
- **Search**: Bring back open search by clicking dashboard name. [#24151](https://github.com/grafana/grafana/pull/24151), [@torkelo](https://github.com/torkelo)
|
||||
- **Tracing**: Header updates. [#24153](https://github.com/grafana/grafana/pull/24153), [@aocenas](https://github.com/aocenas)
|
||||
- **Transformations**: Improve time series support. [#23978](https://github.com/grafana/grafana/pull/23978), [@ryantxu](https://github.com/ryantxu)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **CloudWatch logs**: Fix default region interpolation and reset log groups on region change. [#24346](https://github.com/grafana/grafana/pull/24346), [@aocenas](https://github.com/aocenas)
|
||||
- **Dashboard**: Fix for folder picker menu not being visible outside modal when saving dashboard. [#24296](https://github.com/grafana/grafana/pull/24296), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Dashboard**: Go to explore now works even after discarding dashboard changes. [#24149](https://github.com/grafana/grafana/pull/24149), [@torkelo](https://github.com/torkelo)
|
||||
- **Dashboard**: Only show cache timeout option in panel edit if enabled in data source plugin json. [#24095](https://github.com/grafana/grafana/pull/24095), [@peterholmberg](https://github.com/peterholmberg)
|
||||
- **Dashboard**: Propagate unhandled errors when saving dashboard. [#24081](https://github.com/grafana/grafana/pull/24081), [@peterholmberg](https://github.com/peterholmberg)
|
||||
- **Dashboard**: Variable without a current value in json model causes crash on load. [#24261](https://github.com/grafana/grafana/pull/24261), [@torkelo](https://github.com/torkelo)
|
||||
- **DashboardManager**: Disable editing if there are no folder permissions. [#24237](https://github.com/grafana/grafana/pull/24237), [@tskarhed](https://github.com/tskarhed)
|
||||
- **DataLinks**: Do not add empty links. [#24088](https://github.com/grafana/grafana/pull/24088), [@dprokop](https://github.com/dprokop)
|
||||
- **Explore/Loki**: Removes old query syntax support for regex filter. [#24281](https://github.com/grafana/grafana/pull/24281), [@Estrax](https://github.com/Estrax)
|
||||
- **Explore**: Fix showing of results of queries in table. [#24018](https://github.com/grafana/grafana/pull/24018), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Field options**: show field name when title option config is empty. [#24335](https://github.com/grafana/grafana/pull/24335), [@dprokop](https://github.com/dprokop)
|
||||
- **Graph**: Fixed graph tooltip getting stuck / not being cleared when leaving dashboard. [#24162](https://github.com/grafana/grafana/pull/24162), [@torkelo](https://github.com/torkelo)
|
||||
- **Graph**: Fixed issue with x-axis labels showing "MM/DD" after viewing dashboard with pie chart. [#24341](https://github.com/grafana/grafana/pull/24341), [@mckn](https://github.com/mckn)
|
||||
- **Jaeger**: Fix how label is created in cascader. [#24164](https://github.com/grafana/grafana/pull/24164), [@aocenas](https://github.com/aocenas)
|
||||
- **Loki**: Fix label matcher for log metrics queries. [#24238](https://github.com/grafana/grafana/pull/24238), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Panel inspect**: hides Query tab for plugins without Query ability. [#24216](https://github.com/grafana/grafana/pull/24216), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **Prometheus**: Refresh query field metrics on data source change. [#24116](https://github.com/grafana/grafana/pull/24116), [@s-h-a-d-o-w](https://github.com/s-h-a-d-o-w)
|
||||
- **Select**: Fixes so component loses focus on selecting value or pressing outside of input. [#24008](https://github.com/grafana/grafana/pull/24008), [@mckn](https://github.com/mckn)
|
||||
- **Stat/Gauge/BarGauge**: Shows default cursor when missing links. [#24284](https://github.com/grafana/grafana/pull/24284), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **Tracing**: Fix view bounds after trace change. [#23994](https://github.com/grafana/grafana/pull/23994), [@aocenas](https://github.com/aocenas)
|
||||
- **Variables**: Migrates old tags format for consistency. [#24276](https://github.com/grafana/grafana/pull/24276), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **Reporting**: Update report schedule as soon as a report is updated (Enterprise)
|
||||
|
||||
# 7.0.0-beta1 (2020-04-28)
|
||||
|
||||
## Breaking changes
|
||||
@@ -135,145 +5,115 @@ We have also extended the time zone options so you can select any of the standar
|
||||
- **Removed PhantomJS**: PhantomJS was deprecated in [Grafana v6.4](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/#phantomjs-deprecation) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
|
||||
- **Docker**: Our Ubuntu based images have been upgraded to Ubuntu [20.04 LTS](https://releases.ubuntu.com/20.04/).
|
||||
- **Dashboard**: A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds.
|
||||
- **@grafana/ui**: Forms migration notice, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
|
||||
- **@grafana/ui**: Select API change for creating custom values, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
|
||||
- **Interval calculation**: There is now a new option `Max data points` that controls the auto interval `$__interval` calculation. Interval was previously calculated by dividing the panel width by the time range. With the new max data points option it is now easy to set `$__interval` to a dynamic value that is time range agnostic. For example if you set `Max data points` to 10 Grafana will dynamically set `$__interval` by dividing the current time range by 10.
|
||||
- **Datasource/Loki**: Support for [deprecated Loki endpoints](https://github.com/grafana/loki/blob/master/docs/api.md#lokis-http-api) has been removed.
|
||||
|
||||
### Features / Enhancements
|
||||
|
||||
- **@grafana/ui**: Create Icon component and replace icons. [#23402](https://github.com/grafana/grafana/pull/23402), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **@grafana/ui**: Create slider component. [#22275](https://github.com/grafana/grafana/pull/22275), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **@grafana/ui**: Remove ColorPalette component. [#23592](https://github.com/grafana/grafana/pull/23592), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **AWS IAM**: Support for AWS EKS ServiceAccount roles for CloudWatch and S3 image upload. [#21594](https://github.com/grafana/grafana/pull/21594), [@patstrom](https://github.com/patstrom)
|
||||
- **Alerting**: Adds support for basic auth in Alertmanager notifier. [#23231](https://github.com/grafana/grafana/pull/23231), [@melchiormoulin](https://github.com/melchiormoulin)
|
||||
- **Alerting**: Enable Alert rule tags to override PagerDuty Severity setting. [#22736](https://github.com/grafana/grafana/pull/22736), [@AndrewBurian](https://github.com/AndrewBurian)
|
||||
- **Alerting**: Handle image renderer unavailable when edit notifiers. [#23711](https://github.com/grafana/grafana/pull/23711), [@marefr](https://github.com/marefr)
|
||||
- **Alerting**: Upload error image when image renderer unavailable. [#23713](https://github.com/grafana/grafana/pull/23713), [@marefr](https://github.com/marefr)
|
||||
- **Alerting**: support alerting on data.Frame (that can be time series). [#22812](https://github.com/grafana/grafana/pull/22812), [@kylebrandt](https://github.com/kylebrandt)
|
||||
- **Azure Monitor**: Add alerting support - Port Azure log analytics to the backend. [#23839](https://github.com/grafana/grafana/pull/23839), [@daniellee](https://github.com/daniellee)
|
||||
- **Backend plugins**: Support alerting in external data source plugins. [#6841](https://github.com/grafana/grafana/issues/6841)
|
||||
- **Build**: Bundle plugins. [#23787](https://github.com/grafana/grafana/pull/23787), [@aknuds1](https://github.com/aknuds1)
|
||||
- **Build**: Remove usage of Go vendoring. [#23796](https://github.com/grafana/grafana/pull/23796), [@kylebrandt](https://github.com/kylebrandt)
|
||||
- **Build**: Upgrade to Go 1.14. [#23371](https://github.com/grafana/grafana/pull/23371), [@aknuds1](https://github.com/aknuds1)
|
||||
- **CloudWatch**: Added AWS Chatbot metrics and dimensions. [#23516](https://github.com/grafana/grafana/pull/23516), [@ilyastoli](https://github.com/ilyastoli)
|
||||
- **CloudWatch**: Added Cassandra namespace. [#23299](https://github.com/grafana/grafana/pull/23299), [@vikkyomkar](https://github.com/vikkyomkar)
|
||||
- **CloudWatch**: Added missing Cassandra metrics. [#23467](https://github.com/grafana/grafana/pull/23467), [@ilyastoli](https://github.com/ilyastoli)
|
||||
- **CloudWatch**: Adds support for Cloudwatch Logs. [#23566](https://github.com/grafana/grafana/pull/23566), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **CloudWatch**: Prefer webIdentity over EC2 role. [#23452](https://github.com/grafana/grafana/pull/23452), [@dnascimento](https://github.com/dnascimento)
|
||||
- **CloudWatch**: Prefer webIdentity over EC2 role also when assuming a role. [#23807](https://github.com/grafana/grafana/pull/23807), [@bruecktech](https://github.com/bruecktech)
|
||||
- **Components**: IconButton. [#23510](https://github.com/grafana/grafana/pull/23510), [@torkelo](https://github.com/torkelo)
|
||||
- **Dashboard**: Add failsafe for slug generation. [#23709](https://github.com/grafana/grafana/pull/23709), [@sakjur](https://github.com/sakjur)
|
||||
- **Dashboard**: Enforce minimum dashboard refresh interval to 5 seconds per default. [#23929](https://github.com/grafana/grafana/pull/23929), [@marefr](https://github.com/marefr)
|
||||
- **Dashboard**: Handle no renderer available in panel share dialog. [#23856](https://github.com/grafana/grafana/pull/23856), [@marefr](https://github.com/marefr)
|
||||
- **Dashboard**: Support additional variable format options (singlequote, doublequote, sqlstring). [#21622](https://github.com/grafana/grafana/pull/21622), [@xiaobeiyang](https://github.com/xiaobeiyang)
|
||||
- **Dashboard**: Support data links via field overrides. [#23590](https://github.com/grafana/grafana/pull/23590), [@dprokop](https://github.com/dprokop)
|
||||
- **Data source**: Max data points now used in interval calculation for all data sources. [#23915](https://github.com/grafana/grafana/pull/23915), [@torkelo](https://github.com/torkelo)
|
||||
- **Database**: Order results in UserSearch by username/email. [#23328](https://github.com/grafana/grafana/pull/23328), [@aknuds1](https://github.com/aknuds1)
|
||||
- **Database**: Update the xorm dependency to v0.8.1. [#22376](https://github.com/grafana/grafana/pull/22376), [@novalagung](https://github.com/novalagung)
|
||||
- **Docker**: Upgrade to Ubuntu 20.04 in Dockerfiles. [#23852](https://github.com/grafana/grafana/pull/23852), [@aknuds1](https://github.com/aknuds1)
|
||||
- **Docs**: Adding API reference documentation support for the packages libraries. [#21931](https://github.com/grafana/grafana/pull/21931), [@mckn](https://github.com/mckn)
|
||||
- **Tracing**: Add trace UI to show traces from tracing datasources and Jaeger datasource. [#23047](https://github.com/grafana/grafana/pull/23047), [@aocenas](https://github.com/aocenas)
|
||||
- **Frontend**: Adding support to select preferred timezone for presentation of date and time values. [#23586](https://github.com/grafana/grafana/pull/23586), [@mckn](https://github.com/mckn)
|
||||
- **Grafana Toolkit**: Adds template for backend data source. [#23864](https://github.com/grafana/grafana/pull/23864), [@bergquist](https://github.com/bergquist)
|
||||
- **Graphite**: Rollup indicator and custom meta data inspector. [#22738](https://github.com/grafana/grafana/pull/22738), [@torkelo](https://github.com/torkelo)
|
||||
- **HTTP API**: Allow assigning a specific organization when creating a new user. [#21775](https://github.com/grafana/grafana/pull/21775), [@Sytten](https://github.com/Sytten)
|
||||
- **Image Rendering**: New setting to control render request concurrency. [#23950](https://github.com/grafana/grafana/pull/23950), [@marefr](https://github.com/marefr)
|
||||
- **Image Rendering**: Remove PhantomJS support. [#23460](https://github.com/grafana/grafana/pull/23460), [@marefr](https://github.com/marefr)
|
||||
- **Logs**: Derived fields link design. [#23695](https://github.com/grafana/grafana/pull/23695), [@aocenas](https://github.com/aocenas)
|
||||
- **Metrics**: Add image rendering metrics. [#23827](https://github.com/grafana/grafana/pull/23827), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
- **Metrics**: Instrument backend plugin requests. [#23346](https://github.com/grafana/grafana/pull/23346), [@bergquist](https://github.com/bergquist)
|
||||
- **Migration**: Add old Input to legacy namespace. [#23286](https://github.com/grafana/grafana/pull/23286), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Admin org edit page. [#23866](https://github.com/grafana/grafana/pull/23866), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Alerting - notifications list. [#22548](https://github.com/grafana/grafana/pull/22548), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Change password. [#23623](https://github.com/grafana/grafana/pull/23623), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Create org. [#22542](https://github.com/grafana/grafana/pull/22542), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Data/Panel link editor. [#23778](https://github.com/grafana/grafana/pull/23778), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Final components to LegacyForms. [#23707](https://github.com/grafana/grafana/pull/23707), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Layout Selector. [#23790](https://github.com/grafana/grafana/pull/23790), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Migrate admin/users. [#22759](https://github.com/grafana/grafana/pull/22759), [@mckn](https://github.com/mckn)
|
||||
- **Migration**: Migrates ad hoc variable type to react/redux. [#22784](https://github.com/grafana/grafana/pull/22784), [@mckn](https://github.com/mckn)
|
||||
- **Migration**: Move Switch from Forms namespace. [#23386](https://github.com/grafana/grafana/pull/23386), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Move last components from Forms namespace. [#23556](https://github.com/grafana/grafana/pull/23556), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Move old Switch to legacy namespace. [#23357](https://github.com/grafana/grafana/pull/23357), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: New datasource. [#23221](https://github.com/grafana/grafana/pull/23221), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Org users page. [#23372](https://github.com/grafana/grafana/pull/23372), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Orgs list. [#23821](https://github.com/grafana/grafana/pull/23821), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Remove Button from Forms namespace. [#23105](https://github.com/grafana/grafana/pull/23105), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: Teams and alert list. [#23810](https://github.com/grafana/grafana/pull/23810), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: TextArea from Forms namespace. [#23436](https://github.com/grafana/grafana/pull/23436), [@tskarhed](https://github.com/tskarhed)
|
||||
- **Migration**: User edit. [#23110](https://github.com/grafana/grafana/pull/23110), [@tskarhed](https://github.com/tskarhed)
|
||||
- **OAuth**: Adds Okta provider. [#22972](https://github.com/grafana/grafana/pull/22972), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
- **OAuth**: Introduce new setting for configuring max age of OAuth state cookie. [#23195](https://github.com/grafana/grafana/pull/23195), [@rtrompier](https://github.com/rtrompier)
|
||||
- **Plugins**: Add deprecation notice to setEditor method in PanelPlugin. [#23895](https://github.com/grafana/grafana/pull/23895), [@dprokop](https://github.com/dprokop)
|
||||
- **Plugins**: Adds support for URL params in plugin routes. [#23503](https://github.com/grafana/grafana/pull/23503), [@daniellee](https://github.com/daniellee)
|
||||
- **Plugins**: Fluent API for custom field config and panel options creation for PanelPlugin. [#23070](https://github.com/grafana/grafana/pull/23070), [@dprokop](https://github.com/dprokop)
|
||||
- **Plugins**: Hide plugins page from viewers, and limit /api/plugins to only core plugins when called by viewer role. [#21901](https://github.com/grafana/grafana/pull/21901), [@dprokop](https://github.com/dprokop)
|
||||
- **Postgres**: Add SSL support for datasource. [#21341](https://github.com/grafana/grafana/pull/21341), [@ryankurte](https://github.com/ryankurte)
|
||||
- **Prometheus**: Render missing labels in legend formats as an empty string. [#22355](https://github.com/grafana/grafana/pull/22355), [@Hixon10](https://github.com/Hixon10)
|
||||
- **Provisioning**: Allows specifying uid for datasource and use that in derived fields. [#23585](https://github.com/grafana/grafana/pull/23585), [@aocenas](https://github.com/aocenas)
|
||||
- **Provisioning**: Validate that dashboard providers have unique names. [#22898](https://github.com/grafana/grafana/pull/22898), [@youshy](https://github.com/youshy)
|
||||
- **Search**: Replace search implementation. [#23855](https://github.com/grafana/grafana/pull/23855), [@sakjur](https://github.com/sakjur)
|
||||
- **Search**: migrate dashboard search to react. [#23274](https://github.com/grafana/grafana/pull/23274), [@Clarity-89](https://github.com/Clarity-89)
|
||||
- **Server**: Don't include trailing slash in cookie path when hosting Grafana in a sub path. [#22265](https://github.com/grafana/grafana/pull/22265), [@consideRatio](https://github.com/consideRatio)
|
||||
- **Stackdriver**: Support for SLO queries. [#22917](https://github.com/grafana/grafana/pull/22917), [@sunker](https://github.com/sunker)
|
||||
- **Table**: Add support for organizing fields/columns. [#23135](https://github.com/grafana/grafana/pull/23135), [@mckn](https://github.com/mckn)
|
||||
- **Table**: Improvements to column resizing, style and alignment. [#23663](https://github.com/grafana/grafana/pull/23663), [@torkelo](https://github.com/torkelo)
|
||||
- **Table**: upgrades react-table to 7.0.0 and typings. [#23247](https://github.com/grafana/grafana/pull/23247), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **Table**: Handle column overflow and horizontal scrolling in table panel. [#4157](https://github.com/grafana/grafana/issues/4157)
|
||||
- **Tracing**: Dark theme styling for TraceView. [#23406](https://github.com/grafana/grafana/pull/23406), [@aocenas](https://github.com/aocenas)
|
||||
- **Tracing**: Zipkin datasource. [#23829](https://github.com/grafana/grafana/pull/23829), [@aocenas](https://github.com/aocenas)
|
||||
- **Transformations**: Adds labels as fields transformer. [#23703](https://github.com/grafana/grafana/pull/23703), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **Transformations**: Improve UI and add some love to filter by name. [#23751](https://github.com/grafana/grafana/pull/23751), [@dprokop](https://github.com/dprokop)
|
||||
- **Transformations**: calculate a new field based on the row values. [#23675](https://github.com/grafana/grafana/pull/23675), [@ryantxu](https://github.com/ryantxu)
|
||||
- **Units**: add (IEC) and (Metric) to bits and bytes. [#23175](https://github.com/grafana/grafana/pull/23175), [@flopp999](https://github.com/flopp999)
|
||||
- **Usagestats**: Add usage stats about what type of data source is used in alerting. [#23125](https://github.com/grafana/grafana/pull/23125), [@bergquist](https://github.com/bergquist)
|
||||
- **delete old dashboard versions in multiple batches**. [#23348](https://github.com/grafana/grafana/pull/23348), [@DanCech](https://github.com/DanCech)
|
||||
- **grafana/data**: PanelTypeChangedHandler API update to use PanelModel instead of panel options object [BREAKING]. [#22754](https://github.com/grafana/grafana/pull/22754), [@dprokop](https://github.com/dprokop)
|
||||
- **grafana/ui**: Add basic horizontal and vertical layout components. [#22303](https://github.com/grafana/grafana/pull/22303), [@dprokop](https://github.com/dprokop)
|
||||
- **Auth** SAML Role and Team Sync (Enterprise)
|
||||
- **Presence Indicators**: Display the avatars of active users on dashboards (Enterprise)
|
||||
- **Reporting**: Makes it possible to disable the scheduler (Enterprise)
|
||||
- **Dashboard**: Dashboard usage view (Enterprise)
|
||||
- **Reporting** Makes it possible to trigger report emails without scheduler (Enterprise)
|
||||
- **Search**: Sorting based on dashboard views and errors (Enterprise)
|
||||
- **Reporting**: Improved landscape mode and panel image quality (Enterprise)
|
||||
- **Reporting**: Adds config setting for image_scale_factor of panel images (Enterprise)
|
||||
* **@grafana/ui**: Create Icon component and replace icons. [#23402](https://github.com/grafana/grafana/pull/23402), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
* **@grafana/ui**: Create slider component. [#22275](https://github.com/grafana/grafana/pull/22275), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
* **@grafana/ui**: Remove ColorPallete component. [#23592](https://github.com/grafana/grafana/pull/23592), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
* **AWS IAM**: Support for AWS EKS ServiceAccount roles. [#21594](https://github.com/grafana/grafana/pull/21594), [@patstrom](https://github.com/patstrom)
|
||||
* **Add ServerlessDatabaseCapacity to AWS/RDS metrics**. [#23635](https://github.com/grafana/grafana/pull/23635), [@jackstevenson](https://github.com/jackstevenson)
|
||||
* **AlertNotifications**: Translate notifications IDs to UIDs in Rule builder. [#19882](https://github.com/grafana/grafana/pull/19882), [@aSapien](https://github.com/aSapien)
|
||||
* **Alerting**: Adds support for basic auth in Alertmanager notifier. [#23231](https://github.com/grafana/grafana/pull/23231), [@melchiormoulin](https://github.com/melchiormoulin)
|
||||
* **Alerting**: Enable Alert rule tags to override PagerDuty Severity setting. [#22736](https://github.com/grafana/grafana/pull/22736), [@AndrewBurian](https://github.com/AndrewBurian)
|
||||
* **Alerting**: Handle image renderer unavailable when edit notifiers. [#23711](https://github.com/grafana/grafana/pull/23711), [@marefr](https://github.com/marefr)
|
||||
* **Alerting**: Upload error image when image renderer unavailable. [#23713](https://github.com/grafana/grafana/pull/23713), [@marefr](https://github.com/marefr)
|
||||
* **Allow API to assign new user to a specific organization**. [#21775](https://github.com/grafana/grafana/pull/21775), [@Sytten](https://github.com/Sytten)
|
||||
* **Auth**: update cookies' path value to reduce requests and avoid query param truncation. [#22265](https://github.com/grafana/grafana/pull/22265), [@consideRatio](https://github.com/consideRatio)
|
||||
* **Build**: Remove usage of Go vendoring. [#23796](https://github.com/grafana/grafana/pull/23796), [@kylebrandt](https://github.com/kylebrandt)
|
||||
* **Build**: Upgrade to Go 1.14. [#23371](https://github.com/grafana/grafana/pull/23371), [@aknuds1](https://github.com/aknuds1)
|
||||
* **CloudWatch**: Added AWS Chatbot metrics and dimensions. [#23516](https://github.com/grafana/grafana/pull/23516), [@ilyastoli](https://github.com/ilyastoli)
|
||||
* **CloudWatch**: Added Cassandra namespace. [#23299](https://github.com/grafana/grafana/pull/23299), [@vikkyomkar](https://github.com/vikkyomkar)
|
||||
* **CloudWatch**: Added missing Cassandra metrics. [#23467](https://github.com/grafana/grafana/pull/23467), [@ilyastoli](https://github.com/ilyastoli)
|
||||
* **CloudWatch**: Prefer webIdentity over EC2 role. [#23452](https://github.com/grafana/grafana/pull/23452), [@dnascimento](https://github.com/dnascimento)
|
||||
* **CloudWatch**: Prefer webIdentity over EC2 role also when assuming a role. [#23807](https://github.com/grafana/grafana/pull/23807), [@bruecktech](https://github.com/bruecktech)
|
||||
* **Dashboard**: Add failsafe for slug generation. [#23709](https://github.com/grafana/grafana/pull/23709), [@sakjur](https://github.com/sakjur)
|
||||
* **Dashboard**: Enforce minimum dashboard refresh interval to 5 seconds per default. [#23929](https://github.com/grafana/grafana/pull/23929), [@marefr](https://github.com/marefr)
|
||||
* **Dashboard**: Handle no renderer available in panel share dialog. [#23856](https://github.com/grafana/grafana/pull/23856), [@marefr](https://github.com/marefr)
|
||||
* **Data source**: Max data points now used in interval calculation for all data sources. [#23915](https://github.com/grafana/grafana/pull/23915), [@torkelo](https://github.com/torkelo)
|
||||
* **Database**: Update the xorm dependency to v0.8.1. [#22376](https://github.com/grafana/grafana/pull/22376), [@novalagung](https://github.com/novalagung)
|
||||
* **Datasource/Cloudwatch**: Adds support for Cloudwatch Logs. [#23566](https://github.com/grafana/grafana/pull/23566), [@kaydelaney](https://github.com/kaydelaney)
|
||||
* **DateTime**: adding support to select preferred timezone for presentation of date and time values.. [#23586](https://github.com/grafana/grafana/pull/23586), [@mckn](https://github.com/mckn)
|
||||
* **Docker**: Upgrade to Ubuntu 20.04 in Dockerfiles. [#23852](https://github.com/grafana/grafana/pull/23852), [@aknuds1](https://github.com/aknuds1)
|
||||
* **Docs**: adding API reference documentation support for the packages libraries.. [#21931](https://github.com/grafana/grafana/pull/21931), [@mckn](https://github.com/mckn)
|
||||
* **Explore**: Add trace UI to show traces from tracing datasources. [#23047](https://github.com/grafana/grafana/pull/23047), [@aocenas](https://github.com/aocenas)
|
||||
* **FieldOverrides**: Support data links via field overrides. [#23590](https://github.com/grafana/grafana/pull/23590), [@dprokop](https://github.com/dprokop)
|
||||
* **Grafana Toolkit**: Adds template for backend datasource. [#23864](https://github.com/grafana/grafana/pull/23864), [@bergquist](https://github.com/bergquist)
|
||||
* **Graphite**: Rollup indicator and custom meta data inspector . [#22738](https://github.com/grafana/grafana/pull/22738), [@torkelo](https://github.com/torkelo)
|
||||
* **Image Rendering**: New setting to control render request concurrency. [#23950](https://github.com/grafana/grafana/pull/23950), [@marefr](https://github.com/marefr)
|
||||
* **Image Rendering**: Remove PhantomJS support. [#23460](https://github.com/grafana/grafana/pull/23460), [@marefr](https://github.com/marefr)
|
||||
* **Logs**: Derived fields link design. [#23695](https://github.com/grafana/grafana/pull/23695), [@aocenas](https://github.com/aocenas)
|
||||
* **Migration**: Add old Input to legacy namespace. [#23286](https://github.com/grafana/grafana/pull/23286), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Admin org edit page. [#23866](https://github.com/grafana/grafana/pull/23866), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Change password. [#23623](https://github.com/grafana/grafana/pull/23623), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Data/Panel link editor. [#23778](https://github.com/grafana/grafana/pull/23778), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Final components to LegacyForms. [#23707](https://github.com/grafana/grafana/pull/23707), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Layout Selector. [#23790](https://github.com/grafana/grafana/pull/23790), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Move Switch from Forms namespace. [#23386](https://github.com/grafana/grafana/pull/23386), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Move last components from Forms namespace. [#23556](https://github.com/grafana/grafana/pull/23556), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Move old Switch to legacy namespace. [#23357](https://github.com/grafana/grafana/pull/23357), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Org users page. [#23372](https://github.com/grafana/grafana/pull/23372), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Orgs list. [#23821](https://github.com/grafana/grafana/pull/23821), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: Teams and alert list. [#23810](https://github.com/grafana/grafana/pull/23810), [@tskarhed](https://github.com/tskarhed)
|
||||
* **Migration**: TextArea from Forms namespace. [#23436](https://github.com/grafana/grafana/pull/23436), [@tskarhed](https://github.com/tskarhed)
|
||||
* **OAuth **: Introduce new setting for configuring max age of OAuth state cookie . [#23195](https://github.com/grafana/grafana/pull/23195), [@rtrompier](https://github.com/rtrompier)
|
||||
* **OAuth**: Adds Okta provider. [#22972](https://github.com/grafana/grafana/pull/22972), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
* **Packages**: Bundle plugins. [#23787](https://github.com/grafana/grafana/pull/23787), [@aknuds1](https://github.com/aknuds1)
|
||||
* **PanelPlugin**: add deprecation notice to setEditor method. [#23895](https://github.com/grafana/grafana/pull/23895), [@dprokop](https://github.com/dprokop)
|
||||
* **Plugins**: Adds support for URL params in plugin routes. [#23503](https://github.com/grafana/grafana/pull/23503), [@daniellee](https://github.com/daniellee)
|
||||
* **Plugins**: Hide plugins page from viewers, and limit /api/plugins to only core plugins when called by viewer role . [#21901](https://github.com/grafana/grafana/pull/21901), [@dprokop](https://github.com/dprokop)
|
||||
* **Postgres**: Add SSL support for datasource. [#21341](https://github.com/grafana/grafana/pull/21341), [@ryankurte](https://github.com/ryankurte)
|
||||
* **Prometheus**: Render missing labels in legend formats as an empty string. [#22355](https://github.com/grafana/grafana/pull/22355), [@Hixon10](https://github.com/Hixon10)
|
||||
* **Provisioning**: Allows specifying uid for datasource and use that in derived fields. [#23585](https://github.com/grafana/grafana/pull/23585), [@aocenas](https://github.com/aocenas)
|
||||
* **Provisioning**: Validate that dashboard providers have unique names. [#22898](https://github.com/grafana/grafana/pull/22898), [@youshy](https://github.com/youshy)
|
||||
* **Rendering**: Add metrics. [#23827](https://github.com/grafana/grafana/pull/23827), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
* **Search**: Replace search implementation. [#23855](https://github.com/grafana/grafana/pull/23855), [@sakjur](https://github.com/sakjur)
|
||||
* **Stackdriver**: Support for SLO queries. [#22917](https://github.com/grafana/grafana/pull/22917), [@sunker](https://github.com/sunker)
|
||||
* **Table**: Improvements to column resizing, style and alignment . [#23663](https://github.com/grafana/grafana/pull/23663), [@torkelo](https://github.com/torkelo)
|
||||
* **Table**: upgrades react-table to 7.0.0 and typings. [#23247](https://github.com/grafana/grafana/pull/23247), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
* **TablePanel**: Handle column overflow and horizontal scrolling in table panel. [#4157](https://github.com/grafana/grafana/pull/4157), [@jerryxguo](https://github.com/jerryxguo)
|
||||
* **Tracing**: Zipkin datasource. [#23829](https://github.com/grafana/grafana/pull/23829), [@aocenas](https://github.com/aocenas)
|
||||
* **Transformations**: Improve UI and add some love to filter by name. [#23751](https://github.com/grafana/grafana/pull/23751), [@dprokop](https://github.com/dprokop)
|
||||
* **Transformers**: adds labels as columns transformer. [#23703](https://github.com/grafana/grafana/pull/23703), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
* **Transformers**: calculate a new field based on the row values. [#23675](https://github.com/grafana/grafana/pull/23675), [@ryantxu](https://github.com/ryantxu)
|
||||
* **Units**: add (IEC) and (Metric) to bits and bytes. [#23175](https://github.com/grafana/grafana/pull/23175), [@flopp999](https://github.com/flopp999)
|
||||
* **Usagestats**: Add usage stats about what type of datasource is used in alerting. . [#23125](https://github.com/grafana/grafana/pull/23125), [@bergquist](https://github.com/bergquist)
|
||||
* **Variable**: Support more variable formatting.. [#21622](https://github.com/grafana/grafana/pull/21622), [@xiaobeiyang](https://github.com/xiaobeiyang)
|
||||
* **azuremonitor**: add alerting support - port azure log analytics to the backend. [#23839](https://github.com/grafana/grafana/pull/23839), [@daniellee](https://github.com/daniellee)
|
||||
* **delete old dashboard versions in multiple batches**. [#23348](https://github.com/grafana/grafana/pull/23348), [@DanCech](https://github.com/DanCech)
|
||||
* **grafana/data**: PanelTypeChangedHandler API update to use PanelModel instead of panel options object [BREAKING]. [#22754](https://github.com/grafana/grafana/pull/22754), [@dprokop](https://github.com/dprokop)
|
||||
* **grafana/ui**: Add basic horizontal and vertical layout components. [#22303](https://github.com/grafana/grafana/pull/22303), [@dprokop](https://github.com/dprokop)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **@grafana/ui**: Fix time range when only partial datetime is provided. [#23122](https://github.com/grafana/grafana/pull/23122), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Alerting**: Only include image in notifier when enabled. [#23194](https://github.com/grafana/grafana/pull/23194), [@marefr](https://github.com/marefr)
|
||||
- **Alerting**: Basic auth should not be required in the Alertmanager notifier. [#23691](https://github.com/grafana/grafana/pull/23691), [@bergquist](https://github.com/bergquist)
|
||||
- **Alerting**: Translate notification IDs to UIDs when extracting alert rules. [#19882](https://github.com/grafana/grafana/pull/19882), [@aSapien](https://github.com/aSapien)
|
||||
- **Azure Monitor**: Fix for application insights Azure China plugin route. [#23877](https://github.com/grafana/grafana/pull/23877), [@daniellee](https://github.com/daniellee)
|
||||
- **CloudWatch**: Add ServerlessDatabaseCapacity to AWS/RDS metrics. [#23635](https://github.com/grafana/grafana/pull/23635), [@jackstevenson](https://github.com/jackstevenson)
|
||||
- **Dashboard**: Fix global variable "\_\_org.id". [#23362](https://github.com/grafana/grafana/pull/23362), [@vikkyomkar](https://github.com/vikkyomkar)
|
||||
- **Dashboard**: Handle min refresh interval when importing dashboard. [#23959](https://github.com/grafana/grafana/pull/23959), [@marefr](https://github.com/marefr)
|
||||
- **DataSourceProxy**: Handle URL parsing error. [#23731](https://github.com/grafana/grafana/pull/23731), [@aknuds1](https://github.com/aknuds1)
|
||||
- **Frontend**: Fix sorting of organization popup in alphabetical order. [#22259](https://github.com/grafana/grafana/pull/22259), [@vikkyomkar](https://github.com/vikkyomkar)
|
||||
- **Image Rendering**: Make it work using serve_from_sub_path configured. [#23706](https://github.com/grafana/grafana/pull/23706), [@marefr](https://github.com/marefr)
|
||||
- **Image rendering**: Fix missing icon on plugins list. [#23958](https://github.com/grafana/grafana/pull/23958), [@marefr](https://github.com/marefr)
|
||||
- **Logs**: Fix error when non-string log level supplied. [#23654](https://github.com/grafana/grafana/pull/23654), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Rich history**: Fix create url and run query for various datasources. [#23627](https://github.com/grafana/grafana/pull/23627), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Security**: Fix XSS vulnerability in table panel. [#23816](https://github.com/grafana/grafana/pull/23816), [@torkelo](https://github.com/torkelo)
|
||||
|
||||
* **@grafana/ui**: Fix time range when only partial datetime is provided. [#23122](https://github.com/grafana/grafana/pull/23122), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
* **Alerting**: Only include image in notifier when enabled. [#23194](https://github.com/grafana/grafana/pull/23194), [@marefr](https://github.com/marefr)
|
||||
* **Alertmanager**: Basic auth should not be required.. [#23691](https://github.com/grafana/grafana/pull/23691), [@bergquist](https://github.com/bergquist)
|
||||
* **Dashboard**: Handle min refresh interval when importing dashboard. [#23959](https://github.com/grafana/grafana/pull/23959), [@marefr](https://github.com/marefr)
|
||||
* **DataSourceProxy**: Handle URL parsing error. [#23731](https://github.com/grafana/grafana/pull/23731), [@aknuds1](https://github.com/aknuds1)
|
||||
* **Fix**: Shows organization popup in alphabetical order. [#22259](https://github.com/grafana/grafana/pull/22259), [@vikkyomkar](https://github.com/vikkyomkar)
|
||||
* **Image Rendering**: Make it work using serve_from_sub_path configured. [#23706](https://github.com/grafana/grafana/pull/23706), [@marefr](https://github.com/marefr)
|
||||
* **Image rendering**: Fix missing icon on plugins list. [#23958](https://github.com/grafana/grafana/pull/23958), [@marefr](https://github.com/marefr)
|
||||
* **Logs**: Fix error when non-string log level supplied. [#23654](https://github.com/grafana/grafana/pull/23654), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
* **Rich history**: Fix create url and run query for various datasources. [#23627](https://github.com/grafana/grafana/pull/23627), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
* **Security**: Fix XSS vulnerability in table panel. [#23816](https://github.com/grafana/grafana/pull/23816), [@torkelo](https://github.com/torkelo)
|
||||
* **Templating**: Fix global variable "__org.id". [#23362](https://github.com/grafana/grafana/pull/23362), [@vikkyomkar](https://github.com/vikkyomkar)
|
||||
* **azuremonitor**: fix for app insights azure china plugin route. [#23877](https://github.com/grafana/grafana/pull/23877), [@daniellee](https://github.com/daniellee)
|
||||
|
||||
# 6.7.3 (2020-04-23)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **Admin**: Fix Synced via LDAP message for non-LDAP external users. [#23477](https://github.com/grafana/grafana/pull/23477), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
- **Alerting**: Fixes notifications for alerts with empty message in Google Hangouts notifier. [#23559](https://github.com/grafana/grafana/pull/23559), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **AuthProxy**: Fixes bug where long username could not be cached.. [#22926](https://github.com/grafana/grafana/pull/22926), [@jcmcken](https://github.com/jcmcken)
|
||||
- **Dashboard**: Fix saving dashboard when editing raw dashboard JSON model. [#23314](https://github.com/grafana/grafana/pull/23314), [@peterholmberg](https://github.com/peterholmberg)
|
||||
- **Dashboard**: Try to parse 8 and 15 digit numbers as timestamps if parsing of time range as date fails. [#21694](https://github.com/grafana/grafana/pull/21694), [@jessetan](https://github.com/jessetan)
|
||||
- **DashboardListPanel**: Fixed problem with empty panel after going into edit mode (General folder filter being automatically added) . [#23426](https://github.com/grafana/grafana/pull/23426), [@torkelo](https://github.com/torkelo)
|
||||
- **Data source**: Handle datasource withCredentials option properly. [#23380](https://github.com/grafana/grafana/pull/23380), [@hvtuananh](https://github.com/hvtuananh)
|
||||
- **Security**: Fix annotation popup XSS vulnerability [#23813](https://github.com/grafana/grafana/pull/23813), [@torkelo](https://github.com/torkelo). Big thanks to Juha Laaksonen for reporting this issue.
|
||||
- **Security**: Fix XSS vulnerability in table panel [#23816](https://github.com/grafana/grafana/pull/23816), [@torkelo](https://github.com/torkelo). Big thanks to Rotem Reiss for reporting this issue.
|
||||
- **Server**: Exit Grafana with status code 0 if no error. [#23312](https://github.com/grafana/grafana/pull/23312), [@aknuds1](https://github.com/aknuds1)
|
||||
- **TablePanel**: Fix XSS issue in header column rename (backport). [#23814](https://github.com/grafana/grafana/pull/23814), [@torkelo](https://github.com/torkelo)
|
||||
- **Variables**: Fixes error when setting adhoc variable values. [#23580](https://github.com/grafana/grafana/pull/23580), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
* **Admin**: Fix Synced via LDAP message for non-LDAP external users. [#23477](https://github.com/grafana/grafana/pull/23477), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
* **Alerting**: Fixes notifications for alerts with empty message in Google Hangouts notifier. [#23559](https://github.com/grafana/grafana/pull/23559), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
* **AuthProxy**: Fixes bug where long username could not be cached.. [#22926](https://github.com/grafana/grafana/pull/22926), [@jcmcken](https://github.com/jcmcken)
|
||||
* **Dashboard**: Fix saving dashboard when editing raw dashboard JSON model. [#23314](https://github.com/grafana/grafana/pull/23314), [@peterholmberg](https://github.com/peterholmberg)
|
||||
* **Dashboard**: Try to parse 8 and 15 digit numbers as timestamps if parsing of time range as date fails. [#21694](https://github.com/grafana/grafana/pull/21694), [@jessetan](https://github.com/jessetan)
|
||||
* **DashboardListPanel**: Fixed problem with empty panel after going into edit mode (General folder filter being automatically added) . [#23426](https://github.com/grafana/grafana/pull/23426), [@torkelo](https://github.com/torkelo)
|
||||
* **Data source**: Handle datasource withCredentials option properly. [#23380](https://github.com/grafana/grafana/pull/23380), [@hvtuananh](https://github.com/hvtuananh)
|
||||
* **Security**: Fix annotation popup XSS vulnerability [#23813](https://github.com/grafana/grafana/pull/23813), [@torkelo](https://github.com/torkelo). Big thanks to Juha Laaksonen for reporting this issue.
|
||||
* **Security**: Fix XSS vulnerability in table panel [#23816](https://github.com/grafana/grafana/pull/23816), [@torkelo](https://github.com/torkelo). Big thanks to Rotem Reiss for reporting this issue.
|
||||
* **Server**: Exit Grafana with status code 0 if no error. [#23312](https://github.com/grafana/grafana/pull/23312), [@aknuds1](https://github.com/aknuds1)
|
||||
* **TablePanel**: Fix XSS issue in header column rename (backport). [#23814](https://github.com/grafana/grafana/pull/23814), [@torkelo](https://github.com/torkelo)
|
||||
* **Variables**: Fixes error when setting adhoc variable values. [#23580](https://github.com/grafana/grafana/pull/23580), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
|
||||
# 6.7.2 (2020-04-02)
|
||||
|
||||
@@ -286,7 +126,7 @@ We have also extended the time zone options so you can select any of the standar
|
||||
- **Security**: Fix for dashboard snapshot original dashboard link could contain XSS vulnerability in url. [#23254](https://github.com/grafana/grafana/pull/23254), [@torkelo](https://github.com/torkelo). Big thanks to Ahmed A. Sherif for reporting this issue.
|
||||
- **Variables**: Fixes issue with too many queries being issued for nested template variables after value change. [#23220](https://github.com/grafana/grafana/pull/23220), [@torkelo](https://github.com/torkelo)
|
||||
- **Plugins**: Expose promiseToDigest. [#23249](https://github.com/grafana/grafana/pull/23249), [@torkelo](https://github.com/torkelo)
|
||||
- **Reporting**: Fixes issue updating a report created by someone else (Enterprise)
|
||||
- **Reporting (Enterprise)**: Fixes issue updating a report created by someone else
|
||||
|
||||
# 6.7.1 (2020-03-20)
|
||||
|
||||
@@ -349,7 +189,7 @@ if (!responseHeaders) {
|
||||
}
|
||||
|
||||
// Support pre 6.7 angular HTTP rather than fetch
|
||||
if (typeof responseHeaders === 'function') {
|
||||
if (typeof responseHeaders === "function") {
|
||||
responseHeaders = responseHeaders();
|
||||
}
|
||||
```
|
||||
@@ -375,7 +215,7 @@ You can test your plugin with the `master` branch version of Grafana.
|
||||
- **OAuth**: Implement Azure AD provide. [#20030](https://github.com/grafana/grafana/pull/20030), [@twendt](https://github.com/twendt)
|
||||
- **Prometheus**: Implement region annotation. [#22225](https://github.com/grafana/grafana/pull/22225), [@secustor](https://github.com/secustor)
|
||||
- **Prometheus**: make \$\_\_range more precise. [#21722](https://github.com/grafana/grafana/pull/21722), [@bmerry](https://github.com/bmerry)
|
||||
- **Prometheus**: Do not show rate hint when increase function is used in query. [#21955](https://github.com/grafana/grafana/pull/21955), [@fredwangwang](https://github.com/fredwangwang)
|
||||
- **Promethus**: Do not show rate hint when increase function is used in query. [#21955](https://github.com/grafana/grafana/pull/21955), [@fredwangwang](https://github.com/fredwangwang)
|
||||
- **Stackdriver**: Project selector. [#22447](https://github.com/grafana/grafana/pull/22447), [@sunker](https://github.com/sunker)
|
||||
- **TablePanel**: display multi-line text. [#20210](https://github.com/grafana/grafana/pull/20210), [@michael-az](https://github.com/michael-az)
|
||||
- **Templating**: Add new global built-in variables. [#21790](https://github.com/grafana/grafana/pull/21790), [@dcastanier](https://github.com/dcastanier)
|
||||
@@ -730,7 +570,7 @@ You can test your plugin with the `master` branch version of Grafana.
|
||||
|
||||
#### Security vulnerability
|
||||
|
||||
The MySQL data source connection string fix, [#20192](https://github.com/grafana/grafana/pull/20192), that was part of this release
|
||||
The MySQL data source connnection string fix, [#20192](https://github.com/grafana/grafana/pull/20192), that was part of this release
|
||||
also fixed a security vulnerability. Thanks Yuriy Dyachenko for discovering and notifying us about this.
|
||||
|
||||
# 6.4.3 (2019-10-16)
|
||||
@@ -879,7 +719,7 @@ also fixed a security vulnerability. Thanks Yuriy Dyachenko for discovering and
|
||||
### Annotations
|
||||
|
||||
There are some breaking changes in the annotations HTTP API for region annotations. Region annotations are now represented
|
||||
using a single event instead of two separate events. Check breaking changes in HTTP API [below](#http-api) and [HTTP API documentation](https://grafana.com/docs/http_api/annotations/) for more details.
|
||||
using a single event instead of two seperate events. Check breaking changes in HTTP API [below](#http-api) and [HTTP API documentation](https://grafana.com/docs/http_api/annotations/) for more details.
|
||||
|
||||
### Docker
|
||||
|
||||
@@ -1151,7 +991,7 @@ More details in bug report: https://github.com/grafana/grafana/issues/17613
|
||||
- **Database**: Retry transaction if sqlite returns database is locked error. [#17276](https://github.com/grafana/grafana/pull/17276), [@marefr](https://github.com/marefr)
|
||||
- **Explore**: Fixes so clicking in a Prometheus Table the query is filtered by clicked value. [#17083](https://github.com/grafana/grafana/pull/17083), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **Singlestat**: Fixes issue with value placement and line wraps. [#17249](https://github.com/grafana/grafana/pull/17249), [@torkelo](https://github.com/torkelo)
|
||||
- **Tech**: Update jQuery to 3.4.1 to fix issue on iOS 10 based browsers as well as Chrome 53.x . [#17290](https://github.com/grafana/grafana/pull/17290), [@timbutler](https://github.com/timbutler)
|
||||
- **Tech**: Update jQuery to 3.4.1 to fix issue on iOS 10 based browers as well as Chrome 53.x . [#17290](https://github.com/grafana/grafana/pull/17290), [@timbutler](https://github.com/timbutler)
|
||||
|
||||
# 6.2.0 (2019-05-22)
|
||||
|
||||
@@ -1226,7 +1066,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
|
||||
- **Loki**: Search is now case insensitive. [#15948](https://github.com/grafana/grafana/pull/15948), [@steven-sheehy](https://github.com/steven-sheehy)
|
||||
- **OAuth**: Update jwt regexp to include `=`. [#16521](https://github.com/grafana/grafana/pull/16521), [@DanCech](https://github.com/DanCech)
|
||||
- **Panels**: No title will no longer make panel header take up space. [#16884](https://github.com/grafana/grafana/pull/16884), [@torkelo](https://github.com/torkelo)
|
||||
- **Prometheus**: Adds tracing headers for Prometheus datasource. [#16724](https://github.com/grafana/grafana/pull/16724), [@svagner](https://github.com/svagner)
|
||||
- **Prometheus**: Adds tracing headers for Prometheus datas ource. [#16724](https://github.com/grafana/grafana/pull/16724), [@svagner](https://github.com/svagner)
|
||||
- **Provisioning**: Add API endpoint to reload provisioning configs. [#16579](https://github.com/grafana/grafana/pull/16579), [@aocenas](https://github.com/aocenas)
|
||||
- **Provisioning**: Do not allow deletion of provisioned dashboards. [#16211](https://github.com/grafana/grafana/pull/16211), [@aocenas](https://github.com/aocenas)
|
||||
- **Provisioning**: Interpolate env vars in provisioning files. [#16499](https://github.com/grafana/grafana/pull/16499), [@aocenas](https://github.com/aocenas)
|
||||
@@ -1365,7 +1205,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
|
||||
- **Explore**: Fix for url does not keep query after browser refresh. [#16189](https://github.com/grafana/grafana/pull/16189), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
- **Gauge**: Interpolate scoped variables in repeated gauges [#15739](https://github.com/grafana/grafana/issues/15739)
|
||||
- **Graphite**: Fixed issue with using series ref and series by tag. [#16111](https://github.com/grafana/grafana/pull/16111), [@torkelo](https://github.com/torkelo)
|
||||
- **Graphite**: Fixed variable quoting when variable value is numeric. [#16149](https://github.com/grafana/grafana/pull/16149), [@torkelo](https://github.com/torkelo)
|
||||
- **Graphite**: Fixed variable quoting when variable value is nummeric. [#16149](https://github.com/grafana/grafana/pull/16149), [@torkelo](https://github.com/torkelo)
|
||||
- **Heatmap**: Fixes Y-axis tick labels being in wrong order for some Prometheus queries. [#15932](https://github.com/grafana/grafana/pull/15932), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
- **Heatmap**: Negative values are now displayed correctly in graph & legend. [#15953](https://github.com/grafana/grafana/pull/15953), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
- **Heatmap**: legend shows wrong colors for small values [#14019](https://github.com/grafana/grafana/issues/14019)
|
||||
@@ -1504,7 +1344,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
|
||||
- **Dataproxy**: Override incoming Authorization header [#13815](https://github.com/grafana/grafana/issues/13815), thx [@kornholi](https://github.com/kornholi)
|
||||
- **Dataproxy**: Add global data source proxy timeout setting [#5699](https://github.com/grafana/grafana/issues/5699), thx [@RangerRick](https://github.com/RangerRick)
|
||||
- **Database**: Support specifying database host using IPV6 for backend database and sql data sources [#13711](https://github.com/grafana/grafana/issues/13711), thx [@ellisvlad](https://github.com/ellisvlad)
|
||||
- **Database**: Support defining additional database connection string args when using `url` property in database settings [#14709](https://github.com/grafana/grafana/pull/14709), thx [@tpetr](https://github.com/tpetr)
|
||||
- **Database**: Support defining additonal database connection string args when using `url` property in database settings [#14709](https://github.com/grafana/grafana/pull/14709), thx [@tpetr](https://github.com/tpetr)
|
||||
- **Stackdriver**: crossSeriesAggregation not being sent with the query [#15129](https://github.com/grafana/grafana/issues/15129), thx [@Legogris](https://github.com/Legogris)
|
||||
|
||||
### Bug fixes
|
||||
@@ -1523,7 +1363,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
|
||||
|
||||
### Breaking changes
|
||||
|
||||
- **Text Panel**: The text panel does no longer by default allow unsanitized HTML. [#4117](https://github.com/grafana/grafana/issues/4117). This means that if you have text panels with scripts tags they will no longer work as before. To enable unsafe javascript execution in text panels enable the settings `disable_sanitize_html` under the section `[panels]` in your Grafana ini file, or set env variable `GF_PANELS_DISABLE_SANITIZE_HTML=true`.
|
||||
- **Text Panel**: The text panel does no longer by default allow unsantizied HTML. [#4117](https://github.com/grafana/grafana/issues/4117). This means that if you have text panels with scripts tags they will no longer work as before. To enable unsafe javascript execution in text panels enable the settings `disable_sanitize_html` under the section `[panels]` in your Grafana ini file, or set env variable `GF_PANELS_DISABLE_SANITIZE_HTML=true`.
|
||||
- **Dashboard**: Panel property `minSpan` replaced by `maxPerRow`. Dashboard migration will automatically migrate all dashboard panels using the `minSpan` property to the new `maxPerRow` property [#12991](https://github.com/grafana/grafana/pull/12991)
|
||||
|
||||
# 5.4.5 (2019-08-29)
|
||||
@@ -1612,7 +1452,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
|
||||
- **Table**: Fix CSS alpha background-color applied twice in table cell with link [#13606](https://github.com/grafana/grafana/issues/13606), thx [@grisme](https://github.com/grisme)
|
||||
- **Singlestat**: Fix XSS in prefix/postfix [#13946](https://github.com/grafana/grafana/issues/13946), thx [@cinaglia](https://github.com/cinaglia)
|
||||
- **Units**: New clock time format, to format ms or second values as for example `01h:59m`, [#13635](https://github.com/grafana/grafana/issues/13635), thx [@franciscocpg](https://github.com/franciscocpg)
|
||||
- **Alerting**: Increase default duration for queries [#13945](https://github.com/grafana/grafana/pull/13945)
|
||||
- **Alerting**: Increaste default duration for queries [#13945](https://github.com/grafana/grafana/pull/13945)
|
||||
- **Alerting**: More options for the Slack Alert notifier [#13993](https://github.com/grafana/grafana/issues/13993), thx [@andreykaipov](https://github.com/andreykaipov)
|
||||
- **Alerting**: Can't receive DingDing alert when alert is triggered [#13723](https://github.com/grafana/grafana/issues/13723), thx [@Yukinoshita-Yukino](https://github.com/Yukinoshita-Yukino)
|
||||
- **Alerting**: Increase Telegram captions length limit [#13876](https://github.com/grafana/grafana/pull/13876), thx [@skgsergio](https://github.com/skgsergio)
|
||||
@@ -2563,7 +2403,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
|
||||
|
||||
## Minor Enhancements
|
||||
|
||||
- **Optimization**: Never issue refresh event when Grafana tab is not visible [#7218](https://github.com/grafana/grafana/issues/7218), thx [@mtanda](https://github.com/mtanda)
|
||||
- **Optimzation**: Never issue refresh event when Grafana tab is not visible [#7218](https://github.com/grafana/grafana/issues/7218), thx [@mtanda](https://github.com/mtanda)
|
||||
- **Browser History**: Browser back/forward now works time ranges / zoom, [#7259](https://github.com/grafana/grafana/issues/7259)
|
||||
- **Elasticsearch**: Support for Min Doc Count options in Terms aggregation [#7324](https://github.com/grafana/grafana/pull/7324), thx [@lpic10](https://github.com/lpic10)
|
||||
- **Elasticsearch**: Term aggregation limit can now be changed in template queries [#7112](https://github.com/grafana/grafana/issues/7112), thx [@FFalcon](https://github.com/FFalcon)
|
||||
@@ -2633,7 +2473,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
|
||||
|
||||
- **Postgres**: Add support for Certs for Postgres database [#6655](https://github.com/grafana/grafana/issues/6655)
|
||||
- **Victorops**: Add VictorOps notification integration [#6411](https://github.com/grafana/grafana/issues/6411), thx [@ichekrygin](https://github.com/ichekrygin)
|
||||
- **Opsgenie**: Add OpsGenie notification integration [#6687](https://github.com/grafana/grafana/issues/6687), thx [@kylemcc](https://github.com/kylemcc)
|
||||
- **Opsgenie**: Add OpsGenie notification integratiion [#6687](https://github.com/grafana/grafana/issues/6687), thx [@kylemcc](https://github.com/kylemcc)
|
||||
- **Singlestat**: New aggregation on singlestat panel [#6740](https://github.com/grafana/grafana/pull/6740), thx [@dirk-leroux](https://github.com/dirk-leroux)
|
||||
- **Cloudwatch**: Make it possible to specify access and secret key on the data source config page [#6697](https://github.com/grafana/grafana/issues/6697)
|
||||
- **Table**: Added Hidden Column Style for Table Panel [#5677](https://github.com/grafana/grafana/pull/5677), thx [@bmundt](https://github.com/bmundt)
|
||||
@@ -2653,7 +2493,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
|
||||
|
||||
- **API**: HTTP API for deleting org returning incorrect message for a non-existing org [#6679](https://github.com/grafana/grafana/issues/6679)
|
||||
- **Dashboard**: Posting empty dashboard result in corrupted dashboard [#5443](https://github.com/grafana/grafana/issues/5443)
|
||||
- **Logging**: Fixed logging level config issue [#6978](https://github.com/grafana/grafana/issues/6978)
|
||||
- **Logging**: Fixed logging level confing issue [#6978](https://github.com/grafana/grafana/issues/6978)
|
||||
- **Notifications**: Remove html escaping the email subject. [#6905](https://github.com/grafana/grafana/issues/6905)
|
||||
- **Influxdb**: Fixes broken field dropdown when using template vars as measurement. [#6473](https://github.com/grafana/grafana/issues/6473)
|
||||
|
||||
@@ -2720,12 +2560,12 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
|
||||
### Enhancements
|
||||
|
||||
- **Login**: Adds option to disable username/password logins, closes [#4674](https://github.com/grafana/grafana/issues/4674)
|
||||
- **SingleStat**: Add seriesName as option in singlestat panel, closes [#4740](https://github.com/grafana/grafana/issues/4740)
|
||||
- **SingleStat**: Add seriename as option in singlestat panel, closes [#4740](https://github.com/grafana/grafana/issues/4740)
|
||||
- **Localization**: Week start day now dependent on browser locale setting, closes [#3003](https://github.com/grafana/grafana/issues/3003)
|
||||
- **Templating**: Update panel repeats for variables that change on time refresh, closes [#5021](https://github.com/grafana/grafana/issues/5021)
|
||||
- **Templating**: Add support for numeric and alphabetical sorting of variable values, closes [#2839](https://github.com/grafana/grafana/issues/2839)
|
||||
- **Elasticsearch**: Support to set Precision Threshold for Unique Count metric, closes [#4689](https://github.com/grafana/grafana/issues/4689)
|
||||
- **Navigation**: Add search to org switcher, closes [#2609](https://github.com/grafana/grafana/issues/2609)
|
||||
- **Navigation**: Add search to org swithcer, closes [#2609](https://github.com/grafana/grafana/issues/2609)
|
||||
- **Database**: Allow database config using one property, closes [#5456](https://github.com/grafana/grafana/pull/5456)
|
||||
- **Graphite**: Add support for groupByNodes, closes [#5613](https://github.com/grafana/grafana/pull/5613)
|
||||
- **Influxdb**: Add support for elapsed(), closes [#5827](https://github.com/grafana/grafana/pull/5827)
|
||||
@@ -2768,7 +2608,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
|
||||
- **IFrame embedding**: Fixed issue of using full iframe height, fixes [#5605](https://github.com/grafana/grafana/issues/5606)
|
||||
- **Panel PNG rendering**: Fixed issue detecting render completion, fixes [#5605](https://github.com/grafana/grafana/issues/5606)
|
||||
- **Elasticsearch**: Fixed issue with templating query and json parse error, fixes [#5615](https://github.com/grafana/grafana/issues/5615)
|
||||
- **Tech**: Upgraded JQuery to 2.2.4 to fix Security vulnerabilities in 2.1.4, fixes [#5627](https://github.com/grafana/grafana/issues/5627)
|
||||
- **Tech**: Upgraded JQuery to 2.2.4 to fix Security vulnerabilitie in 2.1.4, fixes [#5627](https://github.com/grafana/grafana/issues/5627)
|
||||
- **Graphite**: Fixed issue with mixed data sources and Graphite, fixes [#5617](https://github.com/grafana/grafana/issues/5617)
|
||||
- **Templating**: Fixed issue with template variable query was issued multiple times during dashboard load, fixes [#5637](https://github.com/grafana/grafana/issues/5637)
|
||||
- **Zoom**: Fixed issues with zoom in and out on embedded (iframed) panel, fixes [#4489](https://github.com/grafana/grafana/issues/4489), [#5666](https://github.com/grafana/grafana/issues/5666)
|
||||
@@ -2785,7 +2625,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
|
||||
|
||||
### Enhancements
|
||||
|
||||
- **Dashboard Export/Import**: Dashboard export now templatize data sources and constant variables, users pick these on import, closes [#5084](https://github.com/grafana/grafana/issues/5084)
|
||||
- **Dashboard Export/Import**: Dashboard export now templetize data sources and constant variables, users pick these on import, closes [#5084](https://github.com/grafana/grafana/issues/5084)
|
||||
- **Dashboard Url**: Time range changes updates url, closes [#458](https://github.com/grafana/grafana/issues/458)
|
||||
- **Dashboard Url**: Template variable change updates url, closes [#5002](https://github.com/grafana/grafana/issues/5002)
|
||||
- **Singlestat**: Add support for range to text mappings, closes [#1319](https://github.com/grafana/grafana/issues/1319)
|
||||
@@ -2982,7 +2822,7 @@ slack channel (link to slack channel in readme).
|
||||
- **Row repeat**: Repeated rows will now appear next to each other and not by the bottom of the dashboard, fixes [#3942](https://github.com/grafana/grafana/issues/3942)
|
||||
- **Png renderer**: Fix for phantomjs path on windows, fixes [#3657](https://github.com/grafana/grafana/issues/3657)
|
||||
|
||||
# 2.6.1 (unreleased, 2.6.x branch)
|
||||
# 2.6.1 (unrelased, 2.6.x branch)
|
||||
|
||||
### New Features
|
||||
|
||||
@@ -3077,9 +2917,9 @@ slack channel (link to slack channel in readme).
|
||||
- [Issue #2574](https://github.com/grafana/grafana/issues/2574). Snapshot: Fix for snapshot with expire 7 days option, 7 days option not correct, was 7 hours
|
||||
- [Issue #2568](https://github.com/grafana/grafana/issues/2568). AuthProxy: Fix for server side rendering of panel when using auth proxy
|
||||
- [Issue #2490](https://github.com/grafana/grafana/issues/2490). Graphite: Dashboard import was broken in 2.1 and 2.1.1, working now
|
||||
- [Issue #2565](https://github.com/grafana/grafana/issues/2565). TimePicker: Fix for when you applied custom time range it did not refresh dashboard
|
||||
- [Issue #2563](https://github.com/grafana/grafana/issues/2563). Annotations: Fixed issue when html sanitizer fails for title to annotation body, now fallbacks to html escaping title and text
|
||||
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another attempt at fixing #2534 (Init multi value template var used in repeat panel from url)
|
||||
- [Issue #2565](https://github.com/grafana/grafana/issues/2565). TimePicker: Fix for when you applied custom time range it did not refreh dashboard
|
||||
- [Issue #2563](https://github.com/grafana/grafana/issues/2563). Annotations: Fixed issue when html sanitizer failes for title to annotation body, now fallbacks to html escaping title and text
|
||||
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another atempt at fixing #2534 (Init multi value template var used in repeat panel from url)
|
||||
- [Issue #2620](https://github.com/grafana/grafana/issues/2620). Graph: multi series tooltip did no highlight correct point when stacking was enabled and series were of different resolution
|
||||
- [Issue #2636](https://github.com/grafana/grafana/issues/2636). InfluxDB: Do no show template vars in dropdown for tag keys and group by keys
|
||||
- [Issue #2604](https://github.com/grafana/grafana/issues/2604). InfluxDB: More alias options, can now use `$[0-9]` syntax to reference part of a measurement name (separated by dots)
|
||||
@@ -3108,7 +2948,7 @@ Grunt & Watch tasks:
|
||||
**Fixes**
|
||||
|
||||
- [Issue #2580](https://github.com/grafana/grafana/issues/2580). Packaging: ldap.toml was not marked as config file and could be overwritten in upgrade
|
||||
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another attempt at fixing #2534 (Init multi value template var used in repeat panel from url)
|
||||
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another atempt at fixing #2534 (Init multi value template var used in repeat panel from url)
|
||||
|
||||
# 2.1.2 (2015-08-20)
|
||||
|
||||
@@ -3161,7 +3001,7 @@ Grunt & Watch tasks:
|
||||
|
||||
**Backend**
|
||||
|
||||
- [Issue #2218](https://github.com/grafana/grafana/issues/2218). Auth: You can now authenticate against api with username / password using basic auth
|
||||
- [Issue #2218](https://github.com/grafana/grafana/issues/2218). Auth: You can now authenicate against api with username / password using basic auth
|
||||
- [Issue #2095](https://github.com/grafana/grafana/issues/2095). Search: Search now supports filtering by multiple dashboard tags
|
||||
- [Issue #1905](https://github.com/grafana/grafana/issues/1905). Github OAuth: You can now configure a Github team membership requirement, thx @dewski
|
||||
- [Issue #2052](https://github.com/grafana/grafana/issues/2052). Github OAuth: You can now configure a Github organization requirement, thx @indrekj
|
||||
@@ -3172,7 +3012,7 @@ Grunt & Watch tasks:
|
||||
**Breaking changes**
|
||||
|
||||
- [Issue #1826](https://github.com/grafana/grafana/issues/1826). User role 'Viewer' are now prohibited from entering edit mode (and doing other transient dashboard edits). A new role `Read Only Editor` will replace the old Viewer behavior
|
||||
- [Issue #1928](https://github.com/grafana/grafana/issues/1928). HTTP API: GET /api/dashboards/db/:slug response changed property `model` to `dashboard` to match the POST request naming
|
||||
- [Issue #1928](https://github.com/grafana/grafana/issues/1928). HTTP API: GET /api/dashboards/db/:slug response changed property `model` to `dashboard` to match the POST request nameing
|
||||
- Backend render URL changed from `/render/dashboard/solo` `render/dashboard-solo/` (in order to have consistent dashboard url `/dashboard/:type/:slug`)
|
||||
- Search HTTP API response has changed (simplified), tags list moved to separate HTTP resource URI
|
||||
- Data source HTTP api breaking change, ADD data source is now POST /api/datasources/, update is now PUT /api/datasources/:id
|
||||
@@ -3195,7 +3035,7 @@ Grunt & Watch tasks:
|
||||
**Fixes**
|
||||
|
||||
- [Issue #1832](https://github.com/grafana/grafana/issues/1832). Graph Panel + Legend Table mode: Many series caused zero height graph, now legend will never reduce the height of the graph below 50% of row height.
|
||||
- [Issue #1846](https://github.com/grafana/grafana/issues/1846). Snapshots: Fixed issue with snapshotting dashboards with an interval template variable
|
||||
- [Issue #1846](https://github.com/grafana/grafana/issues/1846). Snapshots: Fixed issue with snapshoting dashboards with an interval template variable
|
||||
- [Issue #1848](https://github.com/grafana/grafana/issues/1848). Panel timeshift: You can now use panel timeshift without a relative time override
|
||||
|
||||
# 2.0.1 (2015-04-20)
|
||||
@@ -3309,7 +3149,7 @@ Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated
|
||||
|
||||
**Enhancements**
|
||||
|
||||
- [Issue #1028](https://github.com/grafana/grafana/issues/1028). Graph: New legend option `hideEmpty` to hide series with only null values from legend
|
||||
- [Issue #1028](https://github.com/grafana/grafana/issues/1028). Graph: New legend option `hideEmtpy` to hide series with only null values from legend
|
||||
- [Issue #1242](https://github.com/grafana/grafana/issues/1242). OpenTSDB: Downsample query field now supports interval template variable
|
||||
- [Issue #1126](https://github.com/grafana/grafana/issues/1126). InfluxDB: Support more than 10 series name segments when using alias `$number` patterns
|
||||
|
||||
@@ -3317,7 +3157,7 @@ Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated
|
||||
|
||||
- [Issue #1251](https://github.com/grafana/grafana/issues/1251). Graph: Fix for y axis and scaled units (GiB etc) caused rounding, for example 400 GiB instead of 378 GiB
|
||||
- [Issue #1199](https://github.com/grafana/grafana/issues/1199). Graph: fix for series tooltip when one series is hidden/disabled
|
||||
- [Issue #1207](https://github.com/grafana/grafana/issues/1207). Graphite: movingAverage / movingMedian parameter type improvement, now handles int and interval parameter
|
||||
- [Issue #1207](https://github.com/grafana/grafana/issues/1207). Graphite: movingAverage / movingMedian parameter type impovement, now handles int and interval parameter
|
||||
|
||||
# 1.9.0 (2014-12-02)
|
||||
|
||||
@@ -3510,7 +3350,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
|
||||
- [Issue #584](https://github.com/grafana/grafana/issues/584). InfluxDB: Support for alias & alias patterns when using raw query mode
|
||||
- [Issue #394](https://github.com/grafana/grafana/issues/394). InfluxDB: Annotation support
|
||||
- [Issue #633](https://github.com/grafana/grafana/issues/633). InfluxDB: InfluxDB can now act as a datastore for dashboards
|
||||
- [Issue #610](https://github.com/grafana/grafana/issues/610). InfluxDB: Support for InfluxdB v0.8 list series response schema (series typeahead)
|
||||
- [Issue #610](https://github.com/grafana/grafana/issues/610). InfluxDB: Support for InfluxdB v0.8 list series response schemea (series typeahead)
|
||||
- [Issue #525](https://github.com/grafana/grafana/issues/525). InfluxDB: Enhanced series aliasing (legend names) with pattern replacements
|
||||
- [Issue #266](https://github.com/grafana/grafana/issues/266). Graphite: New option cacheTimeout to override graphite default memcache timeout
|
||||
- [Issue #606](https://github.com/grafana/grafana/issues/606). General: New global option in config.js to specify admin password (useful to hinder users from accidentally make changes)
|
||||
@@ -3520,7 +3360,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
|
||||
- [Issue #511](https://github.com/grafana/grafana/issues/511). Text panel: Allow [[..]] filter notation in all text panels (markdown/html/text)
|
||||
- [Issue #136](https://github.com/grafana/grafana/issues/136). Graph: New legend display option "Align as table"
|
||||
- [Issue #556](https://github.com/grafana/grafana/issues/556). Graph: New legend display option "Right side", will show legend to the right of the graph
|
||||
- [Issue #604](https://github.com/grafana/grafana/issues/604). Graph: New axis format, 'bps' (SI unit in steps of 1000) useful for network gear metrics
|
||||
- [Issue #604](https://github.com/grafana/grafana/issues/604). Graph: New axis format, 'bps' (SI unit in steps of 1000) useful for network gear metics
|
||||
- [Issue #626](https://github.com/grafana/grafana/issues/626). Graph: Downscale y axis to more precise unit, value of 0.1 for seconds format will be formatted as 100 ms. Thanks @kamaradclimber
|
||||
- [Issue #618](https://github.com/grafana/grafana/issues/618). OpenTSDB: Series alias option to override metric name returned from opentsdb. Thanks @heldr
|
||||
|
||||
@@ -3549,7 +3389,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
|
||||
|
||||
**Fixes**
|
||||
|
||||
- [Issue #500](https://github.com/grafana/grafana/issues/360). Fixes regex InfluxDB queries introduced in 1.6.0
|
||||
- [Issue #500](https://github.com/grafana/grafana/issues/360). Fixes regex InfluxDB queries intoduced in 1.6.0
|
||||
- [Issue #506](https://github.com/grafana/grafana/issues/506). Bug in when using % sign in legends (aliases), fixed by removing url decoding of metric names
|
||||
- [Issue #522](https://github.com/grafana/grafana/issues/522). Series names and column name typeahead cache fix
|
||||
- [Issue #504](https://github.com/grafana/grafana/issues/504). Fixed influxdb issue with raw query that caused wrong value column detection
|
||||
@@ -3612,7 +3452,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
|
||||
|
||||
### Changes
|
||||
|
||||
- Graph default setting for Y-Min changed from zero to auto scaling (will not effect existing dashboards). ([Issue #386](https://github.com/grafana/grafana/issues/386)) - thx @kamaradclimber
|
||||
- Graph default setting for Y-Min changed from zero to auto scalling (will not effect existing dashboards). ([Issue #386](https://github.com/grafana/grafana/issues/386)) - thx @kamaradclimber
|
||||
|
||||
### Fixes
|
||||
|
||||
|
||||
46
Dockerfile
46
Dockerfile
@@ -1,4 +1,21 @@
|
||||
FROM node:12.16.3-alpine3.11 as js-builder
|
||||
# Golang build container
|
||||
FROM golang:1.14.1-alpine
|
||||
|
||||
RUN apk add --no-cache gcc g++
|
||||
|
||||
WORKDIR $GOPATH/src/github.com/grafana/grafana
|
||||
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
RUN go mod verify
|
||||
|
||||
COPY pkg pkg
|
||||
COPY build.go package.json ./
|
||||
|
||||
RUN go run build.go build
|
||||
|
||||
# Node build container
|
||||
FROM node:12.13.0-alpine
|
||||
|
||||
WORKDIR /usr/src/app/
|
||||
|
||||
@@ -16,23 +33,8 @@ COPY emails emails
|
||||
ENV NODE_ENV production
|
||||
RUN ./node_modules/.bin/grunt build
|
||||
|
||||
FROM golang:1.14.2-alpine3.11 as go-builder
|
||||
|
||||
RUN apk add --no-cache gcc g++
|
||||
|
||||
WORKDIR $GOPATH/src/github.com/grafana/grafana
|
||||
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
RUN go mod verify
|
||||
|
||||
COPY pkg pkg
|
||||
COPY build.go package.json ./
|
||||
|
||||
RUN go run build.go build
|
||||
|
||||
# Final stage
|
||||
FROM alpine:3.11
|
||||
# Final container
|
||||
FROM alpine:3.10
|
||||
|
||||
LABEL maintainer="Grafana team <hello@grafana.com>"
|
||||
|
||||
@@ -50,7 +52,7 @@ ENV PATH="/usr/share/grafana/bin:$PATH" \
|
||||
WORKDIR $GF_PATHS_HOME
|
||||
|
||||
RUN apk add --no-cache ca-certificates bash tzdata && \
|
||||
apk add --no-cache --upgrade openssl musl-utils
|
||||
apk add --no-cache --upgrade --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main openssl musl-utils
|
||||
|
||||
COPY conf ./conf
|
||||
|
||||
@@ -68,9 +70,9 @@ RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
|
||||
chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
|
||||
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
|
||||
|
||||
COPY --from=go-builder /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-server /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-cli ./bin/
|
||||
COPY --from=js-builder /usr/src/app/public ./public
|
||||
COPY --from=js-builder /usr/src/app/tools ./tools
|
||||
COPY --from=0 /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-server /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-cli ./bin/
|
||||
COPY --from=1 /usr/src/app/public ./public
|
||||
COPY --from=1 /usr/src/app/tools ./tools
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
|
||||
@@ -1,4 +1,17 @@
|
||||
FROM node:12.16.3-slim AS js-builder
|
||||
FROM golang:1.14.1 AS go-builder
|
||||
|
||||
WORKDIR /src/grafana
|
||||
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
RUN go mod verify
|
||||
|
||||
COPY build.go package.json ./
|
||||
COPY pkg pkg/
|
||||
|
||||
RUN go run build.go build
|
||||
|
||||
FROM node:12.13 AS js-builder
|
||||
|
||||
WORKDIR /usr/src/app/
|
||||
|
||||
@@ -16,19 +29,6 @@ COPY emails emails
|
||||
ENV NODE_ENV production
|
||||
RUN ./node_modules/.bin/grunt build
|
||||
|
||||
FROM golang:1.14.2 AS go-builder
|
||||
|
||||
WORKDIR /src/grafana
|
||||
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
RUN go mod verify
|
||||
|
||||
COPY build.go package.json ./
|
||||
COPY pkg pkg/
|
||||
|
||||
RUN go run build.go build
|
||||
|
||||
FROM ubuntu:20.04
|
||||
|
||||
LABEL maintainer="Grafana team <hello@grafana.com>"
|
||||
|
||||
@@ -15,15 +15,6 @@ Grafana allows you to query, visualize, alert on and understand your metrics no
|
||||
- **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.
|
||||
|
||||
### Grafana 7.0 and GrafanaCONline
|
||||
|
||||
- Grafana 7.0 Beta is [available for download](https://grafana.com/grafana/download).
|
||||
- Read [what's is new](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v7-0/).
|
||||
|
||||
Want to learn more about Grafana 7 and more? Sign up for our online conference!
|
||||
|
||||
[](https://grafana.com/about/events/grafanacon/2020/?source=grafana-readme)
|
||||
|
||||
## Get started
|
||||
|
||||
- [Get Grafana](https://grafana.com/get)
|
||||
|
||||
@@ -33,7 +33,6 @@ The following sections provide general guidelines on topics specific to Grafana
|
||||
- Use: The panel opens. Grafana opens the panel.
|
||||
* Do not use an ampersand (&) as an abbreviation for "and."
|
||||
- **Exceptions:** If an ampersand is used in the Grafana UI, then match the UI.
|
||||
* Avoid using internal slang and jargon in technical documentation.
|
||||
|
||||
### File naming conventions
|
||||
|
||||
@@ -113,7 +112,7 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||||
|
||||
### Word usage
|
||||
|
||||
Grafana products has some words, abbreviations, and terms particular to the Grafana discourse community.
|
||||
Grafana products has some words, abbreviations, and slang particular to this discourse community.
|
||||
|
||||
#### checkout, check out
|
||||
|
||||
@@ -142,10 +141,6 @@ Two words, not one
|
||||
* Correct, but passive voice: Your list of active alarms is displayed.
|
||||
* Incorrect: The list of active alarms displays.
|
||||
|
||||
#### drawer
|
||||
|
||||
Do not use. This is developer jargon that refers to a UI panel. Refer to the panel or feature by its proper name.
|
||||
|
||||
#### intro, introduction
|
||||
|
||||
"Introduction" is the preferred word. Use "intro" if there are space constraints (like on the side menu) or you are specifically trying for a less formal, more conversational tone.
|
||||
|
||||
@@ -8,7 +8,7 @@ Generally we follow the Airbnb [React Style Guide](https://github.com/airbnb/jav
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Basic rules](#basic-rules)
|
||||
- [Naming conventions](#naming-conventions)
|
||||
- [File and directory naming conventions](#file-and-directory-naming-conventions)
|
||||
- [Files and directories naming conventions](#files-and-directories-naming-conventions)
|
||||
- [Code organization](#code-organization)
|
||||
- [Exports](#exports)
|
||||
- [Comments](#comments)
|
||||
@@ -172,44 +172,6 @@ const CONSTANT_VALUE = "This string won't change";
|
||||
|
||||
_SASS styles are deprecated. Please migrate to Emotion whenever you need to modify SASS styles._
|
||||
|
||||
### Typing
|
||||
|
||||
In general, you should let Typescript infer the types so that there's no need to explicitly define type for each variable.
|
||||
|
||||
There are some exceptions to this:
|
||||
|
||||
```typescript
|
||||
// Typescript needs to know type of arrays or objects otherwise it would infer it as array of any
|
||||
|
||||
// bad
|
||||
const stringArray = [];
|
||||
|
||||
// good
|
||||
const stringArray: string[] = [];
|
||||
```
|
||||
|
||||
Specify function return types explicitly in new code. This improves readability by being able to tell what a function returns just by looking at the signature. It also prevents errors when a function's return type is broader than expected by the author.
|
||||
|
||||
> Note: We don't have linting for this enabled because of lots of old code that needs to be fixed first.
|
||||
|
||||
```typescript
|
||||
// bad
|
||||
function transform(value?: string) {
|
||||
if (!value) {
|
||||
return undefined
|
||||
}
|
||||
return applyTransform(value)
|
||||
};
|
||||
|
||||
// good
|
||||
function transform(value?: string): TransformedValue | undefined {
|
||||
if (!value) {
|
||||
return undefined
|
||||
}
|
||||
return applyTransform(value)
|
||||
};
|
||||
```
|
||||
|
||||
### File and directory naming conventions
|
||||
|
||||
Name files according to the primary export:
|
||||
|
||||
@@ -39,11 +39,4 @@ Some of the blocks support dynamic change of the image version used in the Docke
|
||||
make devenv sources=postgres,openldap,grafana postgres_version=9.2 grafana_version=6.7.0-beta1
|
||||
```
|
||||
|
||||
|
||||
### Notes per block
|
||||
|
||||
#### Grafana
|
||||
The grafana block is pre-configured with the dev-datasources and dashboards.
|
||||
|
||||
#### Jaeger
|
||||
Jaeger block runs both Jaeger and Loki container. Loki container sends traces to Jaeger and also logs its own logs into itself so it is possible to setup derived field for traceID from Loki to Jaeger. You need to install a docker plugin for the self logging to work, without it the container won't start. See https://github.com/grafana/loki/tree/master/cmd/docker-driver#plugin-installation for installation instructions.
|
||||
Note: The grafana block is pre-configured with the dev-datasources and dashboards.
|
||||
|
||||
@@ -246,29 +246,5 @@ datasources:
|
||||
access: proxy
|
||||
url: http://localhost:3100
|
||||
editable: false
|
||||
jsonData:
|
||||
derivedFields:
|
||||
- name: "traceID"
|
||||
matcherRegex: "traceID=(\\w+)"
|
||||
url: "$${__value.raw}"
|
||||
datasourceUid: gdev-jaeger
|
||||
- name: "traceID"
|
||||
matcherRegex: "traceID=(\\w+)"
|
||||
url: "$${__value.raw}"
|
||||
datasourceUid: gdev-zipkin
|
||||
|
||||
- name: gdev-jaeger
|
||||
type: jaeger
|
||||
uid: gdev-jaeger
|
||||
access: proxy
|
||||
url: http://localhost:16686
|
||||
editable: false
|
||||
|
||||
- name: gdev-zipkin
|
||||
type: zipkin
|
||||
uid: gdev-zipkin
|
||||
access: proxy
|
||||
url: http://localhost:9411
|
||||
editable: false
|
||||
|
||||
|
||||
|
||||
@@ -1,602 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"links": [],
|
||||
"panels": [
|
||||
{
|
||||
"datasource": null,
|
||||
"gridPos": {
|
||||
"h": 1,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"id": 7,
|
||||
"title": "Cell styles",
|
||||
"type": "row"
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"align": "center",
|
||||
"displayMode": "color-background"
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "percentage",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "blue",
|
||||
"value": 20
|
||||
},
|
||||
{
|
||||
"color": "orange",
|
||||
"value": 60
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 70
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "degree"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Max"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.width",
|
||||
"value": 84
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Last"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.width",
|
||||
"value": 78
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Mean"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.width",
|
||||
"value": 74
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Field"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.align",
|
||||
"value": "left"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 16,
|
||||
"w": 7,
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
"id": 4,
|
||||
"options": {
|
||||
"showHeader": true,
|
||||
"sortBy": [
|
||||
{
|
||||
"desc": true,
|
||||
"displayName": "Last"
|
||||
}
|
||||
]
|
||||
},
|
||||
"pluginVersion": "7.1.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenarioId": "random_walk",
|
||||
"seriesCount": 15,
|
||||
"stringInput": ""
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "Colored background",
|
||||
"transformations": [
|
||||
{
|
||||
"id": "reduce",
|
||||
"options": {
|
||||
"reducers": ["max", "mean", "last"]
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "table"
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"align": null
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "percentage",
|
||||
"steps": [
|
||||
{
|
||||
"color": "orange",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 50
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Value"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.displayMode",
|
||||
"value": "gradient-gauge"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Info"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.width",
|
||||
"value": 92
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Min"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.width",
|
||||
"value": 76
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Max"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.width",
|
||||
"value": 89
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Time"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.width",
|
||||
"value": 165
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 16,
|
||||
"w": 8,
|
||||
"x": 7,
|
||||
"y": 1
|
||||
},
|
||||
"id": 2,
|
||||
"options": {
|
||||
"showHeader": true,
|
||||
"sortBy": [
|
||||
{
|
||||
"desc": false,
|
||||
"displayName": "Min"
|
||||
}
|
||||
]
|
||||
},
|
||||
"pluginVersion": "7.1.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenarioId": "random_walk_table",
|
||||
"stringInput": ""
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "Bar gauge cells",
|
||||
"transformations": [
|
||||
{
|
||||
"id": "organize",
|
||||
"options": {
|
||||
"excludeByName": {
|
||||
"Time": true
|
||||
},
|
||||
"indexByName": {
|
||||
"Info": 1,
|
||||
"Max": 3,
|
||||
"Min": 2,
|
||||
"Time": 0,
|
||||
"Value": 4
|
||||
},
|
||||
"renameByName": {}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "table"
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-testdata",
|
||||
"description": "",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"align": null
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "percentage",
|
||||
"steps": [
|
||||
{
|
||||
"color": "blue",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "green",
|
||||
"value": 50
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Value"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.displayMode",
|
||||
"value": "lcd-gauge"
|
||||
},
|
||||
{
|
||||
"id": "custom.align",
|
||||
"value": "center"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 16,
|
||||
"w": 9,
|
||||
"x": 15,
|
||||
"y": 1
|
||||
},
|
||||
"id": 5,
|
||||
"options": {
|
||||
"showHeader": true,
|
||||
"sortBy": []
|
||||
},
|
||||
"pluginVersion": "7.1.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenarioId": "random_walk_table",
|
||||
"stringInput": ""
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "Retro LCD cell",
|
||||
"transformations": [
|
||||
{
|
||||
"id": "organize",
|
||||
"options": {
|
||||
"excludeByName": {
|
||||
"Info": false,
|
||||
"Max": true,
|
||||
"Min": true,
|
||||
"Time": false
|
||||
},
|
||||
"indexByName": {
|
||||
"Info": 1,
|
||||
"Max": 3,
|
||||
"Min": 2,
|
||||
"Time": 0,
|
||||
"Value": 4
|
||||
},
|
||||
"renameByName": {}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "table"
|
||||
},
|
||||
{
|
||||
"collapsed": false,
|
||||
"datasource": null,
|
||||
"gridPos": {
|
||||
"h": 1,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 17
|
||||
},
|
||||
"id": 9,
|
||||
"panels": [],
|
||||
"title": "Data links",
|
||||
"type": "row"
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"align": "center",
|
||||
"displayMode": "color-text"
|
||||
},
|
||||
"decimals": 2,
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "percentage",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "blue",
|
||||
"value": 20
|
||||
},
|
||||
{
|
||||
"color": "orange",
|
||||
"value": 50
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 70
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "percent"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Time"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "custom.align",
|
||||
"value": null
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "{name=\"S1\", server=\"A\"}"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "links",
|
||||
"value": [
|
||||
{
|
||||
"title": "Details",
|
||||
"url": "http://detail?serverLabel=${__field.labels.server}&valueNumeric=${__value.numeric}"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 18
|
||||
},
|
||||
"id": 3,
|
||||
"maxDataPoints": "10",
|
||||
"options": {
|
||||
"showHeader": true
|
||||
},
|
||||
"pluginVersion": "7.1.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"alias": "S1",
|
||||
"labels": "server=A",
|
||||
"refId": "A",
|
||||
"scenarioId": "random_walk",
|
||||
"seriesCount": 1,
|
||||
"stringInput": ""
|
||||
},
|
||||
{
|
||||
"alias": "S2",
|
||||
"labels": "server=B",
|
||||
"refId": "B",
|
||||
"scenarioId": "random_walk",
|
||||
"seriesCount": 1,
|
||||
"stringInput": ""
|
||||
},
|
||||
{
|
||||
"alias": "S3",
|
||||
"labels": "server=C",
|
||||
"refId": "C",
|
||||
"scenarioId": "random_walk",
|
||||
"seriesCount": 1,
|
||||
"stringInput": ""
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "Data link with labels and numeric value",
|
||||
"transformations": [
|
||||
{
|
||||
"id": "seriesToColumns",
|
||||
"options": {}
|
||||
}
|
||||
],
|
||||
"type": "table"
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"align": "center",
|
||||
"displayMode": "auto"
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "percentage",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "blue",
|
||||
"value": 20
|
||||
},
|
||||
{
|
||||
"color": "orange",
|
||||
"value": 60
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 70
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "degree"
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 5,
|
||||
"x": 12,
|
||||
"y": 18
|
||||
},
|
||||
"id": 10,
|
||||
"options": {
|
||||
"showHeader": false,
|
||||
"sortBy": [
|
||||
{
|
||||
"desc": true,
|
||||
"displayName": "Last"
|
||||
}
|
||||
]
|
||||
},
|
||||
"pluginVersion": "7.1.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenarioId": "random_walk_table",
|
||||
"seriesCount": 5,
|
||||
"stringInput": ""
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "No header",
|
||||
"transformations": [
|
||||
{
|
||||
"id": "organize",
|
||||
"options": {
|
||||
"excludeByName": {
|
||||
"Min": true,
|
||||
"Time": true,
|
||||
"Value": true
|
||||
},
|
||||
"indexByName": {
|
||||
"Info": 2,
|
||||
"Max": 4,
|
||||
"Min": 3,
|
||||
"Time": 0,
|
||||
"Value": 1
|
||||
},
|
||||
"renameByName": {}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "table"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 25,
|
||||
"style": "dark",
|
||||
"tags": ["gdev", "panel-tests"],
|
||||
"templating": {
|
||||
"list": []
|
||||
},
|
||||
"time": {
|
||||
"from": "now-6h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"refresh_intervals": ["10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]
|
||||
},
|
||||
"timezone": "",
|
||||
"title": "Panel Tests - React Table",
|
||||
"uid": "U_bZIMRMk",
|
||||
"version": 17
|
||||
}
|
||||
@@ -1,695 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"id": 28,
|
||||
"links": [],
|
||||
"panels": [
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-testdata",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 4,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenario": "random_walk",
|
||||
"scenarioId": "random_walk",
|
||||
"target": ""
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": "2s",
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Millisecond res x-axis and tooltip",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-testdata",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 3,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenario": "random_walk",
|
||||
"scenarioId": "random_walk",
|
||||
"target": ""
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Random walk series",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-testdata",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 5,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "B-series",
|
||||
"yaxis": 2
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,0",
|
||||
"target": ""
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "2000,3000,4000,1000,3000,10000",
|
||||
"target": ""
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "2 yaxis and axis labels",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "percent",
|
||||
"label": "Perecent",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": "Pressure",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-testdata",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 9,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "null",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "B-series",
|
||||
"zindex": -3
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": true,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"hide": false,
|
||||
"refId": "B",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,null,null,null,null,null,null,100,10,10,20,30,40,10",
|
||||
"target": ""
|
||||
},
|
||||
{
|
||||
"alias": "",
|
||||
"hide": false,
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,10,20,30,40,40,40,100,10,20,20",
|
||||
"target": ""
|
||||
},
|
||||
{
|
||||
"alias": "",
|
||||
"hide": false,
|
||||
"refId": "C",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,10,20,30,40,40,40,100,10,20,20",
|
||||
"target": ""
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Stacking value ontop of nulls",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-testdata",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 0,
|
||||
"fillGradient": 0,
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 15
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 21,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "null",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "C-series",
|
||||
"steppedLine": true
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "",
|
||||
"hide": false,
|
||||
"refId": "B",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,null,40,null,90,null,null,100,null,null,100,null,null,80,null",
|
||||
"target": ""
|
||||
},
|
||||
{
|
||||
"alias": "",
|
||||
"hide": false,
|
||||
"refId": "C",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "20,null40,null,null,50,null,70,null,100,null,10,null,30,null",
|
||||
"target": ""
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Null between points",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-testdata",
|
||||
"decimals": 3,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 15
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 16,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": true,
|
||||
"max": true,
|
||||
"min": true,
|
||||
"show": true,
|
||||
"total": true,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 1,
|
||||
"links": [],
|
||||
"nullPointMode": "null",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,0",
|
||||
"target": ""
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,0",
|
||||
"target": ""
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,0",
|
||||
"target": ""
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,0",
|
||||
"target": ""
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Legend Table No Scroll Visible",
|
||||
"tooltip": {
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "individual"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"refresh": false,
|
||||
"revision": 8,
|
||||
"schemaVersion": 25,
|
||||
"style": "dark",
|
||||
"tags": ["gdev", "panel-tests", "graph", "table"],
|
||||
"templating": {
|
||||
"list": []
|
||||
},
|
||||
"time": {
|
||||
"from": "now-1h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"refresh_intervals": ["10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
|
||||
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
|
||||
},
|
||||
"timezone": "utc",
|
||||
"title": "Panel Tests - Time zone support",
|
||||
"uid": "5SdHCasdf",
|
||||
"version": 1
|
||||
}
|
||||
@@ -6,9 +6,3 @@
|
||||
- "./dashboards.yaml:/etc/grafana/provisioning/dashboards/dashboards.yaml"
|
||||
- "./dev-dashboards:/usr/share/grafana/devenv/dev-dashboards"
|
||||
- "./datasources_docker.yaml:/etc/grafana/provisioning/datasources/datasources.yaml"
|
||||
environment:
|
||||
GF_RENDERING_SERVER_URL: http://renderer:8081/render
|
||||
GF_RENDERING_CALLBACK_URL: http://grafana:3000/
|
||||
|
||||
renderer:
|
||||
image: grafana/grafana-image-renderer:latest
|
||||
|
||||
@@ -10,11 +10,6 @@
|
||||
ports:
|
||||
- "3100:3100"
|
||||
command: -config.file=/etc/loki/local-config.yaml
|
||||
# For this to work you need to install the logging driver see https://github.com/grafana/loki/tree/master/cmd/docker-driver#plugin-installation
|
||||
logging:
|
||||
driver: loki
|
||||
options:
|
||||
loki-url: "http://localhost:3100/loki/api/v1/push"
|
||||
# Optional jaeger tracing
|
||||
environment:
|
||||
- JAEGER_AGENT_HOST=jaeger
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
FROM prom/prometheus:v2.7.2
|
||||
ADD prometheus.yml /etc/prometheus/
|
||||
ADD recording.yml /etc/prometheus/
|
||||
ADD alert.yml /etc/prometheus/
|
||||
ADD alert.rules /etc/prometheus/
|
||||
|
||||
10
devenv/docker/blocks/prometheus2/alert.rules
Normal file
10
devenv/docker/blocks/prometheus2/alert.rules
Normal file
@@ -0,0 +1,10 @@
|
||||
# Alert Rules
|
||||
|
||||
ALERT AppCrash
|
||||
IF process_open_fds > 0
|
||||
FOR 15s
|
||||
LABELS { severity="critical" }
|
||||
ANNOTATIONS {
|
||||
summary = "Number of open fds > 0",
|
||||
description = "Just testing"
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
groups:
|
||||
- name: ALERT
|
||||
rules:
|
||||
- alert: AppCrash
|
||||
expr: process_open_fds > 0
|
||||
for: 15s
|
||||
labels:
|
||||
severity: critical
|
||||
annotations:
|
||||
summary: Number of open fds > 0
|
||||
description: Just testing
|
||||
@@ -5,17 +5,17 @@ global:
|
||||
# scrape_timeout is set to the global default (10s).
|
||||
|
||||
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
|
||||
rule_files:
|
||||
- "alert.yml"
|
||||
- "recording.yml"
|
||||
#rule_files:
|
||||
# - "alert.rules"
|
||||
# - "first.rules"
|
||||
# - "second.rules"
|
||||
|
||||
alerting:
|
||||
alertmanagers:
|
||||
- scheme: http
|
||||
static_configs:
|
||||
- targets:
|
||||
- "alertmanager:9093"
|
||||
# alerting:
|
||||
# alertmanagers:
|
||||
# - scheme: http
|
||||
# static_configs:
|
||||
# - targets:
|
||||
# - "127.0.0.1:9093"
|
||||
|
||||
scrape_configs:
|
||||
- job_name: 'prometheus'
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
groups:
|
||||
- name: RECORDING_RULES
|
||||
rules:
|
||||
- record: instance_path:requests:rate5m
|
||||
expr: rate(prometheus_http_requests_total{job="prometheus"}[5m])
|
||||
- record: path:requests:rate5m
|
||||
expr: sum without (instance)(instance_path:requests:rate5m{job="prometheus"})
|
||||
- record: instance_path:reloads_failures:rate5m
|
||||
expr: rate(prometheus_tsdb_reloads_failures_total{job="prometheus"}[5m])
|
||||
- record: instance_path:reloads:rate5m
|
||||
expr: rate(prometheus_tsdb_reloads_total{job="prometheus"}[5m])
|
||||
- record: instance_path:request_failures_per_requests:ratio_rate5m
|
||||
expr: |2
|
||||
instance_path:reloads_failures:rate5m{job="prometheus"}
|
||||
/
|
||||
instance_path:reloads:rate5m{job="prometheus"}
|
||||
@@ -35,12 +35,6 @@ Run load test for 10 virtual users:
|
||||
$ ./run.sh -v 10
|
||||
```
|
||||
|
||||
Run load test and send the results to the database "myDb" in influxDB running locally on port 8086 (with no authentication):
|
||||
|
||||
```bash
|
||||
$ ./run.sh -o influxdb=http://localhost:8086/myDb
|
||||
```
|
||||
|
||||
Run auth token slow test (random query latency between 1 and 30 seconds):
|
||||
|
||||
```bash
|
||||
|
||||
@@ -8,9 +8,8 @@ run() {
|
||||
vus='2'
|
||||
testcase='auth_token_test'
|
||||
slowQuery=''
|
||||
out=''
|
||||
|
||||
while getopts ":d:u:v:c:s:o:" o; do
|
||||
while getopts ":d:u:v:c:s:" o; do
|
||||
case "${o}" in
|
||||
d)
|
||||
duration=${OPTARG}
|
||||
@@ -27,14 +26,11 @@ run() {
|
||||
s)
|
||||
slowQuery=${OPTARG}
|
||||
;;
|
||||
o) out=${OPTARG}
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
docker run -t --network=host -v $PWD:/src -e URL=$url -e SLOW_QUERY=$slowQuery -e K6_OUT=$out --rm -i loadimpact/k6:master run --vus $vus --duration $duration src/$testcase.js
|
||||
docker run -t --network=host -v $PWD:/src -e URL=$url -e SLOW_QUERY=$slowQuery --rm -i loadimpact/k6:master run --vus $vus --duration $duration src/$testcase.js
|
||||
}
|
||||
|
||||
run "$@"
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
IMAGE = grafana/docs-base:latest
|
||||
|
||||
docs:
|
||||
docker pull ${IMAGE}
|
||||
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) /bin/bash -c 'make server'
|
||||
|
||||
docs-test:
|
||||
docker pull ${IMAGE}
|
||||
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest --rm -it $(IMAGE) /bin/bash -c 'make prod'
|
||||
|
||||
@@ -45,11 +45,11 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
|
||||
## Guides
|
||||
|
||||
<div class="nav-cards">
|
||||
<a href="{{< relref "getting-started/what-is-grafana.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<a href="{{< relref "guides/what-is-grafana.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<h4>What is Grafana?</h4>
|
||||
<p>Get an overview of Grafana's key features.</p>
|
||||
</a>
|
||||
<a href="{{< relref "getting-started/getting-started.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<a href="{{< relref "guides/getting_started.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<h4>Getting started</h4>
|
||||
<p>Learn the basics of using Grafana.</p>
|
||||
</a>
|
||||
@@ -57,7 +57,7 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
|
||||
<h4>Configure Grafana</h4>
|
||||
<p>Review the configuration and setup options.</p>
|
||||
</a>
|
||||
<a href="{{< relref "getting-started/timeseries.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<a href="{{< relref "guides/timeseries.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<h4>Intro to time series</h4>
|
||||
<p>Learn about time series data.</p>
|
||||
</a>
|
||||
|
||||
@@ -12,7 +12,7 @@ weight = 8
|
||||
|
||||
Grafana supports automatic rendering of panels and dashboards as PNG images. This allows Grafana to automatically generate images of your panels to include in [alert notifications]({{< relref "../alerting/notifications.md" >}}).
|
||||
|
||||
While an image is being rendered, the PNG image is temporarily written to the file system. When the image is rendered, the PNG image is temporarily written to the `png` folder in the Grafana `data` folder.
|
||||
When an image is being rendered the PNG-image is temporarily written to the file system. When an image is rendered, the PNG image is temporary written to the `png` folder in the Grafana `data` folder.
|
||||
|
||||
A background job runs every 10 minutes and removes temporary images. You can configure how long an image should be stored before being removed by configuring the [temp-data-lifetime]({{< relref "../installation/configuration/#temp-data-lifetime" >}}) setting.
|
||||
|
||||
@@ -156,7 +156,7 @@ libx11-6 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3
|
||||
|
||||
**Centos:**
|
||||
|
||||
On a minimal Centos installation, the following dependencies have been confirmed as needed for the image rendering to function:
|
||||
On a minimal Centos install the following dependencies have been confirmed as needed for the image rendering to function:
|
||||
|
||||
```bash
|
||||
libXcomposite libXdamage libXtst cups libXScrnSaver pango atk adwaita-cursor-theme adwaita-icon-theme at at-spi2-atk at-spi2-core cairo-gobject colord-libs dconf desktop-file-utils ed emacs-filesystem gdk-pixbuf2 glib-networking gnutls gsettings-desktop-schemas gtk-update-icon-cache gtk3 hicolor-icon-theme jasper-libs json-glib libappindicator-gtk3 libdbusmenu libdbusmenu-gtk3 libepoxy liberation-fonts liberation-narrow-fonts liberation-sans-fonts liberation-serif-fonts libgusb libindicator-gtk3 libmodman libproxy libsoup libwayland-cursor libwayland-egl libxkbcommon m4 mailx nettle patch psmisc redhat-lsb-core redhat-lsb-submod-security rest spax time trousers xdg-utils xkeyboard-config
|
||||
@@ -164,7 +164,7 @@ libXcomposite libXdamage libXtst cups libXScrnSaver pango atk adwaita-cursor-the
|
||||
|
||||
### Certificate signed by internal certificate authorities
|
||||
|
||||
In many cases, Grafana runs on internal servers and uses certificates that have not been signed by a CA ([Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority)) known to Chrome, and therefore cannot be validated. Chrome internally uses NSS ([Network Security Services](https://en.wikipedia.org/wiki/Network_Security_Services)) for cryptogtraphic operations such as the validation of certificates.
|
||||
In many cases Grafana, runs on internal servers and uses certificates that have not been signed by a CA ([Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority)) known to Chrome, and therefore cannot be validated. Chrome internally uses NSS ([Network Security Services](https://en.wikipedia.org/wiki/Network_Security_Services)) for cryptogtraphic operations such as the validation of certificates.
|
||||
|
||||
If you are using the Grafana Image Renderer with a Grafana server that uses a certificate signed by such a custom CA (for example a company-internal CA), rendering images will fail and you will see messages like this in the Grafana log:
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ If you have a literal `$` in your value and want to avoid interpolation, `$$` ca
|
||||
|
||||
## Configuration Management Tools
|
||||
|
||||
Currently we do not provide any scripts/manifests for configuring Grafana. Rather than spending time learning and creating scripts/manifests for each tool, we think our time is better spent making Grafana easier to provision. Therefore, we heavily rely on the expertise of the community.
|
||||
Currently we do not provide any scripts/manifests for configuring Grafana. Rather than spending time learning and creating scripts/manifests for each tool, we think our time is better spent making Grafana easier to provision. Therefore, we heavily relay on the expertise of the community.
|
||||
|
||||
Tool | Project
|
||||
-----|------------
|
||||
@@ -206,7 +206,7 @@ datasources:
|
||||
httpHeaderValue2: "Bearer XXXXXXXXX"
|
||||
```
|
||||
|
||||
## Dashboards
|
||||
### Dashboards
|
||||
|
||||
It's possible to manage dashboards in Grafana by adding one or more yaml config files in the [`provisioning/dashboards`]({{< relref "../installation/configuration.md" >}}) directory. Each config file can contain a list of `dashboards providers` that will load dashboards into Grafana from the local filesystem.
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ Grafana can render the panel associated with the alert rule as a PNG image and i
|
||||
Most Notification Channels require that this image be publicly accessible (Slack and PagerDuty for example). In order to include images in alert notifications, Grafana can upload the image to an image store. It currently supports
|
||||
Amazon S3, Webdav, Google Cloud Storage and Azure Blob Storage. So to set that up you need to configure the [external image uploader]({{< relref "../installation/configuration/#external-image-storage" >}}) in your grafana-server ini config file.
|
||||
|
||||
Be aware that some notifiers require public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If you're using local image uploader, your Grafana instance need to be accessible by the internet.
|
||||
Be aware that some notifiers requires public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If you're using local image uploader, your Grafana instance need to be accessible by the internet.
|
||||
|
||||
Notification services which need public image access are marked as 'external only'.
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ weight = 1
|
||||
|
||||
# Alerting Engine and Rules Guide
|
||||
|
||||
Alerting in Grafana allows you to attach rules to your dashboard panels. When you save the dashboard,
|
||||
Alerting in Grafana allows you to attach rules to your dashboard panels. When you save the dashboard
|
||||
Grafana will extract the alert rules into a separate alert rule storage and schedule them for evaluation.
|
||||
|
||||
{{< imgbox max-width="40%" img="/img/docs/v4/drag_handles_gif.gif" caption="Alerting overview" >}}
|
||||
|
||||
@@ -12,7 +12,7 @@ weight = 5
|
||||
|
||||
# Team sync
|
||||
|
||||
With Team Sync, you can set up synchronization between your auth provider's teams and teams in Grafana. This enables LDAP or GitHub OAuth users which are members
|
||||
With the Team Sync it's possible to setup synchronization between your auth providers teams and teams in Grafana. This enables LDAP or GitHub OAuth users which are members
|
||||
of certain teams/groups to automatically be added/removed as members to certain teams in Grafana. Currently the synchronization will only happen every
|
||||
time a user logs in, unless LDAP is used together with active background synchronization that was added in Grafana 6.3.
|
||||
|
||||
@@ -23,4 +23,4 @@ This mechanism allows Grafana to remove an existing synchronized user from a tea
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
> Team Sync is only available in Grafana Enterprise. For more information, refer to [Team sync]({{< relref "../enterprise/team-sync.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).
|
||||
> Team Sync is only available in Grafana Enterprise. For more information, refer to [Team sync]({{< relref "../enterprise/team-sync.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).
|
||||
@@ -1,7 +0,0 @@
|
||||
+++
|
||||
title = "Dashboards"
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
identifier = "dashboards"
|
||||
weight = 4
|
||||
+++
|
||||
@@ -1,4 +1,9 @@
|
||||
+++
|
||||
title = "Developers"
|
||||
title = "Contribute"
|
||||
description = "Contribute"
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Contribute"
|
||||
identifier = "contribute"
|
||||
weight = 20
|
||||
+++
|
||||
|
||||
@@ -3,6 +3,9 @@ title = "Contributor License Agreement (CLA)"
|
||||
description = "Contributor License Agreement (CLA)"
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/project/cla", "docs/contributing/cla.html"]
|
||||
[menu.docs]
|
||||
parent = "contribute"
|
||||
weight = 1
|
||||
+++
|
||||
|
||||
# Grafana Labs Contributor License Agreement
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
+++
|
||||
title = "Contribute to Grafana"
|
||||
title = "Developer resources"
|
||||
description = "Resources for Grafana developers"
|
||||
keywords = ["grafana", "documentation", "developers", "resources"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Grafana resources"
|
||||
identifier = "Developer resources"
|
||||
weight = 30
|
||||
+++
|
||||
|
||||
# Contribute to Grafana
|
||||
# Developer resources
|
||||
|
||||
This page lists resources for developers who want to contribute to the Grafana software ecosystem or build plugins for Grafana.
|
||||
|
||||
##
|
||||
##
|
||||
General resources
|
||||
These resources are useful for all developers.
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
+++
|
||||
title = "Build a plugin"
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
# Build a plugin
|
||||
|
||||
For more information on the types of plugins you can build, refer to the [Plugin Overview]({{< relref "../../plugins/_index.md" >}}).
|
||||
|
||||
## Get started
|
||||
|
||||
The easiest way to start developing Grafana plugins is to use the [Grafana Toolkit](https://www.npmjs.com/package/@grafana/toolkit).
|
||||
|
||||
Open the terminal, and run the following command in your [plugin directory]({{< relref "../../installation/configuration/_index.md#plugins" >}}):
|
||||
|
||||
```bash
|
||||
npx @grafana/toolkit plugin:create my-grafana-plugin
|
||||
```
|
||||
|
||||
If you want a more guided introduction to plugin development, check out our tutorials:
|
||||
|
||||
- [Build a panel plugin]({{< relref "../../../../../tutorials/build-a-panel-plugin.md" >}})
|
||||
- [Build a data source plugin]({{< relref "../../../../../tutorials/build-a-data-source-plugin.md" >}})
|
||||
|
||||
## Go further
|
||||
|
||||
Learn more about specific areas of plugin development.
|
||||
|
||||
### Concepts
|
||||
|
||||
Deepen your knowledge through a series of high-level overviews of plugin concepts.
|
||||
|
||||
- [Data frames]({{< relref "data-frames.md" >}})
|
||||
- [Authentication for data source plugins]({{< relref "authentication.md" >}})
|
||||
|
||||
### UI library
|
||||
|
||||
Explore the many UI components in our [Grafana UI library](https://developers.grafana.com/ui).
|
||||
|
||||
### Tutorials
|
||||
|
||||
If you're looking to build your first plugin, check out these introductory tutorials:
|
||||
|
||||
- [Build a panel plugin]({{< relref "../../../../../tutorials/build-a-panel-plugin.md" >}})
|
||||
- [Build a data source plugin]({{< relref "../../../../../tutorials/build-a-data-source-plugin.md" >}})
|
||||
|
||||
Ready to learn more? Check out our other tutorials:
|
||||
|
||||
- [Build a panel plugin with D3.js]({{< relref "../../../../../tutorials/build-a-panel-plugin-with-d3.md" >}})
|
||||
|
||||
### API reference
|
||||
|
||||
Learn more about Grafana options and packages.
|
||||
|
||||
#### Metadata
|
||||
|
||||
- [Plugin metadata]({{< relref "metadata.md" >}})
|
||||
|
||||
#### Typescript
|
||||
|
||||
- [Grafana Data]({{< relref "../../packages_api/data/_index.md" >}})
|
||||
- [Grafana Runtime]({{< relref "../../packages_api/runtime/_index.md" >}})
|
||||
- [Grafana UI]({{< relref "../../packages_api/ui/_index.md" >}})
|
||||
|
||||
#### Go
|
||||
|
||||
- [Grafana Plugin SDK](https://pkg.go.dev/mod/github.com/grafana/grafana-plugin-sdk-go?tab=overview)
|
||||
@@ -39,68 +39,12 @@ Currently only Organization Admins can create reports.
|
||||
1. Select the layout option for generated report: **Portrait** or **Landscape**.
|
||||
1. Enter scheduling information. Options vary depending on the frequency you select.
|
||||
1. **Save** the report.
|
||||
1. **Send test mail** after saving the report to verify that the whole configuration is working as expected.
|
||||
|
||||
{{< docs-imagebox img="/img/docs/enterprise/reports_create_new.png" max-width="500px" class="docs-image--no-shadow" >}}
|
||||
|
||||
### Scheduling
|
||||
|
||||
Scheduled reports can be sent on a weekly, daily, or hourly basis. You may also disable scheduling for when you either want to pause a report or send it via the API.
|
||||
|
||||
All scheduling indicates when the reporting service will start rendering the dashboard. It can take a few minutes to render a dashboard with a lot of panels.
|
||||
|
||||
#### Hourly
|
||||
|
||||
Hourly reports are generated once per hour. All fields are required.
|
||||
|
||||
* **At minute -** The number of minutes after full hour when the report should be generated.
|
||||
* **Time zone -** Time zone to determine the offset of the full hour. Does not currently change the time in the rendered report.
|
||||
|
||||
#### Daily
|
||||
|
||||
Daily reports are generated once per day. All fields are required.
|
||||
|
||||
* **Time -** Time of day in 24 hours format when the report should be sent.
|
||||
* **Time zone -** Time zone for the **Time** field.
|
||||
|
||||
#### Weekly
|
||||
|
||||
Weekly reports are generated once per week. All fields are required.
|
||||
|
||||
* **Day -** Weekday which the report should be sent on.
|
||||
* **Time -** Time of day in 24 hours format when the report should be sent.
|
||||
* **Time zone -** Time zone for the **Time** field.
|
||||
|
||||
#### Never
|
||||
|
||||
> Only available in Grafana Enterprise v7.0+.
|
||||
|
||||
Reports which are scheduled to never be sent have no parameter and will not be sent to the scheduler. They may be manually generated from the **Send test email** prompt or via the API.
|
||||
|
||||
### Send test mail
|
||||
|
||||
> Only available in Grafana Enterprise v7.0+.
|
||||
|
||||
1. In the report, click **Send test mail**.
|
||||
1. In the Email field, enter the email address or addresses that you want to test, separated by semicolon.
|
||||
If you want to use email addresses from the report, then select the **Use emails from report** check box.
|
||||
1. Click **Send**.
|
||||
|
||||
The last saved version of the report will be sent to selected emails. You can use this to verify emails are working and to make sure the report is generated and displayed as you expect.
|
||||
|
||||
{{< docs-imagebox img="/img/docs/enterprise/reports_send_test_mail.png" max-width="500px" class="docs-image--no-shadow" >}}
|
||||
|
||||
## Send report via the API
|
||||
|
||||
You can send reports programmatically with the [send report]({{< relref "../http_api/reporting.md#send-report" >}}) endpoint in the [HTTP APIs]({{< relref "../http_api" >}}).
|
||||
|
||||
## Rendering configuration
|
||||
|
||||
When generating reports, each panel renders separately before being collected in a PDF. The per panel rendering timeout and number of concurrently rendered panels can be configured.
|
||||
|
||||
To modify the panels' clarity you can set a scale factor for the rendered images. A higher scale factor is more legible but will increase the file size of the generated PDF.
|
||||
|
||||
These options are available in the [configuration]({{< relref "../installation/configuration.md">}}) file.
|
||||
When Grafana generates a report, it will render each panel separately and then put them together in a PDF file. You can configure the per-panel rendering request timeout and the maximum number of concurrent calls to the rendering service. These options are available in the [configuration]({{< relref "../installation/configuration.md">}}) file.
|
||||
|
||||
```ini
|
||||
[reporting]
|
||||
@@ -108,19 +52,8 @@ To modify the panels' clarity you can set a scale factor for the rendered images
|
||||
rendering_timeout = 10s
|
||||
# Set maximum number of concurrent calls to the rendering service
|
||||
concurrent_render_limit = 4
|
||||
# Set the scale factor for rendering images. 2 is enough for monitor resolutions
|
||||
# 4 would be better for printed material. Setting a higher value affects performance and memory
|
||||
image_scale_factor = 2
|
||||
```
|
||||
|
||||
## Report time range
|
||||
|
||||
Reports use the saved time range of the dashboard. Changing the time range of the report is done by saving a modified time range to the dashboard.
|
||||
|
||||
The page header of the report displays the time range for the dashboard's data queries. Dashboards set to use the browser's time zone will use the time zone on the Grafana server.
|
||||
|
||||
If the time zone is set differently between your Grafana server and its remote image renderer, then the time ranges in the report might be different between the page header and the time axes in the panels. We advise always setting the time zone to UTC for dashboards when using a remote renderer to avoid this.
|
||||
|
||||
## Troubleshoot reporting
|
||||
|
||||
To troubleshoot and get more log information, enable debug logging in the configuration file. Refer to [Configuration]({{< relref "../installation/configuration.md#filters" >}}) for more information.
|
||||
|
||||
@@ -65,7 +65,7 @@ The SAML SSO standard uses asymmetric encryption to exchange information between
|
||||
|
||||
Grafana supports two ways of specifying both the `certificate` and `private_key`.
|
||||
* Without a suffix (`certificate` or `private_key`), the configuration assumes you've supplied the base64-encoded file contents.
|
||||
* With the `_path` suffix (`certificate_path` or `private_key_path`), then Grafana treats the value entered as a file path and attempts to read the file from the file system.
|
||||
* With the `_path` suffix (`certificate_path` or `private_key_path`), then Grafana treats the value entered as a file path and attempt to read the file from the file system.
|
||||
|
||||
You can only use one form of each configuration option. Using multiple forms, such as both `certificate` and `certificate_path`, results in an error.
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ weight = 700
|
||||
|
||||
# Usage insights
|
||||
|
||||
Usage insights allow you to have a better understanding of how your Grafana instance is used. The collected data are the number of:
|
||||
Usage insights allows you to have a better understanding of how your Grafana instance is used. The collected data are the number of:
|
||||
|
||||
- Dashboard views (aggregated and per user)
|
||||
- Data source errors
|
||||
|
||||
@@ -16,7 +16,7 @@ White labeling allows you to replace the Grafana brand and logo with your own co
|
||||
|
||||
> Only available in Grafana Enterprise v6.6+.
|
||||
|
||||
Grafana Enterprise has white labeling options in the `grafana.ini` file. As with all configuration options, you can also set them with environment variables.
|
||||
Grafana Enterprise has white labeling options in the `grafana.ini` file. As with all configuration options, you can also be set set them with environment variables.
|
||||
|
||||
You can change the following elements:
|
||||
|
||||
@@ -26,9 +26,6 @@ You can change the following elements:
|
||||
- Side menu top logo
|
||||
- Footer and help menu links
|
||||
- Fav icon (shown in browser tab)
|
||||
- Login title (will not appear if a login logo is set, Grafana v7.0+)
|
||||
- Login subtitle (will not appear if a login logo is set, Grafana v7.0+)
|
||||
- Login box background (Grafana v7.0+)
|
||||
|
||||
> You will have to host your logo and other images used by the white labeling feature separately. Make sure Grafana can access the URL where the assets are stored.
|
||||
|
||||
@@ -42,22 +39,13 @@ The configuration file in Grafana Enterprise contains the following options. Eac
|
||||
# Set to your company name to override application title
|
||||
;app_title =
|
||||
|
||||
# Set to main title on the login page (Will not appear if a login logo is set)
|
||||
;login_title =
|
||||
|
||||
# Set to login subtitle (Will not appear if a login logo is set)
|
||||
;login_subtitle =
|
||||
|
||||
# Set to complete URL to override login logo
|
||||
;login_logo =
|
||||
|
||||
# Set to complete CSS background expression to override login background
|
||||
# Set to complete css background expression to override login background
|
||||
# example: login_background = url(http://www.bhmpics.com/wallpapers/starfield-1920x1080.jpg)
|
||||
;login_background =
|
||||
|
||||
# Set to complete CSS background expression to override login box background
|
||||
;login_box_background =
|
||||
|
||||
# Set to complete URL to override menu logo
|
||||
;menu_logo =
|
||||
|
||||
@@ -85,5 +73,5 @@ GF_WHITE_LABELING_FOOTER_LINKS=support guides
|
||||
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_TEXT=Support
|
||||
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_URL=http://your.support.site
|
||||
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_TEXT=Guides
|
||||
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_URL=http://your.guides.site
|
||||
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_URL=http://your.guides.site
|
||||
```
|
||||
|
||||
@@ -41,7 +41,7 @@ The image above shows you the top header for a Dashboard.
|
||||
|
||||
The time period for the dashboard can be controlled by the [Time range controls]({{< relref "../../reference/timerange.md" >}}) in the upper right of the dashboard.
|
||||
|
||||
Dashboards can use [templating]({{< relref "../../variables/templates-and-variables.md" >}}) to make them more dynamic and interactive.
|
||||
Dashboards can use [templating]({{< relref "../../reference/templating.md" >}}) to make them more dynamic and interactive.
|
||||
|
||||
Dashboards can use [annotations]({{< relref "../../reference/annotations.md" >}}) to display event data across panels. This can help correlate the time series data in the panel with other events.
|
||||
|
||||
@@ -61,4 +61,4 @@ We use a unit abstraction so that Grafana looks great on all screens sizes.
|
||||
|
||||
Collapse a row by clicking on the row title. If you save a dashboard with a row collapsed, then it saves in that state and does not load those graphs until you expand the row.
|
||||
|
||||
Use the [repeating rows]({{< relref "../../variables/templates-and-variables.md#repeating-rows" >}}) functionality to dynamically create or remove entire rows, which can be filled with panels, based on the template variables selected.
|
||||
Use the [repeating rows]({{< relref "../../reference/templating.md#repeating-rows" >}}) functionality to dynamically create or remove entire rows, which can be filled with panels, based on the template variables selected.
|
||||
|
||||
@@ -79,7 +79,7 @@ In the query editor for a panel, after choosing your Azure Monitor data source,
|
||||
|
||||
The query editor will change depending on which one you pick. Azure Monitor is the default.
|
||||
|
||||
## Querying the Azure Monitor service
|
||||
## Querying the Azure Monitor Service
|
||||
|
||||
The Azure Monitor service provides metrics for all the Azure services that you have running. It helps you understand how your applications on Azure are performing and to proactively find issues affecting your applications.
|
||||
|
||||
@@ -93,7 +93,7 @@ Examples of metrics that you can get from the service are:
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/azuremonitor-service-query-editor.png" class="docs-image--no-shadow" caption="Azure Monitor Query Editor" >}}
|
||||
|
||||
### Formatting legend keys with aliases for Azure Monitor
|
||||
### Formatting Legend Keys with Aliases for the Azure Monitor Service
|
||||
|
||||
The default legend formatting for the Azure Monitor API is:
|
||||
|
||||
@@ -106,7 +106,7 @@ Azure Monitor Examples:
|
||||
- `dimension: {{dimensionvalue}}`
|
||||
- `{{resourcegroup}} - {{resourcename}}`
|
||||
|
||||
### Alias patterns for Azure Monitor
|
||||
### Alias Patterns for Azure Monitor
|
||||
|
||||
- `{{resourcegroup}}` = replaced with the value of the Resource Group
|
||||
- `{{namespace}}` = replaced with the value of the Namespace (e.g. Microsoft.Compute/virtualMachines)
|
||||
@@ -115,7 +115,7 @@ Azure Monitor Examples:
|
||||
- `{{dimensionname}}` = replaced with dimension key/label (e.g. blobtype)
|
||||
- `{{dimensionvalue}}` = replaced with dimension value (e.g. BlockBlob)
|
||||
|
||||
### Templating with variables for Azure Monitor
|
||||
### Templating with Variables for the Azure Monitor Service
|
||||
|
||||
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
@@ -146,14 +146,14 @@ Examples:
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/azuremonitor-service-variables.png" class="docs-image--no-shadow" caption="Nested Azure Monitor Template Variables" >}}
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Azure Monitor metrics whitelist
|
||||
### Azure Monitor Metrics Whitelist
|
||||
|
||||
Not all metrics returned by the Azure Monitor API have values. The Grafana data source has a whitelist to only return metric names if it is possible they might have values. This whitelist is updated regularly as new services and metrics are added to the Azure cloud. You can find the current whitelist [here](https://github.com/grafana/grafana/blob/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/supported_namespaces.ts).
|
||||
|
||||
### Azure Monitor alerting
|
||||
### Azure Monitor Alerting
|
||||
|
||||
Grafana alerting is supported for the Azure Monitor service. This is not Azure Alerts support. Read more about how alerting in Grafana works [here]({{< relref "../../alerting/rules.md" >}}).
|
||||
|
||||
@@ -163,7 +163,7 @@ Grafana alerting is supported for the Azure Monitor service. This is not Azure A
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/appinsights-service-query-editor.png" class="docs-image--no-shadow" caption="Application Insights Query Editor" >}}
|
||||
|
||||
### Formatting legend keys with aliases for Application Insights
|
||||
### Formatting Legend Keys with Aliases for the Application Insights Service
|
||||
|
||||
The default legend formatting is:
|
||||
|
||||
@@ -177,13 +177,13 @@ Application Insights Examples:
|
||||
- `city: {{groupbyvalue}}`
|
||||
- `{{groupbyname}}: {{groupbyvalue}}`
|
||||
|
||||
### Alias patterns for Application Insights
|
||||
### Alias Patterns for Application Insights
|
||||
|
||||
- `{{groupbyvalue}}` = replaced with the value of the group by
|
||||
- `{{groupbyname}}` = replaced with the name/label of the group by
|
||||
- `{{metric}}` = replaced with metric name (e.g. requests/count)
|
||||
|
||||
### Filter expressions for Application Insights
|
||||
### Filter Expressions for Application Insights
|
||||
|
||||
The filter field takes an OData filter expression.
|
||||
|
||||
@@ -194,11 +194,11 @@ Examples:
|
||||
- `client/city ne 'Boydton' and client/city ne 'Dublin'`
|
||||
- `client/city eq 'Boydton' or client/city eq 'Dublin'`
|
||||
|
||||
### Templating with variables for Application Insights
|
||||
### Templating with Variables for Application Insights
|
||||
|
||||
Use the one of the following queries in the `Query` field in the Variable edit view.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
| Name | Description |
|
||||
@@ -214,13 +214,13 @@ Examples:
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/appinsights-service-variables.png" class="docs-image--no-shadow" caption="Nested Application Insights Template Variables" >}}
|
||||
|
||||
### Application Insights alerting
|
||||
### Application Insights Alerting
|
||||
|
||||
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. Read more about how alerting in Grafana works [here]({{< relref "../../alerting/rules.md" >}}).
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/azuremonitor-alerting.png" class="docs-image--no-shadow" caption="Azure Monitor Alerting" >}}
|
||||
|
||||
## Querying the Azure Log Analytics service
|
||||
## Querying the Azure Log Analytics Service
|
||||
|
||||
Queries are written in the new [Azure Log Analytics (or KustoDB) Query Language](https://docs.loganalytics.io/index). A Log Analytics Query can be formatted as Time Series data or as Table data.
|
||||
|
||||
@@ -246,7 +246,7 @@ If your credentials give you access to multiple subscriptions then choose the ap
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/azureloganalytics-service-query-editor.png" class="docs-image--no-shadow" caption="Azure Log Analytics Query Editor" >}}
|
||||
|
||||
### Azure Log Analytics macros
|
||||
### Azure Log Analytics Macros
|
||||
|
||||
To make writing queries easier there are several Grafana macros that can be used in the where clause of a query:
|
||||
|
||||
@@ -268,17 +268,17 @@ To make writing queries easier there are several Grafana macros that can be used
|
||||
|
||||
If using the `All` option, then check the `Include All Option` checkbox and in the `Custom all value` field type in the following value: `all`. If `$myVar` has value `all` then the macro will instead expand to `1 == 1`. For template variables with a lot of options, this will increase the query performance by not building a large where..in clause.
|
||||
|
||||
### Azure Log Analytics builtin variables
|
||||
### Azure Log Analytics Builtin Variables
|
||||
|
||||
There are also some Grafana variables that can be used in Azure Log Analytics queries:
|
||||
|
||||
- `$__interval` - Grafana calculates the minimum time grain that can be used to group by time in queries. More details on how it works [here]({{< relref "../../variables/templates-and-variables.md#interval-variables" >}}). It returns a time grain like `5m` or `1h` that can be used in the bin function. E.g. `summarize count() by bin(TimeGenerated, $__interval)`
|
||||
- `$__interval` - Grafana calculates the minimum time grain that can be used to group by time in queries. More details on how it works [here]({{< relref "../../reference/templating.md#interval-variables" >}}). It returns a time grain like `5m` or `1h` that can be used in the bin function. E.g. `summarize count() by bin(TimeGenerated, $__interval)`
|
||||
|
||||
### Templating with variables for Azure Log Analytics
|
||||
### Templating with Variables for Azure Log Analytics
|
||||
|
||||
Any Log Analytics query that returns a list of values can be used in the `Query` field in the Variable edit view. There is also one Grafana function for Log Analytics that returns a list of workspaces.
|
||||
|
||||
Refer to the [Variables]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Refer to the [Variables]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
| Name | Description |
|
||||
@@ -313,25 +313,11 @@ Perf
|
||||
| order by TimeGenerated asc
|
||||
```
|
||||
|
||||
### Deep linking from Grafana panels to the Log Analytics query editor in Azure Portal
|
||||
### Azure Log Analytics Alerting
|
||||
|
||||
> Only available in Grafana v7.0+.
|
||||
Not implemented yet.
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/azure-log-analytics-deep-linking.png" max-width="500px" class="docs-image--right" caption="Azure Log Analytics deep linking" >}}
|
||||
|
||||
Click on a time series in the panel to see a context menu with a link to `View in Azure Portal`. Clicking that link opens the Azure Log Analytics query editor in the Azure Portal and runs the query from the Grafana panel there.
|
||||
|
||||
If you're not currently logged in to the Azure Portal, then the link opens the login page. The provided link is valid for any account, but it only displays the query if your account has access to the Azure Log Analytics workspace specified in the query.
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
### Azure Log Analytics alerting
|
||||
|
||||
> Only available in Grafana v7.0+.
|
||||
|
||||
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. Read more about how alerting in Grafana works in [Alerting rules]({{< relref "../../alerting/rules.md" >}}).
|
||||
|
||||
### Writing analytics queries For the Application Insights service
|
||||
### Writing Analytics Queries For the Application Insights Service
|
||||
|
||||
If you change the service type to "Application Insights", the menu icon to the right adds another option, "Toggle Edit Mode". Once clicked, the query edit mode changes to give you a full text area in which to write log analytics queries. (This is identical to how the InfluxDB data source lets you write raw queries.)
|
||||
|
||||
@@ -376,4 +362,4 @@ datasources:
|
||||
appInsightsApiKey: <app-insights-api-key>
|
||||
logAnalyticsClientSecret: <log-analytics-client-secret>
|
||||
version: 1
|
||||
```
|
||||
```
|
||||
@@ -184,7 +184,7 @@ To import the pre-configured dashboards, go to the configuration page of your Cl
|
||||
|
||||
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
See the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
See the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query variable
|
||||
|
||||
|
||||
@@ -17,6 +17,6 @@ Each data source has a specific query editor that is customized for the features
|
||||
|
||||
Use the query editor to build one or more queries in your time series database. The panel instantly updates, allowing you to effectively explore your data in real time and build a perfect query for that particular panel.
|
||||
|
||||
You can use [template variables]({{< relref "../../variables/templates-and-variables.md" >}}) in the query editor within the queries themselves. This provides a powerful way to explore data dynamically based on the templating variables selected on the dashboard.
|
||||
You can use [template variables]({{< relref "../../reference/templating.md" >}}) in the query editor within the queries themselves. This provides a powerful way to explore data dynamically based on the templating variables selected on the dashboard.
|
||||
|
||||
Grafana allows you to reference queries in the query editor by the row that they’re on. If you add a second query to graph, you can reference the first query by typing in #A. This provides an easy and convenient way to build compound queries.
|
||||
@@ -120,7 +120,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
|
||||
@@ -91,7 +91,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
Graphite 1.1 introduced tags and Grafana added support for Graphite queries with tags in version 5.0. To create a variable using tag values, then you need to use the Grafana functions `tags` and `tag_values`.
|
||||
@@ -158,7 +158,7 @@ Example of a tag expression with regex formatting and using the Equal Tilde oper
|
||||
server=~${servers:regex}
|
||||
```
|
||||
|
||||
Check out the [Advanced Formatting Options section in the Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation for examples and details.
|
||||
Check out the [Advanced Formatting Options section in the Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation for examples and details.
|
||||
|
||||
## Annotations
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
|
||||
@@ -146,7 +146,7 @@ log message you're interested in.
|
||||
|
||||
Instead of hard-coding things like server, application and sensor name in your metric queries, you can use variables in their place. Variables are shown as drop-down select boxes at the top of the dashboard. These drop-down boxes make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
Check out the [Templating]({{< relref "../../reference/templating" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
## Annotations
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Name | Description
|
||||
|
||||
### Min time interval
|
||||
|
||||
A lower limit for the [$__interval]({{< relref "../../variables/templates-and-variables/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/templates-and-variables/#the-interval-ms-variable" >}}) variables.
|
||||
A lower limit for the [$__interval]({{< relref "../../reference/templating/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../reference/templating/#the-interval-ms-variable" >}}) variables.
|
||||
Recommended to be set to write frequency, for example `1m` if your data is written every minute.
|
||||
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
|
||||
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
|
||||
@@ -300,7 +300,7 @@ Any series lacking a value in a 3 minute window will have a value of zero which
|
||||
|
||||
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query Variable
|
||||
|
||||
@@ -370,7 +370,7 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
|
||||
|
||||
`${servers:csv}`
|
||||
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation.
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation.
|
||||
|
||||
## Annotations
|
||||
|
||||
@@ -452,7 +452,7 @@ Please note that any macro function will not work inside a stored procedure.
|
||||
### Examples
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v51/mssql_metrics_graph.png" class="docs-image--no-shadow docs-image--right" >}}
|
||||
For the following examples the database table is defined in [Time series queries](#time-series-queries). Let's say that we want to visualize 4 series in a graph panel, i.e. all combinations of columns `valueOne`, `valueTwo` and `measurement`. Graph panel to the right visualizes what we want to achieve. To solve this we actually need to use two queries:
|
||||
For the following examples the database table defined in [Time series queries](#time-series-queries). Let's say that we want to visualize 4 series in a graph panel, i.e. all combinations of columns `valueOne`, `valueTwo` and `measurement`. Graph panel to the right visualizes what we want to achieve. To solve this we actually need to use two queries:
|
||||
|
||||
**First query:**
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ Name | Description
|
||||
|
||||
### Min time interval
|
||||
|
||||
A lower limit for the [$__interval]({{< relref "../../variables/templates-and-variables/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/templates-and-variables/#the-interval-ms-variable" >}}) variables.
|
||||
A lower limit for the [$__interval]({{< relref "../../reference/templating/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../reference/templating/#the-interval-ms-variable" >}}) variables.
|
||||
Recommended to be set to write frequency, for example `1m` if your data is written every minute.
|
||||
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
|
||||
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
|
||||
@@ -238,7 +238,7 @@ This feature is currently available in the nightly builds and will be included i
|
||||
|
||||
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query Variable
|
||||
|
||||
@@ -331,7 +331,7 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
|
||||
|
||||
`${servers:csv}`
|
||||
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation.
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation.
|
||||
|
||||
## Annotations
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
|
||||
@@ -39,7 +39,7 @@ Name | Description
|
||||
|
||||
### Min time interval
|
||||
|
||||
A lower limit for the [$__interval]({{< relref "../../variables/templates-and-variables/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/templates-and-variables/#the-interval-ms-variable" >}}) variables.
|
||||
A lower limit for the [$__interval]({{< relref "../../reference/templating/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../reference/templating/#the-interval-ms-variable" >}}) variables.
|
||||
Recommended to be set to write frequency, for example `1m` if your data is written every minute.
|
||||
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
|
||||
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
|
||||
@@ -242,7 +242,7 @@ ORDER BY time
|
||||
|
||||
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query Variable
|
||||
|
||||
@@ -333,7 +333,7 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
|
||||
|
||||
`${servers:csv}`
|
||||
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation.
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation.
|
||||
|
||||
## Annotations
|
||||
|
||||
|
||||
7
docs/sources/features/datasources/prometheus.md
Normal file → Executable file
7
docs/sources/features/datasources/prometheus.md
Normal file → Executable file
@@ -32,7 +32,7 @@ To access Prometheus settings, click the **Configuration** (gear) icon, then cli
|
||||
|
||||
## Prometheus query editor
|
||||
|
||||
Open a graph in edit mode by clicking the title > Edit (or by pressing `e` key while hovering over panel).
|
||||
Open a graph in edit mode by click the title > Edit (or by pressing `e` key while hovering over panel).
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v45/prometheus_query_editor_still.png"
|
||||
animated-gif="/img/docs/v45/prometheus_query_editor.gif" >}}
|
||||
@@ -67,7 +67,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
@@ -89,8 +89,7 @@ For details of what _metric names_, _label names_ and _label values_ are please
|
||||
|
||||
> Support for `$__range`, `$__range_s` and `$__range_ms` only available from Grafana v5.3
|
||||
|
||||
You can use some global built-in variables in query variables; `$__interval`, `$__interval_ms`, `$__range`, `$__range_s` and `$__range_ms`, see [Global built-in variables]({{< relref "../../variables/global-variables.md" >}}) for more information. These can be convenient to use in conjunction with the `query_result` function when you need to filter variable queries since
|
||||
|
||||
You can use some global built-in variables in query variables; `$__interval`, `$__interval_ms`, `$__range`, `$__range_s` and `$__range_ms`, see [Global built-in variables]({{< relref "../../reference/templating/#global-built-in-variables" >}}) for more information. These can be convenient to use in conjunction with the `query_result` function when you need to filter variable queries since
|
||||
`label_values` function doesn't support queries.
|
||||
|
||||
Make sure to set the variable's `refresh` trigger to be `On Time Range Change` to get the correct instances when changing the time range on the dashboard.
|
||||
|
||||
@@ -133,7 +133,7 @@ The option is called `Stackdriver auto` and the defaults are:
|
||||
- 5m for time ranges >= 23 hours and < 6 days
|
||||
- 1h for time ranges >= 6 days
|
||||
|
||||
The other automatic option is `Grafana auto`. This will automatically set the group by time depending on the time range chosen and the width of the graph panel. Read more about the details [here](http://docs.grafana.org/variables/templates-and-variables/#the-interval-variable).
|
||||
The other automatic option is `Grafana auto`. This will automatically set the group by time depending on the time range chosen and the width of the graph panel. Read more about the details [here](http://docs.grafana.org/reference/templating/#the-interval-variable).
|
||||
|
||||
It is also possible to choose fixed time intervals to group by, like `1h` or `1d`.
|
||||
|
||||
@@ -227,11 +227,11 @@ SLO queries use the same [alignment period functionality as metric queries]({{<
|
||||
|
||||
## Templating
|
||||
|
||||
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place.
|
||||
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query Variable
|
||||
|
||||
@@ -19,7 +19,7 @@ This makes it much easier to verify functionality since the data can be shared v
|
||||
|
||||
The `TestData DB` data source is not enabled by default. To enable it:
|
||||
|
||||
1. In the **Configuration** menu (small gear on the left side of the screen), click **Data Sources**.
|
||||
1. In the **Configuration** menu (small gear on the left side of the screen, click **Data Sources**.
|
||||
2. Click **Add Data Source**.
|
||||
3. Search and click `TestData DB`.
|
||||
4. Click **Save & Test** to enable it.
|
||||
|
||||
@@ -122,7 +122,7 @@ On the left-hand side of the query field is a `Metrics` button, clicking on this
|
||||
|
||||
The Query field supports autocomplete for metric names, function and works mostly the same way as the standard Prometheus query editor. Press the enter key to execute a query.
|
||||
|
||||
The autocomplete menu can be triggered by pressing Ctrl+Space. The Autocomplete menu contains a new History section with a list of recently executed queries.
|
||||
The autocomplete menu can be trigger by pressing Ctrl+Space. The Autocomplete menu contains a new History section with a list of recently executed queries.
|
||||
|
||||
Suggestions can appear under the query field - click on them to update your query with the suggested change.
|
||||
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
+++
|
||||
title = "Add navigation links"
|
||||
title = "Navigation links"
|
||||
description = ""
|
||||
keywords = ["grafana", "linking", "create links", "link panels", "link dashboards", "navigate"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/features/navigation-links/"]
|
||||
[menu.docs]
|
||||
identifier = "dashboards"
|
||||
parent = "features"
|
||||
weight = 1
|
||||
weight = 9
|
||||
+++
|
||||
|
||||
# Add navigation links
|
||||
# Navigation links
|
||||
|
||||
You can use links to navigate between commonly-used dashboards or to connect others to your visualizations. Links let you create shortcuts to other dashboards, panels, and even external websites.
|
||||
You can use links to navigate between commonly used dashboards. Links let you create shortcuts to other dashboards, panels, and even external websites.
|
||||
|
||||
Grafana supports three types of links: Dashboard Links, Panel Links, and Data Links. They are all available from your dashboard.
|
||||
|
||||
@@ -20,13 +18,13 @@ Grafana supports three types of links: Dashboard Links, Panel Links, and Data Li
|
||||
|
||||
## Which link should you use?
|
||||
|
||||
Start by figuring out how you're currently navigating between dashboards. If you're often jumping between a set of dashboards and struggling to find the same context in each, links can help optimize your workflow.
|
||||
Start by figuring out how you're currently navigating between dashboards. If you're often jumping between a set of dashboards and struggling to find the same context in each, links can help optimize your workflow.
|
||||
|
||||
The next step is to figure out which link type is right for your workflow. Even though all the link types in Grafana are used to create shortcuts to other dashboards or external websites, they work in different contexts.
|
||||
|
||||
- If the link relates to most if not all of the panels in the dashboard, use a _dashboard link_.
|
||||
- If you want to drill down into specific panels, use a _panel link_.
|
||||
- If you want to drill down into a specific series, or even a single measurement, use a _data link_.
|
||||
- If the link relates to most if not all of the panels in the dashboard, use a *dashboard link*.
|
||||
- If you want to drill down into specific panels, use a *panel link*.
|
||||
- If you want to drill down into a specific series, or even a single measurement, use a *data link*.
|
||||
|
||||
## Dashboard links
|
||||
|
||||
@@ -68,7 +66,7 @@ Add a link to a URL at the top of your current dashboard. You can link to any av
|
||||
- **Time range** – Select this option to include the dashboard time range in the link. When the user clicks the link, the linked dashboard opens with the indicated time range already set. **Example:** https://play.grafana.org/d/000000010/annotations?orgId=1&from=now-3h&to=now
|
||||
- **Variable values** – Select this option to include template variables currently used as query parameters in the link. When the user clicks the link, any matching templates in the linked dashboard are set to the values from the link. **Example:** https://play.grafana.org/d/000000074/alerting?var-app=backend&var-server=backend_01&var-server=backend_03&var-interval=1h
|
||||
- **Open in new tab** – Select this option if you want the dashboard link to open in a new tab or window.
|
||||
1. Click **Add**.
|
||||
1. Click **Add**.
|
||||
|
||||
### Update a dashboard link
|
||||
|
||||
@@ -33,7 +33,7 @@ The general tab allows customization of a panel's appearance and menu options.
|
||||
- **Transparent** - If checked, removes the solid background of the panel (default not checked).
|
||||
|
||||
### Repeat
|
||||
Repeat a panel for each value of a variable. Repeating panels are described in more detail [here]({{< relref "../../variables/templates-and-variables.md#repeating-panels" >}}).
|
||||
Repeat a panel for each value of a variable. Repeating panels are described in more detail [here]({{< relref "../../reference/templating.md#repeating-panels" >}}).
|
||||
|
||||
|
||||
## Metrics
|
||||
|
||||
@@ -16,7 +16,7 @@ There are a wide variety of styling and formatting options for each panel. Panel
|
||||
|
||||
Panels like the [Graph]({{< relref "graph.md" >}}) panel allow you to graph as many metrics and series as you want. Other panels like [Singlestat]({{< relref "singlestat.md" >}}) require a reduction of a single query into a single number.
|
||||
|
||||
Panels can be made more dynamic with [Dashboard Templating]({{< relref "../../variables/templates-and-variables.md" >}}) variable strings within the panel configuration. The template can include queries to your data source configured in the Query Editor.
|
||||
Panels can be made more dynamic with [Dashboard Templating]({{< relref "../../reference/templating.md" >}}) variable strings within the panel configuration. The template can include queries to your data source configured in the Query Editor.
|
||||
|
||||
Panels can be [shared]({{< relref "../../reference/share_panel.md" >}}) easily in a variety of ways.
|
||||
|
||||
|
||||
@@ -27,10 +27,10 @@ background or value color using thresholds.
|
||||
* Color
|
||||
* `Value` - Color the value and graph area only.
|
||||
* `Background` - Color the background.
|
||||
* Graph
|
||||
** Graph
|
||||
* `None` - Disable the graph / sparkline
|
||||
* `Area graph` - Show area graph below value. This requires that your query returns a time column.
|
||||
* Justify
|
||||
** Justify
|
||||
* `Auto` - If only a single value is shown (no repeat) the value is centered. If multiple series or rows the value is
|
||||
* left aligned.
|
||||
* `Center` - Force center alignment.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
+++
|
||||
title = "Getting started"
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Getting started"
|
||||
identifier = "getting-started"
|
||||
weight = 100
|
||||
+++
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
+++
|
||||
title = "Histograms and heatmaps"
|
||||
description = "An introduction to histograms and heatmaps"
|
||||
keywords = ["grafana", "heatmap", "panel", "documentation", "histogram"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "intro-to-histograms"
|
||||
parent = "panels"
|
||||
weight = 400
|
||||
+++
|
||||
|
||||
# Introduction to histograms and heatmaps
|
||||
|
||||
A histogram is a graphical representation of the distribution of numerical data. It groups values into buckets
|
||||
(sometimes also called bins) and then counts how many values fall into each bucket.
|
||||
|
||||
Instead of graphing the actual values, histograms graph the buckets. Each bar represents a bucket,
|
||||
and the bar height represents the frequency (such as count) of values that fell into that bucket's interval.
|
||||
|
||||
## Histogram example
|
||||
|
||||
This histogram shows the value distribution of a couple of time series. You can easily see that
|
||||
most values land between 240-300 with a peak between 260-280.
|
||||
|
||||

|
||||
|
||||
Histograms only look at _value distributions_ over a specific time range. The problem with histograms is you cannot see any trend or changes in the distribution over time.
|
||||
This is where heatmaps become useful.
|
||||
|
||||
## Heatmaps
|
||||
|
||||
A _heatmap_ is like a histogram, but over time where each time slice represents its own histogram. Instead of using bar height as a representation of frequency, it uses cells and colors the cell proportional to the number of values in the bucket.
|
||||
|
||||
In this example, you can clearly see what values are more common and how they trend over time.
|
||||
|
||||

|
||||
|
||||
## Pre-bucketed data
|
||||
|
||||
There are a number of data sources supporting histogram over time like Elasticsearch (by using a Histogram bucket
|
||||
aggregation) or Prometheus (with [histogram](https://prometheus.io/docs/concepts/metric_types/#histogram) metric type
|
||||
and *Format as* option set to Heatmap). But generally, any data source could be used if it meets the requirements:
|
||||
returns series with names representing bucket bound or returns series sorted by the bound in ascending order.
|
||||
|
||||
## Raw data vs aggregated
|
||||
|
||||
If you use the heatmap with regular time series data (not pre-bucketed), then it's important to keep in mind that your data
|
||||
is often already aggregated by your time series backend. Most time series queries do not return raw sample data
|
||||
but include a group by time interval or maxDataPoints limit coupled with an aggregation function (usually average).
|
||||
|
||||
This all depends on the time range of your query of course. But the important point is to know that the histogram bucketing
|
||||
that Grafana performs might be done on already aggregated and averaged data. To get more accurate heatmaps it is better
|
||||
to do the bucketing during metric collection or store the data in Elasticsearch, or in the other data source which
|
||||
supports doing histogram bucketing on the raw data.
|
||||
|
||||
If you remove or lower the group by time (or raise maxDataPoints) in your query to return more data points your heatmap will be
|
||||
more accurate but this can also be very CPU and memory taxing for your browser and could cause hangs and crashes if the number of
|
||||
data points becomes unreasonably large.
|
||||
4
docs/sources/getting-started/getting-started.md → docs/sources/guides/getting_started.md
Normal file → Executable file
4
docs/sources/getting-started/getting-started.md → docs/sources/guides/getting_started.md
Normal file → Executable file
@@ -3,12 +3,12 @@ title = "Getting started"
|
||||
description = "Guide for getting started with Grafana"
|
||||
keywords = ["grafana", "intro", "guide", "started"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/guides/gettingstarted","/docs/grafana/latest/guides/getting_started"]
|
||||
aliases = ["/docs/grafana/latest/guides/gettingstarted"]
|
||||
[menu.docs]
|
||||
name = "Getting started"
|
||||
identifier = "getting_started_guide"
|
||||
parent = "guides"
|
||||
weight = 200
|
||||
weight = 100
|
||||
+++
|
||||
|
||||
# Getting started
|
||||
@@ -3,17 +3,16 @@ title = "Glossary"
|
||||
description = "Grafana glossary"
|
||||
keywords = ["grafana", "intro", "glossary", "dictionary"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/guides/glossary"]
|
||||
[menu.docs]
|
||||
name = "Glossary"
|
||||
identifier = "glossary"
|
||||
parent = "guides"
|
||||
weight = 500
|
||||
weight = 400
|
||||
+++
|
||||
|
||||
# Glossary
|
||||
|
||||
This topic lists words and abbreviations that are commonly used in the Grafana documentation and community.
|
||||
This topic lists words and abbreviations that commonly used in the Grafana documentation and community.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@@ -37,7 +36,7 @@ This topic lists words and abbreviations that are commonly used in the Grafana d
|
||||
<td>An extension of Grafana that allows users to provide additional functionality to enhance their experience. The types of plugins currently supported are:
|
||||
<ul>
|
||||
<li><b>App plugin:</b> Extends Grafana with a customized experience. It includes a set of panel and data source plugins, as well as custom pages.</li>
|
||||
<li><b>Data source plugin:</b> Extends Grafana with support for additional data sources.</li>
|
||||
<li><b>Data source plugin:</b> Extends Grafana with supports additional data sources in Grafana.</li>
|
||||
<li><b>Panel plugin:</b> Extends Grafana with additional visualization options.</li>
|
||||
</ul>
|
||||
</td>
|
||||
3
docs/sources/getting-started/timeseries.md → docs/sources/guides/timeseries.md
Normal file → Executable file
3
docs/sources/getting-started/timeseries.md → docs/sources/guides/timeseries.md
Normal file → Executable file
@@ -4,7 +4,6 @@ description = "Introduction to time series"
|
||||
keywords = ["grafana", "intro", "guide", "concepts", "timeseries"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
aliases = ["/docs/grafana/latest/guides/timeseries"]
|
||||
name = "Time series"
|
||||
identifier = "time_series"
|
||||
parent = "guides"
|
||||
@@ -75,7 +74,7 @@ Look at this sequence of Unix timestamps:
|
||||
1572524345, 1572524375, 1572524404, 1572524434, 1572524464
|
||||
```
|
||||
|
||||
Looking at these timestamps, they all start with `1572524`, leading to poor use of disk space. Instead, we could store each subsequent timestamp as the difference, or _delta_, from the first one:
|
||||
Looking at these timestamp, they all start with `1572524`, leading to poor use of disk space. Instead, we could store each subsequent timestamp as the difference, or _delta_, from the first one:
|
||||
|
||||
```
|
||||
1572524345, +30, +29, +30, +30
|
||||
@@ -4,7 +4,6 @@ description = "Overview of Grafana and features"
|
||||
keywords = ["grafana", "intro", "guide", "started"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
aliases = ["/docs/grafana/latest/guides/what-is-grafana"]
|
||||
name = "What is Grafana?"
|
||||
identifier = "what_is_grafana"
|
||||
parent = "guides"
|
||||
@@ -13,11 +12,11 @@ weight = 200
|
||||
|
||||
# What is Grafana?
|
||||
|
||||
This topic provides a high-level look at Grafana, the Grafana process, and Grafana features. It's a good place to start if you want to learn more about Grafana software. To jump right in, refer to [Getting started]({{< relref "getting-started.md" >}}).
|
||||
This topic provides a high-level look at Grafana, the Grafana process, and Grafana features. It's a good place to start if you want to learn more about Grafana software. To jump right in, refer to [Getting started]({{< relref "getting_started.md" >}}).
|
||||
|
||||
Grafana is open source visualization and analytics software. It allows you to query, visualize, alert on, and explore your metrics no matter where they are stored. In plain English, it provides you with tools to turn your time-series database (TSDB) data into beautiful graphs and visualizations.
|
||||
|
||||
After creating a dashboard like you do in [Getting started]({{< relref "getting-started.md" >}}), there are many possible things you might do next. It all depends on your needs and your use case.
|
||||
After creating a dashboard like you do in [Getting started]({{< relref "getting_started.md" >}}), there are many possible things you might do next. It all depends on your needs and your use case.
|
||||
|
||||
For example, if you want to view weather data and statistics about your smart home, then you might create a playlist. If you are the administrator for a corporation and are managing Grafana for multiple teams, then you might need to set up provisioning and authentication.
|
||||
|
||||
@@ -45,7 +44,7 @@ Refer to [Annotations]({{< relref "../reference/annotations.md" >}}) for more in
|
||||
|
||||
## Dashboard variables
|
||||
|
||||
[Template variables]({{< relref "../variables/templates-and-variables.md" >}}) allow you to create dashboards that can be reused for lots of different use cases. Values aren't hard-coded with these templates, so for instance, if you have a production server and a test server, you can use the same dashboard for both.
|
||||
[Template variables]({{< relref "../reference/templating.md" >}}) allow you to create dashboards that can be reused for lots of different use cases. Values aren't hard-coded with these templates, so for instance, if you have a production server and a test server, you can use the same dashboard for both.
|
||||
|
||||
Templating allows you to drill down into your data, say, from all data to North America data, down to Texas data, and beyond. You can also share these dashboards across teams within your organization—or if you create a great dashboard template for a popular data source, you can contribute it to the whole community to customize and use.
|
||||
|
||||
@@ -95,7 +95,7 @@ New enhancements includes support for mapping a numeric value/range to text and
|
||||
## New variable interpolation syntax
|
||||
|
||||
We now support a new option for rendering variables that gives the user full control of how the value(s) should be rendered.
|
||||
In the table below you can see some examples and you can find all different options in the [Variables documentation](http://docs.grafana.org/variables/templates-and-variables/#advanced-formatting-options).
|
||||
In the table below you can see some examples and you can find all different options in the [Variables documentation](http://docs.grafana.org/reference/templating/#advanced-formatting-options).
|
||||
|
||||
Filter Option | Example | Raw | Interpolated | Description
|
||||
------------ | ------------- | ------------- | ------------- | -------------
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
+++
|
||||
title = "What's New in Grafana v7"
|
||||
description = "Feature and improvement highlights for Grafana v7"
|
||||
keywords = ["grafana", "new", "documentation", "7.0", "release notes"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Version 7.0"
|
||||
identifier = "v7.0"
|
||||
parent = "whatsnew"
|
||||
weight = -17
|
||||
+++
|
||||
|
||||
# What's new in Grafana v7.0
|
||||
|
||||
This topic includes the release notes for the Grafana v7.0, which is currently in beta. For all details, read the full [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md).
|
||||
|
||||
This major release of Grafana is the next step in our Observability story. It includes powerful new features for manipulating, transforming, and doing math on data. Grafana Enterprise has the first version of Usage analytics, which will help Grafana Admins better manage large, corporate Grafana ecosystems.
|
||||
|
||||
The Grafana 7.0 stable release is scheduled for the 18th of May. In the meantime, if you want to know more about what we've been up to and what is coming, sign up for our online GrafanaCon conference.
|
||||
|
||||
[{{< figure src="/assets/img/blog/GrafanaCONline.jpg" max-width="800px" lightbox="false" caption="GrafanaCONline May 13-29" >}}](https://grafana.com/about/events/grafanacon/2020/?source=blog)
|
||||
|
||||
The main highlights are:
|
||||
|
||||
- [**New Panel Editor** Redesign based on community feedback.]({{< relref "#new-panel-editor" >}})
|
||||
- [**Explore:** New tracing UI and support for visualizing Jaeger and Zipkin traces.]({{< relref "#new-tracing-ui" >}})
|
||||
- [**Enterprise** Usage Analytics and Presence.]({{< relref "#grafana-enterprise" >}})
|
||||
- [**Transformations** Transformations and simple Math operations for all data sources.]({{< relref "#transformations" >}})
|
||||
- [**Field overrides** Automatically configure panels with data from queries.]({{< relref "#field-overrides" >}})
|
||||
- [**Table** New Table panel.]({{< relref "#table-panel" >}})
|
||||
- [**Plugins** New plugins platform.]({{< relref "#plugins-platform" >}})
|
||||
- [**Tutorials** New tutorials section.]({{< relref "#new-tutorials" >}})
|
||||
- [**Cloudwatch** Support for Cloudwatch Logs in Explore and the Logs panel.]({{< relref "#cloudwatch-logs" >}})
|
||||
- [**Breaking change** PhantomJS removed.]({{< relref "#breaking-change-phantomjs-removed" >}})
|
||||
- [**Time zones** Time zone support]({{< relref "#time-zone-support" >}})
|
||||
|
||||
## New panel editor
|
||||
|
||||
We redesigned the UI for editing panels. We separated panel display settings to a right-hand side pane that you can collapse or expand depending on what your focus is on. With this change we are also introducing our new unified option model and UI for defining data configuration and display options. This unified data configuration system powers a consistent UI for setting data options across visualizations and making all data display settings data-driven and overridable.
|
||||
|
||||
## New tracing UI
|
||||
|
||||
This release adds major support for distributed tracing, including a telemetry mode to complement the existing support for metrics and logs. Traces allow you to follow how single requests travel through a distributed system. We are starting with an integrated trace viewer and two new built-in data sources: Jaeger and Zipkin.
|
||||
|
||||
You can use the new trace view in Explore either directly to search for a particular trace or you can configure Loki to detect trace IDs in the log lines and link directly to a trace timeline pulled from Jaeger or Zipkin data source.
|
||||
|
||||
In the future we will add more workflows and integrations so that correlating between metrics, logs and traces is even easier.
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/tracing_ui.png" max-width="1024px" caption="Tracing UI" >}}
|
||||
|
||||
## Transformations
|
||||
|
||||
Not just visualizing data from anywhere, in Grafana 7.0 you can transform them, too. By chaining a simple set of point and click transformations users will be able join, pivot, filter, re-name and calculate to get the results they need. Perfect for operations across queries or data sources missing essential data transformations.
|
||||
|
||||
Transformations and maths across queries. The data you want to visualize can come from many different places and it is usually not in exactly the right form. The new transformations feature allows you to rename fields, join separate time series together and more - data munging. Usually this requires writing code but this new feature lets you do it in the Grafana UI instead. It also lets you do maths across queries. Lots of data sources do not support this natively so being able to do it in Grafana is a killer feature. For users, with large dashboards or with heavy queries, being able to reuse the query result from one panel in another panel can be a huge performance gain.
|
||||
|
||||
The [Google Sheets data source](https://grafana.com/grafana/plugins/grafana-googlesheets-datasource) that was published a few weeks ago works really well together with the transformations feature.
|
||||
|
||||
**Transformations shipping in 7.0**
|
||||
|
||||
- **Reduce:** Reduce many rows / data points to a single value
|
||||
- **Filter by name:** Filter fields by name or regex
|
||||
- **Filter by refId:** Filter by query letter
|
||||
- **Organize fields:** Reorder, rename and hide fields.
|
||||
- **Labels to fields:** Transform time series with labels into a table where labels get converted to fields and the result is joined by time
|
||||
- **Join by field:** Join many result sets (series) together using for example the time field. Useful for transforming time series into a table with a shared time column and where each series get it's own column.
|
||||
- **Add field from calculation:** This is a powerful transformation that allows you perform many different types of math operations and add the result as a new field. Examples:
|
||||
- Calculate the difference between two series or fields and add the result to a new field
|
||||
- Multiply one field with another another and add the result to a new field
|
||||
|
||||
## Field overrides
|
||||
|
||||
With Grafana 7.0 we are introducing a new, unified data configuration system that powers a consistent UI for setting data options across visualizations as well as making all data display settings data driven and overridable. This new option architecture and UI will make all panels have a consistent set of options and behaviors for attributes like `unit`, `min`, `max`, `thresholds`, `links`, `decimals` or `value mappings`. Not only that but all these options will share a consistent UI for specifying override rules and is extensible for custom panel specific options.
|
||||
|
||||
Up until now the overrides were available only for Graph and Table panel(via Column Styles), but with 7.0 they work consistently across all visualization types and plugins.
|
||||
|
||||
This feature enables even more powerful visualizations and fine grained control over how the data is displayed.
|
||||
|
||||
## Inspect panels and export data to CSV
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/panel_edit_export_raw_data.png" max-width="800px" class="docs-image--right" caption="Panel Edit - Export raw data to CSV" >}}
|
||||
|
||||
Another new feature of Grafana 7.0 is the panel inspector. Inspect allows you to view the raw data for any Grafana panel as well as export that data to a CSV file. With Panel inspect you will also be able to perform simple raw data transformations like join, view query stats or detailed execution data.
|
||||
|
||||
Learn more about this feature in [Inspect a panel]({{< relref "../panels/inspect-panel.md" >}})
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
## Table panel
|
||||
|
||||
Grafana 7.0 comes with a new table panel (and deprecates the old one). This new table panel supports horizontal scrolling and column resize. Paired with the new `Organize fields` transformation detailed above you can reorder, hide & rename columns. This new panel also supports new cell display modes, like showing a bar gauge inside a cell.
|
||||
|
||||
{{< youtube J29wILRh3QQ >}}
|
||||
<br />
|
||||
|
||||
## Auto grid mode for Stat panel and Gauge
|
||||
|
||||
This new 7.0 feature is for the gauge and stat panels. Before, stat and gauge only supported horizontal or vertical stacking: The auto layout mode just selected vertical or horizontal stacking based on the panel dimensions (whatever was highest). But in 7.0 the auto layout for these two panels will allow dynamic grid layouts where Grafana will try to optimize the usage of space and lay out each sub-visualization in a grid.
|
||||
|
||||
{{< youtube noq1rLGvsrU >}}
|
||||
<br />
|
||||
|
||||
## Cloudwatch Logs
|
||||
|
||||
Grafana 7.0 adds logging support to one of our most popular cloud provider data sources. Autocomplete support for Cloudwatch Logs queries is included for improved productivity. There is support for deep linking to the CloudWatch Logs Insights console for log queries, similar to the deep linking feature for Cloudwatch metrics. Since CloudWatch Logs queries can return time series data, for example through the use of the `stats` command, alerting is supported too.
|
||||
|
||||
## Plugins platform
|
||||
|
||||
The platform for plugins has been completely re-imagined and provides ready-made components and tooling to help both inexperienced and experienced developers get up and running more quickly. The tooling, documentation and new components will improve plugin quality and reduce long-term maintenance. We are seeing already that a a high quality plugin with the Grafana look and feel can be written in much fewer lines of code than previously.
|
||||
|
||||
### Front end plugins platform
|
||||
|
||||
In Grafana 7.0 we are maturing our panel and front-end datasource plugins platform.
|
||||
|
||||
Plugins can use the same React components that the Grafana team uses to build Grafana. Using these components means the Grafana team will support and improve them continually and make your plugin as polished as the rest of Grafana’s UI. The new [`@grafana/ui` components library](https://developers.grafana.com/ui) is documented with Storybook (visual documentation) and is available on NPM.
|
||||
|
||||
The `@grafana/data`, `@grafana/runtime`, `@grafana/e2e packages` (also available via NPM) aim to simplify the way plugins are developed. We want to deliver a set of [reliable APIs](https://grafana.com/docs/grafana/latest/packages_api/) for plugin developers.
|
||||
|
||||
With [@grafana/toolkit](https://www.npmjs.com/package/@grafana/toolkit) we are delivering a simple CLI that helps plugin authors quickly scaffold, develop and test their plugins without worrying about configuration details. A plugin author no longer needs to be a grunt or webpack expert to build their plugin.
|
||||
|
||||
### Support for backend plugins
|
||||
|
||||
Grafana now officially supports backend plugins and the first type of plugin to be introduced is a backend component for data source plugins. You can optionally add a backend component to your data source plugin and implement the query logic there to automatically enable alerting in Grafana for your plugin. In the 7.0 release, we provide a Go SDK to build plugins and you can generate a plugin scaffold to help you get started using the [`@grafana/toolkit`](https://www.npmjs.com/package/@grafana/toolkit).
|
||||
|
||||
Plugins can be monitored with the new metrics and health check capabilities. The new Resources capability means backend components can return non-time series data like JSON or static resources like images and opens up Grafana for new use cases.
|
||||
|
||||
With this release, we are deprecating the unofficial first version of backend plugins which will be removed in a future release.
|
||||
|
||||
## New tutorials
|
||||
|
||||
To help you get started with Grafana, we’ve launched a brand new tutorials platform. We’ll continue to expand the platform with more tutorials, but here are some of the ones you can try out now:
|
||||
|
||||
- [Grafana fundamentals](https://grafana.com/tutorials/grafana-fundamentals/)
|
||||
- [Create users and teams](https://grafana.com/tutorials/create-users-and-teams/)
|
||||
- [Build a panel plugin](https://grafana.com/tutorials/build-a-panel-plugin/)
|
||||
- [Build a data source plugin](https://grafana.com/tutorials/build-a-data-source-plugin/)
|
||||
|
||||
## Rollup indicator for Metrictank queries
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/metrictank_rollup_metadata.png" max-width="800px" class="docs-image--right" caption="Metrictank rollup metadata" >}}
|
||||
|
||||
Depending on the cardinality of the data and the time range MetricTank may return rolled up (aggregated) data. This can be as subtle as potentially only 1 or 2 graphs out of nine being rolled up. The new rollup indicator is visible in the panel title and you can also inspect extensive metadata and stats about the Metrictank query result and its rollups.
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
## Breaking change - PhantomJS removed
|
||||
|
||||
[PhantomJS](https://phantomjs.org/), have been used for rendering images of dashboards and panels and have been included with Grafana since Grafana v2.0. Since then we’ve had a lot of related bugs and security related issues, mainly due to the fact that PhantomJS have struggled with supporting modern web technologies. Throughout the years, maintaining PhantomJS support in Grafana has been a nightmare. Removing support for PhantomJS has been a high priority for the Grafana project and got stressed even more when the PhantomJS maintainer in March 2018 [announced](https://github.com/ariya/phantomjs/issues/15344) the end of the project.
|
||||
|
||||
Since then we have been working towards removing PhantomJS. In October 2019, when Grafana v6.4 was released, we [announced](https://grafana.com/blog/2019/10/02/grafana-v6.4-released/#phantomjs-deprecation) the deprecation of PhantomJS. Grafana v7.0 removes all PhantomJS support which means that Grafana distribution no longer will include a built-in image renderer.
|
||||
|
||||
As a replacement for PhantomJS we’ve developed the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer) which is a plugin that runs on the backend and handles rendering panels and dashboards as PNG images using headless Chromium/Chrome. The [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer) can either be installed as a Grafana plugin running in its own process side-by-side with Grafana. or runs as an external HTTP service, hosted using Docker or as a standalone application.
|
||||
|
||||
Read more about [Image Rendering]({{< relref "../administration/image_rendering/" >}}) in the documentation for further instructions.
|
||||
|
||||
## Query history in Explore out of beta
|
||||
|
||||
The Query history feature lets you view and interact with the queries that you have previously run in Explore. You can add queries to the Explore query editor, write comments, create and share URL links, star your favorite queries, and much more. Starred queries are displayed in the Starred tab, so it is easier to reuse queries that you run often without typing them from scratch.
|
||||
|
||||
It was released as a beta feature in Grafana 6.7. The feedback has been really positive and it is now out of beta for the 7.0 release. Learn more about query history in [Explore]({{< relref "../features/explore" >}}).
|
||||
|
||||
## Stackdriver data source supports Service Monitoring
|
||||
|
||||
[Service monitoring](https://cloud.google.com/service-monitoring) in Google Cloud Platform (GCP) enables you to monitor based on Service Level Objectives (SLOs) for your GCP services. The new SLO query builder in the Stackdriver data source allows you to display SLO data in Grafana. Read more about it in the [Stackdriver data source documentation]({{< relref "../features/datasources/stackdriver/#slo-service-level-objective-queries" >}}).
|
||||
|
||||
## Time zone support
|
||||
|
||||
You can now override the time zone used to display date and time values in a dashboard. One benefit of this is that you can specify the local time zone of the service or system that you are monitoring which can be helpful when monitoring a system or service that operates across several time zones.
|
||||
|
||||
## Grafana Enterprise
|
||||
|
||||
Grafana Enterprise focuses on solving problems for large companies and Grafana installations. And in Grafana 7.0 we are finally
|
||||
solving one of the most common problems of using Grafana at scale.
|
||||
|
||||
This includes problems like:
|
||||
|
||||
- There are too many dashboards, how do I find the right one?
|
||||
- How to find popular dashboards
|
||||
- How to find dashboards with errors
|
||||
- How to identify dashboards that are not being used
|
||||
- Who created or last viewed this dashboard?
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/dashboard_insights_users.png" max-width="1024px" caption="Dashboard Insights Users" >}}
|
||||
|
||||
### Usage analytics and presence
|
||||
|
||||
This release includes a series of features that build on our new usage analytics engine. Features like improved dashboard search to sort dashboards by usage and errors. When a user opens a dashboard, they will see a presence indicator of who else is viewing the same dashboard. And finally open a dashboard usage stats drawer to view recent dashboard usage.
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/presence_indicator.jpg" max-width="1024px" caption="Grafana Enterprise - Presence Indicator" >}}
|
||||
|
||||
## Upgrading
|
||||
|
||||
See [upgrade notes]({{< relref "../installation/upgrading/#upgrading-to-v7-0" >}}).
|
||||
|
||||
## Changelog
|
||||
|
||||
Check out [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) for a complete list of new features, changes, and bug fixes.
|
||||
@@ -43,4 +43,3 @@ dashboards, creating users and updating data sources.
|
||||
|
||||
* [Data Source Permissions API]({{< relref "datasource_permissions.md" >}})
|
||||
* [External Group Sync API]({{< relref "external_group_sync.md" >}})
|
||||
* [Reporting API]({{< relref "reporting.md" >}})
|
||||
|
||||
@@ -226,7 +226,7 @@ Content-Type: application/json
|
||||
}
|
||||
```
|
||||
|
||||
> NOTE: `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../developers/plugins/authentication.md/#encrypting-sensitive-data">}}) documentation for more details.
|
||||
> NOTE: `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../plugins/developing/auth-for-datasources.md/#encrypting-sensitive-data">}}) documentation for more details.
|
||||
|
||||
**Example Graphite Request with basic auth enabled**:
|
||||
|
||||
@@ -376,7 +376,7 @@ Content-Type: application/json
|
||||
}
|
||||
```
|
||||
|
||||
> NOTE: Similar to [creating a data source](#create-a-data-source), `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../developers/plugins/authentication.md/#encrypting-sensitive-data">}}) documentation for more details.
|
||||
> NOTE: Similar to [creating a data source](#create-a-data-source), `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../plugins/developing/auth-for-datasources.md/#encrypting-sensitive-data">}}) documentation for more details.
|
||||
|
||||
## Delete an existing data source by id
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
+++
|
||||
title = "Reporting API"
|
||||
description = "Grafana Enterprise APIs"
|
||||
keywords = ["grafana", "enterprise", "api", "reporting"]
|
||||
aliases = ["/docs/grafana/latest/http_api/reporting/"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Reporting API"
|
||||
parent = "http_api"
|
||||
+++
|
||||
|
||||
# Reporting API
|
||||
|
||||
This API allows you to interact programmatically with the [Reporting]({{< relref "../enterprise/reporting.md" >}}) feature.
|
||||
|
||||
> Reporting is only available in Grafana Enterprise. Read more about [Grafana Enterprise]({{< relref "../enterprise" >}}).
|
||||
|
||||
|
||||
## Send a report
|
||||
|
||||
> Only available in Grafana Enterprise v7.0+.
|
||||
|
||||
> This API endpoint is experimental and may be deprecated in a future release. On deprecation, a migration strategy will be provided and the endpoint will remain functional until the next major release of Grafana.
|
||||
|
||||
`POST /api/reports/email`
|
||||
|
||||
Generate and send a report. This API waits for the report to be generated before returning. We recommend that you set the client's timeout to at least 60 seconds.
|
||||
|
||||
### Example request
|
||||
|
||||
```http
|
||||
POST /api/reports/email HTTP/1.1
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||||
|
||||
```
|
||||
|
||||
### JSON Body Schema
|
||||
|
||||
Field name | Data type | Description
|
||||
---------- | ---- | -----------
|
||||
id | string | ID of the report to send. It is the same as in the URL when editing a report, not to be confused with the ID of the dashboard. Required.
|
||||
emails | string | Comma-separated list of emails to which to send the report to. Overrides the emails from the report. Required if **useEmailsFromReport** is not present.
|
||||
useEmailsFromReport | boolean | Send the report to the emails specified in the report. Required if **emails** is not present.
|
||||
|
||||
### Example response
|
||||
|
||||
```http
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 29
|
||||
|
||||
```
|
||||
|
||||
### Status Codes
|
||||
|
||||
Code | Description
|
||||
---- | -----------
|
||||
200 | Report was sent.
|
||||
400 | Bad request (invalid json, missing content-type, missing or invalid fields, etc.).
|
||||
401 | Authentication failed, refer to [Authentication API]({{< relref "../http_api/auth.md" >}}).
|
||||
403 | User is authenticated but is not authorized to generate the report.
|
||||
404 | Report not found.
|
||||
500 | Unexpected error or server misconfiguration. Refer to body and/or server logs for more details.
|
||||
400 | Bad request (invalid json, missing content-type, missing or invalid fields, etc.).
|
||||
401 | Authentication failed, refer to [Authentication API]({{< relref "../http_api/auth.md" >}}).
|
||||
403 | User is authenticated but is not authorized to generate the report.
|
||||
404 | Report not found.
|
||||
500 | Unexpected error or server misconfiguration. Refer to body and/or server logs for more details.
|
||||
@@ -7,7 +7,7 @@ aliases = ["/docs/grafana/latest/installation/installation/", "/docs/grafana/v2.
|
||||
[menu.docs]
|
||||
name = "Installation"
|
||||
identifier = "installation"
|
||||
weight = 200
|
||||
weight = 1
|
||||
+++
|
||||
|
||||
## Install Grafana
|
||||
|
||||
@@ -56,7 +56,7 @@ All options in the configuration file can be overridden using environment variab
|
||||
GF_<SectionName>_<KeyName>
|
||||
```
|
||||
|
||||
Where the section name is the text within the brackets. Everything should be uppercase, `.` and `-` should be replaced by `_`. For example, if you have these configuration settings:
|
||||
Where the section name is the text within the brackets. Everything should be uppercase, `.` should be replaced by `_`. For example, if you have these configuration settings:
|
||||
|
||||
```bash
|
||||
# default section
|
||||
@@ -67,9 +67,6 @@ admin_user = admin
|
||||
|
||||
[auth.google]
|
||||
client_secret = 0ldS3cretKey
|
||||
|
||||
[plugin.grafana-image-renderer]
|
||||
rendering_ignore_https_errors = true
|
||||
```
|
||||
|
||||
You can override them on Linux machines with:
|
||||
@@ -78,7 +75,6 @@ You can override them on Linux machines with:
|
||||
export GF_DEFAULT_INSTANCE_NAME=my-instance
|
||||
export GF_SECURITY_ADMIN_USER=owner
|
||||
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
|
||||
export GF_PLUGIN_GRAFANA_IMAGE_RENDERER_RENDERING_IGNORE_HTTPS_ERRORS=true
|
||||
```
|
||||
|
||||
> For any changes to `conf/grafana.ini` (or corresponding environment variables) to take effect, you must restart Grafana for the changes to take effect.
|
||||
@@ -846,7 +842,7 @@ Set to true if you want to test alpha plugins that are not yet ready for general
|
||||
|
||||
### allow_loading_unsigned_plugins
|
||||
|
||||
Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
|
||||
Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
|
||||
|
||||
## [feature_toggles]
|
||||
### enable
|
||||
|
||||
@@ -164,7 +164,7 @@ Start Grafana by running:
|
||||
|
||||
## Next steps
|
||||
|
||||
Refer to the [Getting Started]({{< relref "../getting-started/getting-started/" >}}) guide for information about logging in, setting up data sources, and so on.
|
||||
Refer to the [Getting Started]({{< relref "../guides/getting_started/" >}}) guide for information about logging in, setting up data sources, and so on.
|
||||
|
||||
## Configure Grafana
|
||||
|
||||
|
||||
@@ -217,7 +217,7 @@ chown -R grafana:grafana /usr/share/grafana
|
||||
|
||||
## Next steps
|
||||
|
||||
Refer to the [Getting Started]({{< relref "../getting-started/getting-started/" >}}) guide for information about logging in, setting up data sources, and so on.
|
||||
Refer to the [Getting Started]({{< relref "../guides/getting_started/" >}}) guide for information about logging in, setting up data sources, and so on.
|
||||
|
||||
## Configure Docker image
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ sudo rpm -i --nodeps <local rpm package>
|
||||
|
||||
### Install from binary .tar.gz file
|
||||
|
||||
Download the latest [`.tar.gz` file](https://grafana.com/grafana/download?platform=linux) and extract it. The files are extracted into a folder named after the Grafana version that you downloaded. This folder contains all files required to run Grafana. There are no init scripts or install scripts in this package.
|
||||
Download the latest [`.tar.gz` file](https://grafana.com/grafana/download?platform=linux) and extract it. The files extract into a folder named after the Grafana version that you downloaded. This folder contains all files required to run Grafana. There are no init scripts or install scripts in this package.
|
||||
|
||||
```bash
|
||||
wget <tar.gz package url>
|
||||
@@ -202,7 +202,7 @@ Start Grafana by running:
|
||||
|
||||
## Next steps
|
||||
|
||||
Refer to the [Getting Started]({{< relref "../getting-started/getting-started/" >}}) guide for information about logging in, setting up data sources, and so on.
|
||||
Refer to the [Getting Started]({{< relref "../guides/getting_started/" >}}) guide for information about logging in, setting up data sources, and so on.
|
||||
|
||||
## Configure Grafana
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ For more on the query inspector read the Grafana Community article [Using Grafan
|
||||
|
||||
## Logging
|
||||
|
||||
If you encounter an error or problem, then you can check the Grafana server log. Usually located at `/var/log/grafana/grafana.log` on Unix systems or in `<grafana_install_dir>/data/log` on other platforms and manual installations.
|
||||
If you encounter an error or problem, then you can check the Grafana server log. Usually located at `/var/log/grafana/grafana.log` on Unix systems or in `<grafana_install_dir>/data/log` on other platforms and manual installs.
|
||||
|
||||
You can enable more logging by changing log level in the Grafana configuration file.
|
||||
|
||||
|
||||
@@ -31,19 +31,19 @@ You can either use the Windows installer or you can install a standalone Windows
|
||||
1. Click **Download the installer**.
|
||||
1. Open and run the installer.
|
||||
|
||||
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../getting-started/getting-started/" >}}).
|
||||
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../guides/getting_started/" >}}).
|
||||
|
||||
## Install standalone Windows binary
|
||||
|
||||
1. Click **Download the zip file**.
|
||||
**Important:** After you've downloaded the zip file and before extracting it, make sure to open the properties for that file (right-click **Properties**) and select the `unblock` check box and then click `Ok`.
|
||||
|
||||
1. Extract this folder to anywhere you want Grafana to run from.
|
||||
2. Extract this folder to anywhere you want Grafana to run from.
|
||||
|
||||
1. Start Grafana by executing `grafana-server.exe`, located in the `bin` directory, preferably from the command line. If you want to run Grafana as a Windows service, then download
|
||||
3. Start Grafana by executing `grafana-server.exe`, located in the `bin` directory, preferably from the command line. If you want to run Grafana as a Windows service, then download
|
||||
[NSSM](https://nssm.cc/). It is very easy to add Grafana as a Windows service using that tool.
|
||||
|
||||
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../getting-started/getting-started/" >}}).
|
||||
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../guides/getting_started/" >}}).
|
||||
|
||||
> **Note:** The default Grafana port is `3000`. This port might require extra permissions on Windows. If it does not appear in the default port, you can try changing to a different port.
|
||||
>
|
||||
|
||||
@@ -1,93 +1,94 @@
|
||||
- name: Getting started
|
||||
link: /getting-started/
|
||||
link: /guides/
|
||||
children:
|
||||
- name: What is Grafana?
|
||||
link: /getting-started/what-is-grafana/
|
||||
- name: Getting started
|
||||
link: /getting-started/getting-started/
|
||||
- name: Intro to time series
|
||||
link: /getting-started/timeseries/
|
||||
- name: Intro to histograms
|
||||
link: /getting-started/intro-histograms/
|
||||
- name: Glossary
|
||||
link: /getting-started/glossary/
|
||||
- name: What is Grafana?
|
||||
link: /guides/what-is-grafana/
|
||||
- name: Getting started
|
||||
link: /guides/getting_started/
|
||||
- name: Intro to time series
|
||||
link: /guides/timeseries/
|
||||
- name: Glossary
|
||||
link: /guides/glossary/
|
||||
- name: Installation
|
||||
link: /installation/
|
||||
children:
|
||||
- name: Requirements
|
||||
link: /installation/requirements/
|
||||
- name: Install on Ubuntu/Debian
|
||||
link: /installation/debian/
|
||||
- name: Install on Centos/RedHat/SUSE
|
||||
link: /installation/rpm/
|
||||
- name: Install on Windows
|
||||
link: /installation/windows/
|
||||
- name: Install on macOS
|
||||
link: /installation/mac/
|
||||
- name: Run Docker image
|
||||
link: /installation/docker/
|
||||
- name: Upgrade Grafana
|
||||
link: /installation/upgrading/
|
||||
- name: Requirements
|
||||
link: /installation/requirements/
|
||||
- name: Install on Ubuntu/Debian
|
||||
link: /installation/debian/
|
||||
- name: Install on Centos/RedHat/SUSE
|
||||
link: /installation/rpm/
|
||||
- name: Install on Windows
|
||||
link: /installation/windows/
|
||||
- name: Install on macOS
|
||||
link: /installation/mac/
|
||||
- name: Run Docker image
|
||||
link: /installation/docker/
|
||||
- name: Upgrade Grafana
|
||||
link: /installation/upgrading/
|
||||
- name: Administration
|
||||
link: /administration/
|
||||
children:
|
||||
- name: Configuration
|
||||
link: /installation/configuration/
|
||||
- name: Configure Docker image
|
||||
link: /installation/configure-docker/
|
||||
- name: Security
|
||||
link: /installation/security/
|
||||
- name: Authentication
|
||||
link: /auth/
|
||||
children:
|
||||
- link: /auth/overview/
|
||||
name: Overview
|
||||
- link: /auth/auth-proxy/
|
||||
name: Auth Proxy
|
||||
- link: /auth/ldap/
|
||||
name: LDAP
|
||||
- link: /auth/enhanced_ldap/
|
||||
name: Enhanced LDAP
|
||||
- link: /auth/generic-oauth/
|
||||
name: Generic OAuth
|
||||
- link: /auth/google/
|
||||
name: Google
|
||||
- link: /auth/azuread/
|
||||
name: Azure AD
|
||||
- link: /auth/github/
|
||||
name: GitHub
|
||||
- link: /auth/gitlab/
|
||||
name: GitLab
|
||||
- link: /auth/okta/
|
||||
name: Okta
|
||||
- link: /auth/saml/
|
||||
name: SAML
|
||||
- link: /auth/team-sync/
|
||||
name: Team Sync
|
||||
- name: Permissions
|
||||
link: /permissions/
|
||||
children:
|
||||
- link: /permissions/overview/
|
||||
name: Overview
|
||||
- link: /permissions/organization_roles/
|
||||
name: Organization Roles
|
||||
- link: /permissions/dashboard_folder_permissions/
|
||||
name: Dashboard and Folder
|
||||
- link: /permissions/datasource_permissions/
|
||||
name: Data source
|
||||
- name: Grafana CLI
|
||||
link: /administration/cli/
|
||||
- name: Internal metrics
|
||||
link: /administration/metrics/
|
||||
- name: Provisioning
|
||||
link: /administration/provisioning/
|
||||
- name: Set up Grafana for high availability
|
||||
link: /tutorials/ha_setup/
|
||||
- name: Troubleshooting
|
||||
link: /installation/troubleshooting/
|
||||
- name: Panels
|
||||
link: /features/panels/
|
||||
- name: Configuration
|
||||
link: /installation/configuration/
|
||||
- name: Configure Docker image
|
||||
link: /installation/configure-docker/
|
||||
- name: Security
|
||||
link: /installation/security/
|
||||
- name: Authentication
|
||||
link: /auth/
|
||||
children:
|
||||
- link: /auth/overview/
|
||||
name: Overview
|
||||
- link: /auth/auth-proxy/
|
||||
name: Auth Proxy
|
||||
- link: /auth/ldap/
|
||||
name: LDAP
|
||||
- link: /auth/enhanced_ldap/
|
||||
name: Enhanced LDAP
|
||||
- link: /auth/generic-oauth/
|
||||
name: Generic OAuth
|
||||
- link: /auth/google/
|
||||
name: Google
|
||||
- link: /auth/azuread/
|
||||
name: Azure AD
|
||||
- link: /auth/github/
|
||||
name: GitHub
|
||||
- link: /auth/gitlab/
|
||||
name: GitLab
|
||||
- link: /auth/okta/
|
||||
name: Okta
|
||||
- link: /auth/saml/
|
||||
name: SAML
|
||||
- link: /auth/team-sync/
|
||||
name: Team Sync
|
||||
- name: Permissions
|
||||
link: /permissions/
|
||||
children:
|
||||
- link: /permissions/overview/
|
||||
name: Overview
|
||||
- link: /permissions/organization_roles/
|
||||
name: Organization Roles
|
||||
- link: /permissions/dashboard_folder_permissions/
|
||||
name: Dashboard and Folder
|
||||
- link: /permissions/datasource_permissions/
|
||||
name: Data source
|
||||
- name: Grafana CLI
|
||||
link: /administration/cli/
|
||||
- name: Internal metrics
|
||||
link: /administration/metrics/
|
||||
- name: Provisioning
|
||||
link: /administration/provisioning/
|
||||
- name: Set up Grafana for high availability
|
||||
link: /tutorials/ha_setup/
|
||||
- name: Troubleshooting
|
||||
link: /installation/troubleshooting/
|
||||
- name: Features
|
||||
link: /features/
|
||||
children:
|
||||
- name: Panels
|
||||
link: /features/panels/
|
||||
children:
|
||||
- link: /features/panels/panels/
|
||||
name: Overview
|
||||
- link: /features/panels/graph/
|
||||
@@ -112,11 +113,13 @@
|
||||
name: Dashboard list
|
||||
- link: /features/panels/text/
|
||||
name: Text
|
||||
- name: Dashboards
|
||||
link: /features/dashboard/
|
||||
children:
|
||||
- name: Dashboard features
|
||||
link: /features/dashboard/
|
||||
children:
|
||||
- link: /features/dashboard/dashboards/
|
||||
name: Overview
|
||||
- link: /reference/templating/
|
||||
name: Variables
|
||||
- link: /reference/annotations/
|
||||
name: Annotations
|
||||
- link: /reference/dashboard_folders/
|
||||
@@ -133,23 +136,17 @@
|
||||
name: Time range
|
||||
- link: /reference/export_import/
|
||||
name: Export and import
|
||||
- link: /features/dashboard/links/
|
||||
name: Navigation links
|
||||
- link: /reference/datalinks/
|
||||
name: Data links
|
||||
- link: /reference/dashboard_history/
|
||||
name: Dashboard version history
|
||||
- name: Keyboard Shortcuts
|
||||
link: /features/shortcuts/
|
||||
- name: Reporting
|
||||
link: /features/reporting/
|
||||
- link: /reference/dashboard/
|
||||
name: JSON Model
|
||||
- link: /reference/scripting/
|
||||
name: Scripted dashboards
|
||||
- name: Data sources
|
||||
link: /features/datasources/
|
||||
children:
|
||||
- name: Data sources
|
||||
link: /features/datasources/
|
||||
children:
|
||||
- link: /features/datasources/add-a-data-source/
|
||||
name: Add data source
|
||||
- link: /features/datasources/cloudwatch/
|
||||
@@ -180,82 +177,75 @@
|
||||
name: Prometheus
|
||||
- link: /features/datasources/testdata/
|
||||
name: TestData DB
|
||||
- name: Explore
|
||||
link: /features/explore/
|
||||
- name: Alerting
|
||||
link: /alerting/
|
||||
children:
|
||||
- name: Explore
|
||||
link: /features/explore/
|
||||
- name: Alerting
|
||||
link: /alerting/
|
||||
children:
|
||||
- link: /alerting/rules/
|
||||
name: Engine and Rules
|
||||
- link: /alerting/metrics/
|
||||
name: Metrics
|
||||
- link: /alerting/notifications/
|
||||
name: Notifications
|
||||
- name: Image rendering
|
||||
link: /administration/image_rendering/
|
||||
- name: Templates and variables
|
||||
link: /variables/
|
||||
children:
|
||||
- link: /variables/templates-and-variables/
|
||||
name: Overview
|
||||
- link: /variables/global-variables/
|
||||
name: Global variables
|
||||
- link: /variables/advanced-variable-format-options/
|
||||
name: Advanced variable formats
|
||||
- link: /variables/repeat-panels-or-rows/
|
||||
name: Repeat panels or rows
|
||||
- name: Image rendering
|
||||
link: /administration/image_rendering/
|
||||
- name: Keyboard Shortcuts
|
||||
link: /features/shortcuts/
|
||||
- name: Reporting
|
||||
link: /features/reporting/
|
||||
- name: Navigation links
|
||||
link: /features/navigation-links/
|
||||
- name: What's new in Grafana
|
||||
link: /whatsnew/
|
||||
children:
|
||||
- name: Version 7.0
|
||||
link: /guides/whats-new-in-v7-0/
|
||||
- name: Version 6.7
|
||||
link: /guides/whats-new-in-v6-7/
|
||||
- name: Version 6.6
|
||||
link: /guides/whats-new-in-v6-6/
|
||||
- name: Version 6.5
|
||||
link: /guides/whats-new-in-v6-5/
|
||||
- name: Version 6.4
|
||||
link: /guides/whats-new-in-v6-4/
|
||||
- name: Version 6.3
|
||||
link: /guides/whats-new-in-v6-3/
|
||||
- name: Version 6.2
|
||||
link: /guides/whats-new-in-v6-2/
|
||||
- name: Version 6.1
|
||||
link: /guides/whats-new-in-v6-1/
|
||||
- name: Version 6.0
|
||||
link: /guides/whats-new-in-v6-0/
|
||||
- name: Old versions
|
||||
link: /whatsnew/
|
||||
children:
|
||||
- name: Version 5.4
|
||||
link: /guides/whats-new-in-v5-4/
|
||||
- name: Version 5.3
|
||||
link: /guides/whats-new-in-v5-3/
|
||||
- name: Version 5.2
|
||||
link: /guides/whats-new-in-v5-2/
|
||||
- name: Version 5.1
|
||||
link: /guides/whats-new-in-v5-1/
|
||||
- name: Version 5.0
|
||||
link: /guides/whats-new-in-v5/
|
||||
- name: Version 4.6
|
||||
link: /guides/whats-new-in-v4-6/
|
||||
- name: Version 4.5
|
||||
link: /guides/whats-new-in-v4-5/
|
||||
- name: Version 4.4
|
||||
link: /guides/whats-new-in-v4-4/
|
||||
- name: Version 4.3
|
||||
link: /guides/whats-new-in-v4-3/
|
||||
- name: Version 4.2
|
||||
link: /guides/whats-new-in-v4-2/
|
||||
- name: Version 4.1
|
||||
link: /guides/whats-new-in-v4-1/
|
||||
- name: Version 4.0
|
||||
link: /guides/whats-new-in-v4/
|
||||
- name: Version 3.1
|
||||
link: /guides/whats-new-in-v3-1/
|
||||
- name: Version 3.0
|
||||
link: /guides/whats-new-in-v3/
|
||||
- name: Version 6.7
|
||||
link: /guides/whats-new-in-v6-7/
|
||||
- name: Version 6.6
|
||||
link: /guides/whats-new-in-v6-6/
|
||||
- name: Version 6.5
|
||||
link: /guides/whats-new-in-v6-5/
|
||||
- name: Version 6.4
|
||||
link: /guides/whats-new-in-v6-4/
|
||||
- name: Version 6.3
|
||||
link: /guides/whats-new-in-v6-3/
|
||||
- name: Version 6.2
|
||||
link: /guides/whats-new-in-v6-2/
|
||||
- name: Version 6.1
|
||||
link: /guides/whats-new-in-v6-1/
|
||||
- name: Version 6.0
|
||||
link: /guides/whats-new-in-v6-0/
|
||||
- name: Old versions
|
||||
link: /whatsnew/
|
||||
children:
|
||||
- name: Version 5.4
|
||||
link: /guides/whats-new-in-v5-4/
|
||||
- name: Version 5.3
|
||||
link: /guides/whats-new-in-v5-3/
|
||||
- name: Version 5.2
|
||||
link: /guides/whats-new-in-v5-2/
|
||||
- name: Version 5.1
|
||||
link: /guides/whats-new-in-v5-1/
|
||||
- name: Version 5.0
|
||||
link: /guides/whats-new-in-v5/
|
||||
- name: Version 4.6
|
||||
link: /guides/whats-new-in-v4-6/
|
||||
- name: Version 4.5
|
||||
link: /guides/whats-new-in-v4-5/
|
||||
- name: Version 4.4
|
||||
link: /guides/whats-new-in-v4-4/
|
||||
- name: Version 4.3
|
||||
link: /guides/whats-new-in-v4-3/
|
||||
- name: Version 4.2
|
||||
link: /guides/whats-new-in-v4-2/
|
||||
- name: Version 4.1
|
||||
link: /guides/whats-new-in-v4-1/
|
||||
- name: Version 4.0
|
||||
link: /guides/whats-new-in-v4/
|
||||
- name: Version 3.1
|
||||
link: /guides/whats-new-in-v3-1/
|
||||
- name: Version 3.0
|
||||
link: /guides/whats-new-in-v3/
|
||||
- name: Grafana Enterprise
|
||||
link: /enterprise/
|
||||
children:
|
||||
@@ -282,94 +272,88 @@
|
||||
- name: Plugins
|
||||
link: /plugins/
|
||||
children:
|
||||
- name: Overview
|
||||
link: /plugins/
|
||||
- name: Install plugins
|
||||
link: /plugins/installation/
|
||||
- name: Install plugins
|
||||
link: /plugins/installation/
|
||||
- name: Develop plugins
|
||||
link: /plugins/developing/
|
||||
children:
|
||||
- link: /plugins/developing/development/
|
||||
name: Developer Guide
|
||||
- link: /plugins/developing/code-styleguide/
|
||||
name: Plugin Code Styleguide
|
||||
- link: /plugins/developing/plugin-review-guidelines/
|
||||
name: Plugin Review Guidelines
|
||||
- link: /plugins/developing/auth-for-datasources/
|
||||
name: Authentication for Datasource Plugins
|
||||
- link: /plugins/developing/defaults-and-editor-mode/
|
||||
name: Plugin Defaults and Editor Mode
|
||||
- link: /plugins/developing/apps/
|
||||
name: Developing App Plugins
|
||||
- link: /plugins/developing/panels/
|
||||
name: Developing Panel Plugins
|
||||
- link: /plugins/developing/backend-plugins-guide/
|
||||
name: Developing Backend Plugins
|
||||
- link: /plugins/developing/datasources/
|
||||
name: Developing Datasource Plugins
|
||||
- link: /plugins/developing/snapshot-mode/
|
||||
name: Snapshot Mode
|
||||
- link: /plugins/developing/plugin.json/
|
||||
name: plugin.json Schema
|
||||
- name: HTTP APIs
|
||||
link: /http_api/
|
||||
children:
|
||||
- name: API Authentication
|
||||
link: /http_api/auth/
|
||||
- name: Create API Tokens and Dashboards for a Specific Organization
|
||||
link: /tutorials/api_org_token_howto/
|
||||
- name: Admin API
|
||||
link: /http_api/admin/
|
||||
- name: Alerting API
|
||||
link: /http_api/alerting/
|
||||
- name: Alerting Notifications API
|
||||
link: /http_api/alerting_notification_channels/
|
||||
- name: Annotations API
|
||||
link: /http_api/annotations/
|
||||
- name: Dashboard API
|
||||
link: /http_api/dashboard/
|
||||
- name: Dashboard Permissions API
|
||||
link: /http_api/dashboard_permissions/
|
||||
- name: Dashboard Versions API
|
||||
link: /http_api/dashboard_versions/
|
||||
- name: Data Source API
|
||||
link: /http_api/data_source/
|
||||
- name: Data source Permissions API
|
||||
link: /http_api/datasource_permissions/
|
||||
- name: External Group Sync API
|
||||
link: /http_api/external_group_sync/
|
||||
- name: Folder API
|
||||
link: /http_api/folder/
|
||||
- name: Folder Permissions API
|
||||
link: /http_api/folder_permissions/
|
||||
- name: Folder/Dashboard Search API
|
||||
link: /http_api/folder_dashboard_search/
|
||||
- name: Organization API
|
||||
link: /http_api/org/
|
||||
- name: Other APIs
|
||||
link: /http_api/other/
|
||||
- name: Playlist API
|
||||
link: /http_api/playlist/
|
||||
- name: Preferences API
|
||||
link: /http_api/preferences/
|
||||
- name: Reporting API
|
||||
link: /http_api/reporting/
|
||||
- name: Snapshot API
|
||||
link: /http_api/snapshot/
|
||||
- name: Teams API
|
||||
link: /http_api/team/
|
||||
- name: Users API
|
||||
link: /http_api/user/
|
||||
- name: API Authentication
|
||||
link: /http_api/auth/
|
||||
- name: Create API Tokens and Dashboards for a Specific Organization
|
||||
link: /tutorials/api_org_token_howto/
|
||||
- name: Admin API
|
||||
link: /http_api/admin/
|
||||
- name: Alerting API
|
||||
link: /http_api/alerting/
|
||||
- name: Alerting Notifications API
|
||||
link: /http_api/alerting_notification_channels/
|
||||
- name: Annotations API
|
||||
link: /http_api/annotations/
|
||||
- name: Dashboard API
|
||||
link: /http_api/dashboard/
|
||||
- name: Dashboard Permissions API
|
||||
link: /http_api/dashboard_permissions/
|
||||
- name: Dashboard Versions API
|
||||
link: /http_api/dashboard_versions/
|
||||
- name: Data Source API
|
||||
link: /http_api/data_source/
|
||||
- name: Data source Permissions API
|
||||
link: /http_api/datasource_permissions/
|
||||
- name: External Group Sync API
|
||||
link: /http_api/external_group_sync/
|
||||
- name: Folder API
|
||||
link: /http_api/folder/
|
||||
- name: Folder Permissions API
|
||||
link: /http_api/folder_permissions/
|
||||
- name: Folder/Dashboard Search API
|
||||
link: /http_api/folder_dashboard_search/
|
||||
- name: Organization API
|
||||
link: /http_api/org/
|
||||
- name: Other APIs
|
||||
link: /http_api/other/
|
||||
- name: Playlist API
|
||||
link: /http_api/playlist/
|
||||
- name: Preferences API
|
||||
link: /http_api/preferences/
|
||||
- name: Snapshot API
|
||||
link: /http_api/snapshot/
|
||||
- name: Teams API
|
||||
link: /http_api/team/
|
||||
- name: Users API
|
||||
link: /http_api/user/
|
||||
- name: Developers
|
||||
link: /developers/
|
||||
children:
|
||||
- name: Plugins
|
||||
children:
|
||||
- name: Overview
|
||||
link: /developers/plugins/
|
||||
- name: plugin.json
|
||||
link: /developers/plugins/metadata/
|
||||
- name: Data frames
|
||||
link: /developers/plugins/data-frames/
|
||||
- name: Authentication
|
||||
link: /developers/plugins/authentication/
|
||||
- name: Backend plugins
|
||||
link: /developers/plugins/backend/
|
||||
- name: Legacy plugins
|
||||
children:
|
||||
- link: /developers/plugins/legacy/
|
||||
name: Overview
|
||||
- link: /developers/plugins/legacy/style-guide/
|
||||
name: Code style guide
|
||||
- link: /developers/plugins/legacy/review-guidelines/
|
||||
name: Review guidelines
|
||||
- link: /developers/plugins/legacy/defaults-and-editor-mode/
|
||||
name: Defaults and editor mode
|
||||
- link: /developers/plugins/legacy/apps/
|
||||
name: App plugins
|
||||
- link: /developers/plugins/legacy/data-sources/
|
||||
name: Data source plugins
|
||||
- link: /developers/plugins/legacy/snapshot-mode/
|
||||
name: Snapshot mode
|
||||
- name: API reference
|
||||
link: /packages_api/
|
||||
- name: Contribute
|
||||
link: /developers/contribute/
|
||||
- name: Contributor License Agreement (CLA)
|
||||
link: /developers/cla/
|
||||
- name: Developer resources
|
||||
link: /developers/developer-resources/
|
||||
- name: Packages reference
|
||||
link: /packages_api/
|
||||
- name: Contributor License Agreement (CLA)
|
||||
link: /developers/cla/
|
||||
- name: Docs Archive
|
||||
link: /archive/
|
||||
|
||||
@@ -18,7 +18,6 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [AppendedVectors](./appendedvectors/) | This may be more trouble than it is worth. This trades some computation time for RAM -- rather than allocate a new array the size of all previous arrays, this just points the correct index to their original array values |
|
||||
| [AppPlugin](./appplugin/) | |
|
||||
| [ArrayVector](./arrayvector/) | |
|
||||
| [BinaryOperationVector](./binaryoperationvector/) | |
|
||||
| [CircularDataFrame](./circulardataframe/) | This dataframe can have values constantly added, and will never exceed the given capacity |
|
||||
| [CircularVector](./circularvector/) | Circular vector uses a single buffer to capture a stream of values overwriting the oldest value on add.<!-- -->This supports addting to the 'head' or 'tail' and will grow the buffer to match a configured capacity. |
|
||||
| [ConstantVector](./constantvector/) | |
|
||||
@@ -35,13 +34,13 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [PanelOptionsEditorBuilder](./paneloptionseditorbuilder/) | Fluent API for declarative creation of panel options |
|
||||
| [PanelPlugin](./panelplugin/) | |
|
||||
| [Registry](./registry/) | |
|
||||
| [ScaledVector](./scaledvector/) | |
|
||||
| [SortedVector](./sortedvector/) | Values are returned in the order defined by the input parameter |
|
||||
|
||||
## Enumerations
|
||||
|
||||
| Enumeration | Description |
|
||||
| --- | --- |
|
||||
| [BinaryOperationID](./binaryoperationid/) | |
|
||||
| [ColorScheme](./colorscheme/) | |
|
||||
| [CoreApp](./coreapp/) | |
|
||||
| [CSVHeaderStyle](./csvheaderstyle/) | |
|
||||
@@ -97,11 +96,9 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [getDecimalsForValue(value, decimalOverride)](./getdecimalsforvalue/) | |
|
||||
| [getDisplayProcessor(options)](./getdisplayprocessor/) | |
|
||||
| [getDisplayValueAlignmentFactors(values)](./getdisplayvaluealignmentfactors/) | |
|
||||
| [getFieldDisplayName(field, frame, allFrames)](./getfielddisplayname/) | |
|
||||
| [getFieldMatcher(config)](./getfieldmatcher/) | |
|
||||
| [getFlotPairs({ xField, yField, nullValueMode })](./getflotpairs/) | |
|
||||
| [getFlotPairsConstant(seriesData, range)](./getflotpairsconstant/) | Returns a constant series based on the first value from the provide series. |
|
||||
| [getFrameDisplayName(frame, index)](./getframedisplayname/) | Get an appropriate display title |
|
||||
| [getFrameMatchers(config)](./getframematchers/) | |
|
||||
| [getLogLevel(line)](./getloglevel/) | Returns the log level of a log line. Parse the line for level words. If no level is found, it returns <code>LogLevel.unknown</code>.<!-- -->Example: <code>getLogLevel('WARN 1999-12-31 this is great') // LogLevel.warn</code> |
|
||||
| [getLogLevelFromKey(key)](./getloglevelfromkey/) | |
|
||||
@@ -114,13 +111,13 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [guessFieldTypeForField(field)](./guessfieldtypeforfield/) | Looks at the data to guess the column type. This ignores any existing setting |
|
||||
| [guessFieldTypeFromNameAndValue(name, v)](./guessfieldtypefromnameandvalue/) | Given a name and value, this will pick a reasonable field type |
|
||||
| [guessFieldTypeFromValue(v)](./guessfieldtypefromvalue/) | Given a value this will guess the best column type<!-- -->TODO: better Date/Time support! Look for standard date strings? |
|
||||
| [hasLinks(field)](./haslinks/) | |
|
||||
| [locale(value, decimals)](./locale/) | |
|
||||
| [parseFlags(text)](./parseflags/) | Converts any mode modifiers in the text to the Javascript equivalent flag |
|
||||
| [parseLabels(labels)](./parselabels/) | Returns a map of label keys to value from an input selector string.<!-- -->Example: <code>parseLabels('{job="foo", instance="bar"}) // {job: "foo", instance: "bar"}</code> |
|
||||
| [readCSV(csv, options)](./readcsv/) | |
|
||||
| [reduceField(options)](./reducefield/) | |
|
||||
| [renderMarkdown(str)](./rendermarkdown/) | |
|
||||
| [resultsToDataFrames(rsp)](./resultstodataframes/) | |
|
||||
| [reverseDataFrame(data)](./reversedataframe/) | Returns a copy with all values reversed |
|
||||
| [scaledUnits(factor, extArray)](./scaledunits/) | |
|
||||
| [setMarkdownOptions(optionsOverride)](./setmarkdownoptions/) | |
|
||||
@@ -131,7 +128,6 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [stringToJsRegex(str)](./stringtojsregex/) | |
|
||||
| [stringToMs(str)](./stringtoms/) | |
|
||||
| [toCSV(data, config)](./tocsv/) | |
|
||||
| [toDataFrame(data)](./todataframe/) | Inspect any object and return the results as a DataFrame |
|
||||
| [toDataFrameDTO(data)](./todataframedto/) | Returns a copy that does not include functions |
|
||||
| [toFixed(value, decimals)](./tofixed/) | |
|
||||
| [toFixedScaled(value, decimals, scaledDecimals, additionalDecimals, ext)](./tofixedscaled/) | |
|
||||
@@ -157,6 +153,7 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [AppRootProps](./approotprops/) | |
|
||||
| [ArrowDataFrame](./arrowdataframe/) | |
|
||||
| [BuildInfo](./buildinfo/) | Describes the build information that will be available via the Grafana configuration. |
|
||||
| [CalculateFieldTransformerOptions](./calculatefieldtransformeroptions/) | |
|
||||
| [ColorFieldConfigSettings](./colorfieldconfigsettings/) | |
|
||||
| [Column](./column/) | |
|
||||
| [ConfigOverrideRule](./configoverriderule/) | |
|
||||
@@ -189,9 +186,9 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [DateTimeBuiltinFormat](./datetimebuiltinformat/) | |
|
||||
| [DateTimeDuration](./datetimeduration/) | |
|
||||
| [DateTimeLocale](./datetimelocale/) | |
|
||||
| [DateTimeOptions](./datetimeoptions/) | The type describing date and time options. Used for all the helper functions available to parse or format date and time values. |
|
||||
| [DateTimeOptionsWhenParsing](./datetimeoptionswhenparsing/) | The type that describes options that can be passed when parsing a date and time value. |
|
||||
| [DateTimeOptionsWithFormat](./datetimeoptionswithformat/) | The type describing the options that can be passed to the [dateTimeFormat](./data/datetimeformat.md) helper function to control how the date and time value passed to the function is formatted. |
|
||||
| [DateTimeOptions](./datetimeoptions/) | |
|
||||
| [DateTimeOptionsWhenParsing](./datetimeoptionswhenparsing/) | |
|
||||
| [DateTimeOptionsWithFormat](./datetimeoptionswithformat/) | |
|
||||
| [DecimalInfo](./decimalinfo/) | |
|
||||
| [Dimension](./dimension/) | |
|
||||
| [DisplayValue](./displayvalue/) | |
|
||||
@@ -214,8 +211,9 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [FieldOverrideContext](./fieldoverridecontext/) | |
|
||||
| [FieldOverrideEditorProps](./fieldoverrideeditorprops/) | |
|
||||
| [FieldReducerInfo](./fieldreducerinfo/) | |
|
||||
| [FieldState](./fieldstate/) | |
|
||||
| [FieldWithIndex](./fieldwithindex/) | |
|
||||
| [FilterFieldsByNameTransformerOptions](./filterfieldsbynametransformeroptions/) | |
|
||||
| [FilterFramesByRefIdTransformerOptions](./filterframesbyrefidtransformeroptions/) | |
|
||||
| [FlotDataPoint](./flotdatapoint/) | |
|
||||
| [FormattedValue](./formattedvalue/) | |
|
||||
| [FrameMatcherInfo](./framematcherinfo/) | |
|
||||
@@ -244,6 +242,7 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [NavModelBreadcrumb](./navmodelbreadcrumb/) | |
|
||||
| [NavModelItem](./navmodelitem/) | |
|
||||
| [NumberFieldConfigSettings](./numberfieldconfigsettings/) | |
|
||||
| [OrganizeFieldsTransformerOptions](./organizefieldstransformeroptions/) | |
|
||||
| [PanelData](./paneldata/) | |
|
||||
| [PanelEditorProps](./paneleditorprops/) | |
|
||||
| [PanelModel](./panelmodel/) | |
|
||||
@@ -271,7 +270,7 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [RawTimeRange](./rawtimerange/) | |
|
||||
| [ReadWriteVector](./readwritevector/) | Apache arrow vectors are Read/Write |
|
||||
| [ReduceDataOptions](./reducedataoptions/) | Options for how to turn DataFrames into an array of display values |
|
||||
| [RegexpOrNamesMatcherOptions](./regexpornamesmatcheroptions/) | |
|
||||
| [ReduceTransformerOptions](./reducetransformeroptions/) | |
|
||||
| [RegistryItem](./registryitem/) | |
|
||||
| [RegistryItemWithOptions](./registryitemwithoptions/) | |
|
||||
| [ScaledValue](./scaledvalue/) | |
|
||||
@@ -280,6 +279,7 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [ScreenshotInfo](./screenshotinfo/) | |
|
||||
| [SelectableValue](./selectablevalue/) | Used in select elements |
|
||||
| [SelectFieldConfigSettings](./selectfieldconfigsettings/) | |
|
||||
| [SeriesToColumnsOptions](./seriestocolumnsoptions/) | |
|
||||
| [StandardEditorProps](./standardeditorprops/) | |
|
||||
| [StandardEditorsRegistryItem](./standardeditorsregistryitem/) | |
|
||||
| [StringFieldConfigSettings](./stringfieldconfigsettings/) | |
|
||||
@@ -319,19 +319,19 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
|
||||
| Variable | Description |
|
||||
| --- | --- |
|
||||
| [binaryOperators](./binaryoperators/) | |
|
||||
| [booleanOverrideProcessor](./booleanoverrideprocessor/) | |
|
||||
| [createDimension](./createdimension/) | |
|
||||
| [createOrderFieldsComparer](./createorderfieldscomparer/) | |
|
||||
| [DataLinkBuiltInVars](./datalinkbuiltinvars/) | |
|
||||
| [dataLinksOverrideProcessor](./datalinksoverrideprocessor/) | |
|
||||
| [dateTime](./datetime/) | |
|
||||
| [dateTimeAsMoment](./datetimeasmoment/) | |
|
||||
| [dateTimeFormat](./datetimeformat/) | Helper function to format date and time according to the specified options. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->. |
|
||||
| [dateTimeFormatISO](./datetimeformatiso/) | Helper function to format date and time according to the standard ISO format e.g. 2013-02-04T22:44:30.652Z. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->. |
|
||||
| [dateTimeFormatTimeAgo](./datetimeformattimeago/) | Helper function to return elapsed time since passed date. The returned value will be formatted in a human readable format e.g. 4 years ago. If no options are supplied, then default values are used. For more details, see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [dateTimeFormatWithAbbrevation](./datetimeformatwithabbrevation/) | Helper function to format date and time according to the Grafana default formatting, but it also appends the time zone abbreviation at the end e.g. 2020-05-20 13:37:00 CET. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [dateTimeFormat](./datetimeformat/) | |
|
||||
| [dateTimeFormatISO](./datetimeformatiso/) | |
|
||||
| [dateTimeFormatTimeAgo](./datetimeformattimeago/) | |
|
||||
| [dateTimeFormatWithAbbrevation](./datetimeformatwithabbrevation/) | |
|
||||
| [dateTimeForTimeZone](./datetimefortimezone/) | |
|
||||
| [dateTimeParse](./datetimeparse/) | Helper function to parse a number, text or Date to a DateTime value. If a timeZone is supplied the incoming value is parsed with that timeZone as a base. The only exception to this is if the passed value is in a UTC-based format. Then it will use UTC as the base. Examples on UTC-based values are Unix epoch and ISO formatted strings.<!-- -->It can also parse the Grafana quick date and time format, e.g. now-6h will be parsed as Date.now() - 6 hours and returned as a valid DateTime value.<!-- -->If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [dateTimeParse](./datetimeparse/) | |
|
||||
| [DEFAULT\_DATE\_TIME\_FORMAT](./default_date_time_format/) | |
|
||||
| [DEFAULT\_FIELD\_DISPLAY\_VALUES\_LIMIT](./default_field_display_values_limit/) | |
|
||||
| [DefaultTimeRange](./defaulttimerange/) | |
|
||||
@@ -381,6 +381,7 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [onUpdateDatasourceSecureJsonDataOptionSelect](./onupdatedatasourcesecurejsondataoptionselect/) | |
|
||||
| [selectOverrideProcessor](./selectoverrideprocessor/) | |
|
||||
| [setLocale](./setlocale/) | |
|
||||
| [setTimeZoneResolver](./settimezoneresolver/) | |
|
||||
| [standardEditorsRegistry](./standardeditorsregistry/) | |
|
||||
| [standardFieldConfigEditorRegistry](./standardfieldconfigeditorregistry/) | |
|
||||
| [standardTransformers](./standardtransformers/) | |
|
||||
@@ -389,10 +390,8 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [textUtil](./textutil/) | |
|
||||
| [thresholdsOverrideProcessor](./thresholdsoverrideprocessor/) | |
|
||||
| [TIME\_FORMAT](./time_format/) | |
|
||||
| [TIME\_SERIES\_TIME\_FIELD\_NAME](./time_series_time_field_name/) | |
|
||||
| [TIME\_SERIES\_VALUE\_FIELD\_NAME](./time_series_value_field_name/) | |
|
||||
| [timeZoneAbbrevation](./timezoneabbrevation/) | Helper function to return only the time zone abbreviation for a given date and time value. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [timeZoneFormatUserFriendly](./timezoneformatuserfriendly/) | |
|
||||
| [timeZoneAbbrevation](./timezoneabbrevation/) | |
|
||||
| [toDataFrame](./todataframe/) | |
|
||||
| [toDuration](./toduration/) | |
|
||||
| [toLegacyResponseData](./tolegacyresponsedata/) | |
|
||||
| [toPascalCase](./topascalcase/) | |
|
||||
@@ -406,7 +405,6 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [valueMappingsOverrideProcessor](./valuemappingsoverrideprocessor/) | |
|
||||
| [VAR\_CALC](./var_calc/) | |
|
||||
| [VAR\_CELL\_PREFIX](./var_cell_prefix/) | |
|
||||
| [VAR\_FIELD\_LABELS](./var_field_labels/) | |
|
||||
| [VAR\_FIELD\_NAME](./var_field_name/) | |
|
||||
| [VAR\_SERIES\_NAME](./var_series_name/) | |
|
||||
|
||||
@@ -414,14 +412,15 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
|
||||
| Type Alias | Description |
|
||||
| --- | --- |
|
||||
| [BinaryOperation](./binaryoperation/) | |
|
||||
| [Color](./color/) | |
|
||||
| [ColorDefinition](./colordefinition/) | |
|
||||
| [DataQueryResponseData](./dataqueryresponsedata/) | |
|
||||
| [DataSourceOptionsType](./datasourceoptionstype/) | |
|
||||
| [DataSourceQueryType](./datasourcequerytype/) | |
|
||||
| [DataTransformer](./datatransformer/) | Function that transform data frames (AKA transformer) |
|
||||
| [DateTimeFormatter](./datetimeformatter/) | |
|
||||
| [DateTimeInput](./datetimeinput/) | |
|
||||
| [DateTimeParser](./datetimeparser/) | |
|
||||
| [DecimalCount](./decimalcount/) | |
|
||||
| [Dimensions](./dimensions/) | |
|
||||
| [DisplayProcessor](./displayprocessor/) | |
|
||||
@@ -441,7 +440,6 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [PanelMigrationHandler](./panelmigrationhandler/) | Called when a panel is first loaded with current panel model |
|
||||
| [PanelOptionEditorsRegistry](./paneloptioneditorsregistry/) | |
|
||||
| [PanelTypeChangedHandler](./paneltypechangedhandler/) | Called before a panel is initialized. Allows panel inspection for any updates before changing the panel type. |
|
||||
| [PreferredVisualisationType](./preferredvisualisationtype/) | |
|
||||
| [ScaleCalculator](./scalecalculator/) | |
|
||||
| [Subtract](./subtract/) | |
|
||||
| [TimeFragment](./timefragment/) | |
|
||||
@@ -449,7 +447,7 @@ A library containing most of the core functionality and data types used in Grafa
|
||||
| [TimeSeriesValue](./timeseriesvalue/) | |
|
||||
| [TimeZone](./timezone/) | |
|
||||
| [TimeZoneBrowser](./timezonebrowser/) | |
|
||||
| [TimeZoneResolver](./timezoneresolver/) | The type to describe the time zone resolver function that will be used to access the default time zone of a user. |
|
||||
| [TimeZoneResolver](./timezoneresolver/) | |
|
||||
| [TimeZoneUtc](./timezoneutc/) | |
|
||||
| [UrlQueryMap](./urlquerymap/) | Type to represent the values parsed from the query string. |
|
||||
| [UrlQueryValue](./urlqueryvalue/) | Type to represent the value of a single query variable. |
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "BinaryOperationID"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## BinaryOperationID enum
|
||||
|
||||
### BinaryOperationID enum
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare enum BinaryOperationID
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { BinaryOperationID } from '@grafana/data';
|
||||
```
|
||||
|
||||
## Enumeration Members
|
||||
|
||||
| Member | Value | Description |
|
||||
| --- | --- | --- |
|
||||
| Add | <code>"+"</code> | |
|
||||
| Divide | <code>"/"</code> | |
|
||||
| Multiply | <code>"*"</code> | |
|
||||
| Subtract | <code>"-"</code> | |
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "CalculateFieldTransformerOptions"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## CalculateFieldTransformerOptions interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface CalculateFieldTransformerOptions
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { CalculateFieldTransformerOptions } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [alias](#alias-property) | <code>string</code> | |
|
||||
| [include](#include-property) | <code>string</code> | |
|
||||
| [nullValueMode](#nullvaluemode-property) | <code>NullValueMode</code> | |
|
||||
| [reducer](#reducer-property) | <code>ReducerID</code> | |
|
||||
| [replaceFields](#replacefields-property) | <code>boolean</code> | |
|
||||
|
||||
### alias property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
alias?: string;
|
||||
```
|
||||
|
||||
### include property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
include?: string;
|
||||
```
|
||||
|
||||
### nullValueMode property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
nullValueMode?: NullValueMode;
|
||||
```
|
||||
|
||||
### reducer property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
reducer: ReducerID;
|
||||
```
|
||||
|
||||
### replaceFields property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
replaceFields?: boolean;
|
||||
```
|
||||
@@ -23,19 +23,10 @@ import { Column } from '@grafana/data';
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [custom](#custom-property) | <code>Record<string, any></code> | |
|
||||
| [filterable](#filterable-property) | <code>boolean</code> | |
|
||||
| [text](#text-property) | <code>string</code> | |
|
||||
| [unit](#unit-property) | <code>string</code> | |
|
||||
|
||||
### custom property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
custom?: Record<string, any>;
|
||||
```
|
||||
|
||||
### filterable property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
@@ -2,23 +2,22 @@
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "dataFramesReceived"
|
||||
title = "createOrderFieldsComparer"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## PanelEvents.dataFramesReceived variable
|
||||
## createOrderFieldsComparer variable
|
||||
|
||||
### PanelEvents.dataFramesReceived variable
|
||||
### createOrderFieldsComparer variable
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
dataFramesReceived: import("./appEvents").AppEvent<DataFrame[]>
|
||||
createOrderFieldsComparer: (indexByName: Record<string, number>) => (a: string, b: string) => number
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { PanelEvents } from '@grafana/data';
|
||||
const { dataFramesReceived } = PanelEvents;
|
||||
import { createOrderFieldsComparer } from '@grafana/data';
|
||||
```
|
||||
@@ -28,7 +28,6 @@ import { DataTransformerID } from '@grafana/data';
|
||||
| --- | --- | --- |
|
||||
| append | <code>"append"</code> | |
|
||||
| calculateField | <code>"calculateField"</code> | |
|
||||
| ensureColumns | <code>"ensureColumns"</code> | |
|
||||
| filterByRefId | <code>"filterByRefId"</code> | |
|
||||
| filterFields | <code>"filterFields"</code> | |
|
||||
| filterFieldsByName | <code>"filterFieldsByName"</code> | |
|
||||
|
||||
@@ -11,8 +11,6 @@ type = "docs"
|
||||
|
||||
### dateTimeFormat variable
|
||||
|
||||
Helper function to format date and time according to the specified options. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -11,8 +11,6 @@ type = "docs"
|
||||
|
||||
### dateTimeFormatISO variable
|
||||
|
||||
Helper function to format date and time according to the standard ISO format e.g. 2013-02-04T22:44:30.652Z. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "binaryOperators"
|
||||
title = "DateTimeFormatter"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## binaryOperators variable
|
||||
## DateTimeFormatter type
|
||||
|
||||
### binaryOperators variable
|
||||
### DateTimeFormatter type
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
binaryOperators: Registry<BinaryOperatorInfo>
|
||||
export declare type DateTimeFormatter<T extends DateTimeOptions = DateTimeOptions> = (dateInUtc: DateTimeInput, options?: T) => string;
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { binaryOperators } from '@grafana/data';
|
||||
import { DateTimeFormatter } from '@grafana/data';
|
||||
```
|
||||
@@ -11,8 +11,6 @@ type = "docs"
|
||||
|
||||
### dateTimeFormatTimeAgo variable
|
||||
|
||||
Helper function to return elapsed time since passed date. The returned value will be formatted in a human readable format e.g. 4 years ago. If no options are supplied, then default values are used. For more details, see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -11,8 +11,6 @@ type = "docs"
|
||||
|
||||
### dateTimeFormatWithAbbrevation variable
|
||||
|
||||
Helper function to format date and time according to the Grafana default formatting, but it also appends the time zone abbreviation at the end e.g. 2020-05-20 13:37:00 CET. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -9,8 +9,6 @@ type = "docs"
|
||||
|
||||
## DateTimeOptions interface
|
||||
|
||||
The type describing date and time options. Used for all the helper functions available to parse or format date and time values.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
@@ -25,12 +23,10 @@ import { DateTimeOptions } from '@grafana/data';
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [timeZone](#timezone-property) | <code>TimeZone</code> | Specify this if you want to override the timeZone used when parsing or formatting a date and time value. If no timeZone is set, the default timeZone for the current user is used. |
|
||||
| [timeZone](#timezone-property) | <code>TimeZone</code> | |
|
||||
|
||||
### timeZone property
|
||||
|
||||
Specify this if you want to override the timeZone used when parsing or formatting a date and time value. If no timeZone is set, the default timeZone for the current user is used.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -9,8 +9,6 @@ type = "docs"
|
||||
|
||||
## DateTimeOptionsWhenParsing interface
|
||||
|
||||
The type that describes options that can be passed when parsing a date and time value.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
@@ -25,14 +23,10 @@ import { DateTimeOptionsWhenParsing } from '@grafana/data';
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [roundUp](#roundup-property) | <code>boolean</code> | If the input is a Grafana quick date, e.g. now-6h, then you can specify this to control whether the last part of the date and time value is included or excluded.<!-- -->Example: now-6h and the current time is 12:20:00 if roundUp is set to true the returned DateTime value will be 06:00:00. |
|
||||
| [roundUp](#roundup-property) | <code>boolean</code> | |
|
||||
|
||||
### roundUp property
|
||||
|
||||
If the input is a Grafana quick date, e.g. now-6h, then you can specify this to control whether the last part of the date and time value is included or excluded.
|
||||
|
||||
Example: now-6h and the current time is 12:20:00 if roundUp is set to true the returned DateTime value will be 06:00:00.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -9,8 +9,6 @@ type = "docs"
|
||||
|
||||
## DateTimeOptionsWithFormat interface
|
||||
|
||||
The type describing the options that can be passed to the [dateTimeFormat](./data/datetimeformat.md) helper function to control how the date and time value passed to the function is formatted.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
@@ -25,13 +23,11 @@ import { DateTimeOptionsWithFormat } from '@grafana/data';
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [defaultWithMS](#defaultwithms-property) | <code>boolean</code> | Set this value to <code>true</code> if you want to include milliseconds when formatting date and time values in the default [DEFAULT\_DATE\_TIME\_FORMAT](./data/default_date_time_format.md) format. |
|
||||
| [format](#format-property) | <code>string</code> | Specify a [momentjs](https://momentjs.com/docs/#/displaying/format) format to use a custom formatting pattern of the date and time value. If no format is set, then [DEFAULT\_DATE\_TIME\_FORMAT](./data/default_date_time_format.md) is used. |
|
||||
| [defaultWithMS](#defaultwithms-property) | <code>boolean</code> | |
|
||||
| [format](#format-property) | <code>string</code> | |
|
||||
|
||||
### defaultWithMS property
|
||||
|
||||
Set this value to `true` if you want to include milliseconds when formatting date and time values in the default [DEFAULT\_DATE\_TIME\_FORMAT](./data/default_date_time_format.md) format.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
@@ -40,8 +36,6 @@ defaultWithMS?: boolean;
|
||||
|
||||
### format property
|
||||
|
||||
Specify a [momentjs](https://momentjs.com/docs/#/displaying/format) format to use a custom formatting pattern of the date and time value. If no format is set, then [DEFAULT\_DATE\_TIME\_FORMAT](./data/default_date_time_format.md) is used.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -11,12 +11,6 @@ type = "docs"
|
||||
|
||||
### dateTimeParse variable
|
||||
|
||||
Helper function to parse a number, text or Date to a DateTime value. If a timeZone is supplied the incoming value is parsed with that timeZone as a base. The only exception to this is if the passed value is in a UTC-based format. Then it will use UTC as the base. Examples on UTC-based values are Unix epoch and ISO formatted strings.
|
||||
|
||||
It can also parse the Grafana quick date and time format, e.g. now-6h will be parsed as Date.now() - 6 hours and returned as a valid DateTime value.
|
||||
|
||||
If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->.
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "TIME_SERIES_TIME_FIELD_NAME"
|
||||
title = "DateTimeParser"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## TIME\_SERIES\_TIME\_FIELD\_NAME variable
|
||||
## DateTimeParser type
|
||||
|
||||
### TIME\_SERIES\_TIME\_FIELD\_NAME variable
|
||||
### DateTimeParser type
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
TIME_SERIES_TIME_FIELD_NAME = "Time"
|
||||
export declare type DateTimeParser<T extends DateTimeOptions = DateTimeOptions> = (value: DateTimeInput, options?: T) => DateTime;
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { TIME_SERIES_TIME_FIELD_NAME } from '@grafana/data';
|
||||
import { DateTimeParser } from '@grafana/data';
|
||||
```
|
||||
@@ -24,7 +24,6 @@ import { ExploreStartPageProps } from '@grafana/data';
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [datasource](#datasource-property) | <code>DataSourceApi</code> | |
|
||||
| [exploreId](#exploreid-property) | <code>any</code> | |
|
||||
| [exploreMode](#exploremode-property) | <code>ExploreMode</code> | |
|
||||
| [onClickExample](#onclickexample-property) | <code>(query: DataQuery) => void</code> | |
|
||||
|
||||
@@ -36,14 +35,6 @@ import { ExploreStartPageProps } from '@grafana/data';
|
||||
datasource?: DataSourceApi;
|
||||
```
|
||||
|
||||
### exploreId property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
exploreId?: any;
|
||||
```
|
||||
|
||||
### exploreMode property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
@@ -23,16 +23,26 @@ import { Field } from '@grafana/data';
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [calcs](#calcs-property) | <code>FieldCalcs</code> | Cache of reduced values |
|
||||
| [config](#config-property) | <code>FieldConfig</code> | Meta info about how field and how to display it |
|
||||
| [display](#display-property) | <code>DisplayProcessor</code> | Convert a value for display |
|
||||
| [getLinks](#getlinks-property) | <code>(config: ValueLinkConfig) => Array<LinkModel<Field>></code> | Get value data links with variables interpolated |
|
||||
| [labels](#labels-property) | <code>Labels</code> | |
|
||||
| [name](#name-property) | <code>string</code> | Name of the field (column) |
|
||||
| [parse](#parse-property) | <code>(value: any) => T</code> | Convert text to the field value |
|
||||
| [state](#state-property) | <code>FieldState | null</code> | Cached values with appropriate display and id values |
|
||||
| [type](#type-property) | <code>FieldType</code> | Field value type (string, number, etc) |
|
||||
| [values](#values-property) | <code>V</code> | |
|
||||
|
||||
### calcs property
|
||||
|
||||
Cache of reduced values
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
calcs?: FieldCalcs;
|
||||
```
|
||||
|
||||
### config property
|
||||
|
||||
Meta info about how field and how to display it
|
||||
@@ -91,16 +101,6 @@ Convert text to the field value
|
||||
parse?: (value: any) => T;
|
||||
```
|
||||
|
||||
### state property
|
||||
|
||||
Cached values with appropriate display and id values
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
state?: FieldState | null;
|
||||
```
|
||||
|
||||
### type property
|
||||
|
||||
Field value type (string, number, etc)
|
||||
|
||||
@@ -37,10 +37,9 @@ import { FieldCache } from '@grafana/data';
|
||||
| --- | --- | --- |
|
||||
| [getFieldByName(name)](#getfieldbyname-method) | | Returns the first field with the given name. |
|
||||
| [getFields(type)](#getfields-method) | | |
|
||||
| [getFirstFieldOfType(type, includeHidden)](#getfirstfieldoftype-method) | | |
|
||||
| [getFirstFieldOfType(type)](#getfirstfieldoftype-method) | | |
|
||||
| [hasFieldNamed(name)](#hasfieldnamed-method) | | |
|
||||
| [hasFieldOfType(type)](#hasfieldoftype-method) | | |
|
||||
| [hasFieldWithNameAndType(name, type)](#hasfieldwithnameandtype-method) | | |
|
||||
|
||||
### constructor(data)
|
||||
|
||||
@@ -106,14 +105,13 @@ getFields(type?: FieldType): FieldWithIndex[];
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
getFirstFieldOfType(type: FieldType, includeHidden?: boolean): FieldWithIndex | undefined;
|
||||
getFirstFieldOfType(type: FieldType): FieldWithIndex | undefined;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| type | <code>FieldType</code> | |
|
||||
| includeHidden | <code>boolean</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
@@ -153,21 +151,3 @@ hasFieldOfType(type: FieldType): boolean;
|
||||
|
||||
`boolean`
|
||||
|
||||
### hasFieldWithNameAndType method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
hasFieldWithNameAndType(name: string, type: FieldType): boolean;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| name | <code>string</code> | |
|
||||
| type | <code>FieldType</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`boolean`
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ type = "docs"
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface FieldCalcs extends Record<string, any>
|
||||
export interface FieldCalcs
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@ import { FieldConfig } from '@grafana/data';
|
||||
| [color](#color-property) | <code>FieldColor</code> | |
|
||||
| [custom](#custom-property) | <code>TOptions</code> | |
|
||||
| [decimals](#decimals-property) | <code>number | null</code> | |
|
||||
| [displayName](#displayname-property) | <code>string</code> | |
|
||||
| [filterable](#filterable-property) | <code>boolean</code> | |
|
||||
| [links](#links-property) | <code>DataLink[]</code> | |
|
||||
| [mappings](#mappings-property) | <code>ValueMapping[]</code> | |
|
||||
@@ -38,7 +37,9 @@ import { FieldConfig } from '@grafana/data';
|
||||
| [min](#min-property) | <code>number | null</code> | |
|
||||
| [noValue](#novalue-property) | <code>string</code> | |
|
||||
| [nullValueMode](#nullvaluemode-property) | <code>NullValueMode</code> | |
|
||||
| [scopedVars](#scopedvars-property) | <code>ScopedVars</code> | |
|
||||
| [thresholds](#thresholds-property) | <code>ThresholdsConfig</code> | |
|
||||
| [title](#title-property) | <code>string</code> | |
|
||||
| [unit](#unit-property) | <code>string</code> | |
|
||||
|
||||
### color property
|
||||
@@ -65,14 +66,6 @@ custom?: TOptions;
|
||||
decimals?: number | null;
|
||||
```
|
||||
|
||||
### displayName property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
displayName?: string;
|
||||
```
|
||||
|
||||
### filterable property
|
||||
|
||||
<b>Signature</b>
|
||||
@@ -129,6 +122,14 @@ noValue?: string;
|
||||
nullValueMode?: NullValueMode;
|
||||
```
|
||||
|
||||
### scopedVars property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
scopedVars?: ScopedVars;
|
||||
```
|
||||
|
||||
### thresholds property
|
||||
|
||||
<b>Signature</b>
|
||||
@@ -137,6 +138,14 @@ nullValueMode?: NullValueMode;
|
||||
thresholds?: ThresholdsConfig;
|
||||
```
|
||||
|
||||
### title property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
title?: string;
|
||||
```
|
||||
|
||||
### unit property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
@@ -27,7 +27,6 @@ import { FieldDisplay } from '@grafana/data';
|
||||
| [display](#display-property) | <code>DisplayValue</code> | |
|
||||
| [field](#field-property) | <code>FieldConfig</code> | |
|
||||
| [getLinks](#getlinks-property) | <code>() => LinkModel[]</code> | |
|
||||
| [hasLinks](#haslinks-property) | <code>boolean</code> | |
|
||||
| [name](#name-property) | <code>string</code> | |
|
||||
| [rowIndex](#rowindex-property) | <code>number</code> | |
|
||||
| [sparkline](#sparkline-property) | <code>GraphSeriesValue[][]</code> | |
|
||||
@@ -65,14 +64,6 @@ field: FieldConfig;
|
||||
getLinks?: () => LinkModel[];
|
||||
```
|
||||
|
||||
### hasLinks property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
hasLinks: boolean;
|
||||
```
|
||||
|
||||
### name property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
@@ -14,7 +14,7 @@ type = "docs"
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare type FieldMatcher = (field: Field, frame: DataFrame, allFrames: DataFrame[]) => boolean;
|
||||
export declare type FieldMatcher = (field: Field) => boolean;
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
|
||||
@@ -27,9 +27,6 @@ import { FieldMatcherID } from '@grafana/data';
|
||||
| Member | Value | Description |
|
||||
| --- | --- | --- |
|
||||
| byName | <code>"byName"</code> | |
|
||||
| byNames | <code>"byNames"</code> | |
|
||||
| byRegexp | <code>"byRegexp"</code> | |
|
||||
| byRegexpOrNames | <code>"byRegexpOrNames"</code> | |
|
||||
| byType | <code>"byType"</code> | |
|
||||
| numeric | <code>"numeric"</code> | |
|
||||
| time | <code>"time"</code> | |
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user