Compare commits

..

1980 Commits

Author SHA1 Message Date
Torkel Ödegaard d7f81c4795 Updated version and made some changes to changelog and what's new article 2019-01-30 17:14:42 +01:00
Torkel Ödegaard 3ad48ff7e5 docs: Added version notice for time range variables 2019-01-30 16:54:09 +01:00
Torkel Ödegaard b32c3a9d84 Merge branch 'whatsnew-6-0' 2019-01-30 16:52:22 +01:00
Torkel Ödegaard 70c35d646f Added loki video 2019-01-30 16:51:59 +01:00
Torkel Ödegaard 26096c65a5 spell fixes 2019-01-30 16:15:56 +01:00
Torkel Ödegaard bd688449f8 Merge pull request #15119 from grafana/explore/queries-import-changes
Fix queries being imported incorrectly on datasource change
2019-01-30 16:11:36 +01:00
Torkel Ödegaard c33e94f438 Merge pull request #15141 from grafana/14946-panel-menu-on-move
Don't show panel menu on move
2019-01-30 16:11:10 +01:00
Johannes Schill 3165305377 chore: Add typings for react-grid-layout and react-virtualized 2019-01-30 15:44:34 +01:00
Johannes Schill 1afc590c70 fix: Don't open panel menu when dragging (react-)panel in dashboard #14946 2019-01-30 15:38:59 +01:00
Johannes Schill ef4611eb56 chore: Add missing typings in PanelResizer 2019-01-30 15:32:29 +01:00
Johannes Schill 1230f3e48d chore: Fix typings and remove bindings for arrow functions in DashboardGrid 2019-01-30 15:28:41 +01:00
Torkel Ödegaard 8aed401640 Updated explore section again 2019-01-30 14:47:23 +01:00
Torkel Ödegaard 5fa8c53d2e Updated explore section 2019-01-30 14:44:35 +01:00
Torkel Ödegaard 2ca34376a0 fixe merge issue 2019-01-30 14:33:49 +01:00
Torkel Ödegaard 5b67ebde0c Merge branch 'whatsnew-6-0' of github.com:grafana/grafana into whatsnew-6-0 2019-01-30 14:23:40 +01:00
Torkel Ödegaard 909acb08ef updated what's new article 2019-01-30 14:17:34 +01:00
Torkel Ödegaard 67756c43a7 Merge pull request #15118 from grafana/1909/from-to-template-variables
Time range from & to as template variables
2019-01-30 11:17:22 +01:00
Daniel Lee 3bb5930c54 docs: whats new tweaks 2019-01-30 11:16:26 +01:00
Torkel Ödegaard 7dc3303e05 Merge branch 'whatsnew-6-0' of github.com:grafana/grafana into whatsnew-6-0 2019-01-30 11:14:51 +01:00
Torkel Ödegaard ce617bc02e Minor updates to text and image placements 2019-01-30 11:12:07 +01:00
Daniel Lee 0b971d48c2 docs: add video link to what's new 2019-01-30 11:11:27 +01:00
bergquist 445b427fb6 whats new: note about session storage 2019-01-30 10:52:42 +01:00
bergquist dfd87c3b93 whats new: provisioning for alert notifiers 2019-01-30 09:54:08 +01:00
Dominik Prokop 661de1efe1 Rename SetInitialQueries action to QueriesImported 2019-01-30 09:50:28 +01:00
Dominik Prokop d746df485c Add missing code 2019-01-30 09:36:23 +01:00
Dominik Prokop ca0d2996f2 Merge branch 'master' into explore/queries-import-changes 2019-01-30 09:30:10 +01:00
Daniel Lee a21f6777c1 changelog: adds note for #15129 2019-01-30 00:50:07 +01:00
Daniel Lee 782c4eae98 Merge pull request #15127 from challengerdeep/fix-stackdriver-aggparams-reducer
Change primaryAggregation to crossSeriesReducer in Stackdriver
2019-01-30 00:45:22 +01:00
Daniel Lee 368494bb16 docs: update to what's new 2019-01-30 00:25:32 +01:00
Daniel Lee 13579b76d9 docs: wip - what's new for 6.0 2019-01-29 23:51:16 +01:00
Torkel Ödegaard 0c4f59a7f1 Minor style fix to button group 2019-01-29 21:30:31 +01:00
Torkel Ödegaard 9a598be4f7 Fixed failing unit test 2019-01-29 21:17:56 +01:00
Torkel Ödegaard 416562bd90 Merge pull request #15102 from mjtrangoni/fix-golint-issues
Fix golint issues
2019-01-29 21:12:34 +01:00
Torkel Ödegaard 77bb3ddf62 Added basic docs 2019-01-29 20:53:49 +01:00
Torkel Ödegaard 8b68ba5cbb Minor refactoring and adding some typing 2019-01-29 20:49:54 +01:00
Marcus Efraimsson 6756931bcd changelog: add notes about closing #14709 2019-01-29 20:33:34 +01:00
Torkel Ödegaard 4c689fce96 Merge pull request #15121 from grafana/davkal/15011-fix-query-change-twice
Explore: query field should not propagate non-text change
2019-01-29 20:29:47 +01:00
Torkel Ödegaard a747023b28 Merge pull request #15128 from grafana/sqlite-fix
fixed sqlite issue introduced by #14709
2019-01-29 20:28:35 +01:00
Torkel Ödegaard a2dd6f378f fixed sqlite issue introduced by #14709 2019-01-29 20:27:01 +01:00
Marcus Efraimsson a067862a0a Merge pull request #14709 from tpetr/extra-connection-string-args
add support for defining additonal database connection string args
2019-01-29 20:13:17 +01:00
Torkel Ödegaard ff8db0a530 Merge pull request #15120 from grafana/panel-option-styles
Tweaked panel option group styles
2019-01-29 20:06:03 +01:00
Torkel Ödegaard e5eb66a27c Merge pull request #15123 from grafana/fix/remove-alpha-from-gauge
Remove alpha from Gauge panel
2019-01-29 20:05:42 +01:00
Torkel Ödegaard af6a7b1f55 Merge pull request #15125 from grafana/15108-page-title-update
Update <title> when navModel is changed
2019-01-29 20:05:19 +01:00
Robert Edström 9b6746d808 Change primaryAggregation to crossSeriesReducer in Stackdriver 2019-01-29 19:11:54 +01:00
Marcus Efraimsson 920f51f2db update changelog 2019-01-29 18:20:25 +01:00
Marcus Efraimsson 51451d10a3 changelog: add notes about closing #12764 2019-01-29 18:15:45 +01:00
Johannes Schill 7d8607c1b3 fix: Remove legacy title-prop and update document.title when navModel is changed #15108 2019-01-29 17:03:40 +01:00
Daniel Lee 365de9de20 Merge pull request #14626 from grafana/azure-monitor
Azure Monitor: move files into grafana
2019-01-29 16:11:17 +01:00
David Kaltschmidt 8d44ed8d8f Explore: query field should not propagate non-text change
- after mounting with an initial value, the onChange of a query field is triggered
- even though the slate documents are not the same, their text values are identical, hence the change propagation is useless
- added check to propagate text change only when text has actually changed
2019-01-29 15:53:51 +01:00
Dominik Prokop 9ddbfed730 Wait for queries to be imported before proceeding with datasource change 2019-01-29 15:52:36 +01:00
Peter Holmberg 6164427efd removing alpha 2019-01-29 15:46:55 +01:00
Dominik Prokop 8ea72eeaf7 Remove commented code 2019-01-29 15:40:01 +01:00
Torkel Ödegaard 0ac0588583 Merge pull request #15107 from grafana/explore-query-styles
Updated Explore query styles to align them to other query editors
2019-01-29 15:38:06 +01:00
Torkel Ödegaard f28d38ceef Merge pull request #15117 from grafana/explore-time-range-fix
Fixed issue with explore changeTime redux action not being hooked up
2019-01-29 15:37:41 +01:00
Torkel Ödegaard 7196f7b093 Tweaked panel option group styles 2019-01-29 15:37:22 +01:00
Daniel Lee a3e09d8bbc azuremonitor: fixes merge conflict in yarn.lock 2019-01-29 15:35:43 +01:00
Dominik Prokop 010f902003 Import queries before datasource is changed 2019-01-29 15:34:28 +01:00
Torkel Ödegaard a803435b27 fixed prettier on switch component 2019-01-29 15:16:04 +01:00
Torkel Ödegaard e1dad8488b Merge pull request #15109 from grafana/fix/explore-switches
Propagate event to onChange prop in Switch component
2019-01-29 15:15:23 +01:00
Torkel Ödegaard f7a1e4c185 Merge pull request #15106 from grafana/tooltip-restyling
Tooltip restyling
2019-01-29 15:07:54 +01:00
Peter Holmberg 78cb3239b8 adding from and to built in variables 2019-01-29 15:05:28 +01:00
Daniel Lee 2d3e02d58b azuremonitor: adds macros to slate intellisense
and adds tab as well as enter key for autocomplete
2019-01-29 15:02:46 +01:00
Torkel Ödegaard ab322bebf0 Merge pull request #15110 from grafana/15053/gauge-value-font-size
Automatically scale font size on Gauge value
2019-01-29 15:01:03 +01:00
Torkel Ödegaard d53a430c82 Fixed issue with explore changeTime redux action not being hooked up, fixes #15115 2019-01-29 14:58:57 +01:00
Torkel Ödegaard 0216f087b7 Merge pull request #15113 from grafana/fix/explore-set-state-on-unmounted
Fix setState on unmounted component in Loki and Prometheus QueryField
2019-01-29 14:42:35 +01:00
Torkel Ödegaard 8b70a8dd50 Fixed explore query editor styling issues 2019-01-29 14:36:09 +01:00
Alexander Zobnin a1609a8d53 azuremonitor: remove wrong completions 2019-01-29 16:03:30 +03:00
Alexander Zobnin a0cae98e0d azuremonitor: autocomplete on enter 2019-01-29 16:02:25 +03:00
Torkel Ödegaard 71d0fae3a9 Progress on tooltip style update 2019-01-29 13:42:29 +01:00
Alexander Zobnin 2a1558cefc azuremonitor: fix tests 2019-01-29 15:39:16 +03:00
Daniel Lee cab1e9445b Merge pull request #15112 from grafana/loki-docker-block
docker: block for loki
2019-01-29 13:32:02 +01:00
Marcus Efraimsson 60967de2b4 devenv: loki provisioned datasource 2019-01-29 13:03:49 +01:00
Alexander Zobnin cbcf557a34 azuremonitor: revert "memory for webpack build" 2019-01-29 14:33:58 +03:00
Alexander Zobnin 15d42ba414 Merge remote-tracking branch 'upstream/azure-monitor' into azure-monitor 2019-01-29 14:29:31 +03:00
Alexander Zobnin fefb2c2ba2 Azure Monitor: replace monaco by slate with initial Kusto syntax 2019-01-29 14:19:31 +03:00
Daniel Lee 62a04d8ef5 docker: block for loki 2019-01-29 12:14:26 +01:00
Dominik Prokop 27948b1308 Make language provider cancelable in Loki and Prometheus QueryField, to avoid setting state on unmounted component 2019-01-29 12:11:48 +01:00
Dominik Prokop db17262ea4 Add util for handling promise cancelation to avoid setting state on unmounted components
https://github.com/facebook/react/issues/5465
2019-01-29 12:10:03 +01:00
Daniel Lee 4a057ef725 stackdriver: remove beta notice from config page 2019-01-29 12:00:52 +01:00
Peter Holmberg b0984cd503 Merge branch 'master' into 15053/gauge-value-font-size 2019-01-29 11:20:16 +01:00
Torkel Ödegaard 0e2310de8e Merge branch 'master' into tooltip-restyling 2019-01-29 11:02:40 +01:00
Peter Holmberg 462bdb6d13 increasing font size on longer strings 2019-01-29 11:01:35 +01:00
Peter Holmberg 4b0df606d5 magic number solution 2019-01-29 10:35:42 +01:00
Dominik Prokop 628c5c1da6 Propagate event to onChange prop in Switch component 2019-01-29 09:53:45 +01:00
Torkel Ödegaard 433c88a616 two minor bug fixes introduced in recent refactorings 2019-01-29 09:47:41 +01:00
ijin08 fe51e85050 did some styling changes 2019-01-29 08:47:28 +01:00
Torkel Ödegaard 57fe7d5050 Merge pull request #15103 from grafana/14762-page-component-everywhere
Page component on all React pages pt2
2019-01-29 08:15:46 +01:00
Torkel Ödegaard 6dad4cce07 Updated Explore query styles to align them to other query editor to make them fit in better 2019-01-29 08:14:07 +01:00
Torkel Ödegaard 459a93da10 Merge pull request #15100 from grafana/annotation-dashboard-switch-fix
Fix for annotations not clearing when switching dashboards
2019-01-29 06:53:20 +01:00
Johannes Schill 186ed1a333 chore: Fix typings and add Page-component to FolderPermissions #14762 2019-01-28 23:19:19 +01:00
Johannes Schill ab62a09fe6 chore: Fix typings and add Page-component to ServerStats #14762 2019-01-28 23:19:19 +01:00
Johannes Schill d54c4173ca chore: Fix typings and add Page-component to AlertRuleList #14762 2019-01-28 23:19:19 +01:00
Johannes Schill e448a140f5 chore: Fix typings and add Page-component to DataSourceDashboards #14762 2019-01-28 23:19:19 +01:00
Johannes Schill acbcca1102 fix: Add plugins to StoreState interface 2019-01-28 23:19:19 +01:00
Johannes Schill 7df00747d3 chore: Fix typings and add Page-component to NewDataSourcePage #14762 2019-01-28 23:19:19 +01:00
Johannes Schill 98fa17f0e4 chore: Fix typings and add Page-component to DataSourceSettingsPage #14762 2019-01-28 23:19:19 +01:00
Johannes Schill 3372dc9441 chore: Fix typings and add Page-component to FolderSettingsPage #14762 2019-01-28 23:19:19 +01:00
Johannes Schill d9a25ee505 test: Updated snapshot 2019-01-28 23:19:18 +01:00
Johannes Schill 730036e18d chore: Fix typings and add Page-component to TeamPages #14762 2019-01-28 23:19:18 +01:00
Johannes Schill 03cebecac3 fix: Add pageName default to avoid "Loading undefined..." 2019-01-28 23:19:18 +01:00
bergquist c1d778c704 changelog: adds note about closing #10487 2019-01-28 22:56:24 +01:00
Carl Bergquist c6f80ecec2 Merge pull request #14229 from pbakulev/configurable-alert-notification
Configurable alert notification
2019-01-28 22:47:12 +01:00
Mario Trangoni b7628f2060 pkg/util/{filepath.go,shortid_generator.go}: Fix golint issues
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=golint  ./...
filepath.go:12:5⚠️ error var WalkSkipDir should have name of the form ErrFoo (golint)
shortid_generator.go:11:5⚠️ var validUidPattern should be validUIDPattern (golint)
shortid_generator.go:19:6⚠️ func IsValidShortUid should be IsValidShortUID (golint)
shortid_generator.go:24:6⚠️ func GenerateShortUid should be GenerateShortUID (golint)
2019-01-28 22:37:44 +01:00
Mario Trangoni 8261613b51 pkg/util/{ip.go,url.go}: Fix some golint issues
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=golint  ./...
ip.go:8:6⚠️ func SplitIpPort should be SplitIPPort (golint)
url.go:14:6⚠️ func NewUrlQueryReader should be NewURLQueryReader (golint)
url.go:9:6⚠️ type UrlQueryReader should be URLQueryReader (golint)
url.go:37:6⚠️ func JoinUrlFragments should be JoinURLFragments (golint)
2019-01-28 22:29:20 +01:00
Mario Trangoni 5f6383a750 pkg/util/*: Add missing function comments.
See,

$ gometalinter --vendor --deadline 10m --disable-all --enable=golint  ./...
encoding.go:15:1⚠️ comment on exported function GetRandomString should be of the form "GetRandomString ..." (golint)
encoding.go:30:1⚠️ exported function EncodePassword should have comment or be unexported (golint)
encoding.go:35:1⚠️ comment on exported function EncodeMd5 should be of the form "EncodeMd5 ..." (golint)
encoding.go:42:1⚠️ comment on exported function PBKDF2 should be of the form "PBKDF2 ..." (golint)
encoding.go:80:1⚠️ exported function GetBasicAuthHeader should have comment or be unexported (golint)
encoding.go:85:1⚠️ exported function DecodeBasicAuthHeader should have comment or be unexported (golint)
encoding.go:105:1⚠️ exported function RandomHex should have comment or be unexported (golint)
encryption.go:14:1⚠️ exported function Decrypt should have comment or be unexported (golint)
encryption.go:39:1⚠️ exported function Encrypt should have comment or be unexported (golint)
ip.go:7:1⚠️ exported function SplitIpPort should have comment or be unexported (golint)
json.go:3:6⚠️ exported type DynMap should have comment or be unexported (golint)
md5.go:22:1⚠️ comment on exported function Md5SumString should be of the form "Md5SumString ..." (golint)
strings.go:10:1⚠️ exported function StringsFallback2 should have comment or be unexported (golint)
strings.go:14:1⚠️ exported function StringsFallback3 should have comment or be unexported (golint)
strings.go:27:1⚠️ exported function SplitString should have comment or be unexported (golint)
strings.go:35:1⚠️ exported function GetAgeString should have comment or be unexported (golint)
url.go:8:6⚠️ exported type UrlQueryReader should have comment or be unexported (golint)
url.go:12:1⚠️ exported function NewUrlQueryReader should have comment or be unexported (golint)
url.go:23:1⚠️ exported method UrlQueryReader.Get should have comment or be unexported (golint)
url.go:32:1⚠️ exported function JoinUrlFragments should have comment or be unexported (golint)
validation.go:16:1⚠️ exported function IsEmail should have comment or be unexported (golint)
2019-01-28 22:09:40 +01:00
bergquist e218cc7637 docs: updates docs to refer to using uid 2019-01-28 22:03:16 +01:00
Daniel Lee e813a6d522 azuremonitor: increase memory for webpack build
The gigantic monaco dependency needs more memory so
it fails on CircleCI with the default memory allocation
of 2GB for a worker.
2019-01-28 21:34:20 +01:00
bergquist 7c93335d28 gofmt issue 2019-01-28 21:04:08 +01:00
Torkel Ödegaard daab7a5f6e Merge pull request #15099 from grafana/tooling/storybook-poc
Named colors & storybook
2019-01-28 20:47:46 +01:00
bergquist 809019d4ee moves test files into testdata folder 2019-01-28 20:44:10 +01:00
bergquist 8f0e65a150 renames alert_notifications -> notifiers 2019-01-28 20:39:09 +01:00
Marcus Efraimsson bc34ccc9b2 changelog: add notes about closing #14711 2019-01-28 20:31:21 +01:00
Marcus Efraimsson fce354875c Merge pull request #14711 from ander26/nanosecond-postgresql
sql datasources: nanosecond timestamp support
2019-01-28 20:26:45 +01:00
Marcus Efraimsson 7023c957d7 Merge branch 'master' into nanosecond-postgresql 2019-01-28 20:04:46 +01:00
Marcus Efraimsson 3a53f75ebb update inline documentation 2019-01-28 19:52:35 +01:00
Daniel Lee e4f4cb814c Merge branch 'master' into azure-monitor 2019-01-28 19:23:34 +01:00
Marcus Efraimsson f09c4608c2 changelog: add notes about closing #13711 2019-01-28 18:35:48 +01:00
Marcus Efraimsson ed6cca61c9 Merge pull request #15051 from ellisvlad/13711_parse_database_config_ipv6_host
Parse database host correctly when using IPv6
2019-01-28 18:32:09 +01:00
Marcus Efraimsson 577f35f6ba changelog: add notes about closing #5699 2019-01-28 18:24:13 +01:00
Marcus Efraimsson f701c610fb Merge pull request #15054 from RangerRick/master
add global datasource proxy timeout setting
2019-01-28 18:21:27 +01:00
Torkel Ödegaard c3c8cd3f4d Fix for annotations not clearing when switching dashboards, fixes #15063 2019-01-28 18:19:12 +01:00
Torkel Ödegaard 8510f0cd11 Merge pull request #15084 from grafana/fix/explore-datasource-change
Update datasource before the loading has started
2019-01-28 17:55:33 +01:00
Torkel Ödegaard a7b486d998 Merge pull request #15040 from grafana/14807-enable-webit-scrollbar-styles
Re-enable webit-prefixed scrollbar styles
2019-01-28 17:51:39 +01:00
Torkel Ödegaard adf08bf222 Merge pull request #15098 from xlson/build-dont-push-latest
build: ignore latest
2019-01-28 17:49:47 +01:00
Dominik Prokop 44a7bd68be Import fix 2019-01-28 17:46:42 +01:00
Torkel Ödegaard 2bed762950 Merge pull request #15097 from benjamingorman/feature/grammar-fixes
Spelling/grammar fixes in top level markdown files
2019-01-28 17:37:34 +01:00
Dominik Prokop 7a8eb8c115 Merge branch 'master' into tooling/storybook-poc 2019-01-28 17:36:41 +01:00
Torkel Ödegaard 6d9246d447 Merge pull request #15093 from grafana/fix/explore-do-not-clear-results
Do not clear query results on transaction start
2019-01-28 17:17:13 +01:00
Torkel Ödegaard fd06e51776 Merge branch 'master' into fix/explore-do-not-clear-results 2019-01-28 17:16:39 +01:00
Torkel Ödegaard 50b140f6ce Merge pull request #15082 from bergquist/explore_by_default
enables explore by default
2019-01-28 17:09:17 +01:00
Leonard Gram 584c97320a build: ignore latest 2019-01-28 17:08:27 +01:00
Torkel Ödegaard ca68a88ee1 Merge pull request #14914 from grafana/named-colors
Named colors picker
2019-01-28 17:08:26 +01:00
Torkel Ödegaard 5768593da7 Merge pull request #15095 from grafana/hugoh/bug-inifinite-loop-when-scan-for-older-logs-clicked
Making sure we do not pass a long invalid queries and save to state
2019-01-28 17:01:24 +01:00
Ben Gorman d56d9a0c12 Spelling/grammar fixes in top level markdown files 2019-01-28 15:58:32 +00:00
Leonard Gram 55f2495afa build: publishes armv6 to grafana.com.
Stops using the old publisher completely.

Closes #13008
2019-01-28 16:33:24 +01:00
Torkel Ödegaard a1a905cbb1 Removed the initial data source as I could not see it being used anywhere 2019-01-28 16:31:38 +01:00
Dominik Prokop 00cb751eab Merge branch 'named-colors' of github.com:grafana/grafana into named-colors 2019-01-28 15:54:58 +01:00
Dominik Prokop 9a08a994f4 Initialize named colors palete lazily 2019-01-28 15:49:59 +01:00
Dominik Prokop 053d4060e8 Fix thresholds default colors not being applied 2019-01-28 15:48:54 +01:00
bergquist 21fff415ed removes unnessecary db request 2019-01-28 15:37:52 +01:00
Hugo Häggmark 08f5a3338a Making sure we do not pass a long invalid queries and save to state 2019-01-28 15:27:35 +01:00
Torkel Ödegaard 91d926f180 single import for types from @grafana/ui 2019-01-28 15:27:23 +01:00
bergquist 935da14f7d tab/spaces formatting 2019-01-28 15:27:02 +01:00
Torkel Ödegaard 2c9a867bde Merge branch 'master' into fix/explore-datasource-change 2019-01-28 15:24:14 +01:00
Torkel Ödegaard 2dc2471b5c Revert "Updated home dashboard, removed home dashboard header"
This reverts commit 0151846e1e.
2019-01-28 15:01:42 +01:00
Torkel Ödegaard 994c79b59b Merge branch '15048/navigate-from-not-saved-panel' 2019-01-28 14:45:49 +01:00
Torkel Ödegaard 520756fb4c Fixed wrong line in test 2019-01-28 14:44:35 +01:00
Hugo Häggmark dc125f1e4d Made sure we only resetTypeahead if mounted 2019-01-28 14:43:59 +01:00
bergquist 6a8643b3d1 Merge branch 'master' into configurable-alert-notification
* master: (250 commits)
  Firing off an action instead of listening to location changes
  Changes after PR Comments
  Made ExplorerToolbar connected and refactored away responsabilities from Explore
  Removed some split complexity
  Fixed some more styling
  Fixed close split look and feel
  Fixed position of Closesplit
  Fixed small issue with TimePicker dropdown position
  Simplified some styles and dom elements
  Fixed some more with the sidemenu open and smaller screens
  Fixed so heading looks good with closed sidemenu
  Restructure of component and styling
  Refactored out ExploreToolbar from Explore
  Fixed reinitialise of Explore
  changelog: add notes about closing #13929
  changelog: add notes about closing #14558
  changelog: add notes about closing #14484
  changelog: add notes about closing #13765
  changelog: add notes about closing #11503
  changelog: add notes about closing #4075
  ...
2019-01-28 14:16:43 +01:00
Dominik Prokop d947748dd4 Delayed explore query loading indicator and implemented minor ux improvements to it 2019-01-28 14:07:45 +01:00
Peter Holmberg d433a4792a fixing test 2019-01-28 14:07:37 +01:00
bergquist 48aa173f67 support both uid and id for showing/removing notifiers 2019-01-28 14:00:55 +01:00
David edfce0893e Merge pull request #15090 from grafana/hugoh/bug-explore-cant-go-from-dashboard-to-explore
Fixed reinitialise of Explore
2019-01-28 13:43:32 +01:00
Dominik Prokop 07331b4c07 Revert "Use the same panel loading indicator in explore as on dashboard's panel"
This reverts commit 05edb3e5ad.
2019-01-28 13:40:41 +01:00
Hugo Häggmark 6b0400eed2 Firing off an action instead of listening to location changes 2019-01-28 13:27:56 +01:00
Dominik Prokop 957c659291 Handle undefined graph and table results 2019-01-28 13:09:51 +01:00
bergquist 6e672eb291 enable explore by default
closes #15037
2019-01-28 13:02:54 +01:00
Dominik Prokop 05edb3e5ad Use the same panel loading indicator in explore as on dashboard's panel 2019-01-28 12:58:10 +01:00
Dominik Prokop 2ff62c42ac Prevents query result cleaning when new query trransaction starts 2019-01-28 12:57:09 +01:00
Hugo Häggmark 9298876ef0 Changes after PR Comments 2019-01-28 12:47:01 +01:00
Hugo Häggmark 1e6d50df7a Made ExplorerToolbar connected and refactored away responsabilities from Explore 2019-01-28 12:47:01 +01:00
Hugo Häggmark 21df0c90a9 Removed some split complexity 2019-01-28 12:47:01 +01:00
Hugo Häggmark 0a094a13f2 Fixed some more styling 2019-01-28 12:47:01 +01:00
Hugo Häggmark 18727dce23 Fixed close split look and feel 2019-01-28 12:47:01 +01:00
Hugo Häggmark 42f700054f Fixed position of Closesplit 2019-01-28 12:47:01 +01:00
Hugo Häggmark d2a5477654 Fixed small issue with TimePicker dropdown position 2019-01-28 12:47:01 +01:00
Hugo Häggmark 032a82feed Simplified some styles and dom elements 2019-01-28 12:47:01 +01:00
Hugo Häggmark 9caaf25078 Fixed some more with the sidemenu open and smaller screens 2019-01-28 12:47:01 +01:00
Hugo Häggmark b2c284e42c Fixed so heading looks good with closed sidemenu 2019-01-28 12:47:01 +01:00
Hugo Häggmark ffe03ee22d Restructure of component and styling 2019-01-28 12:47:01 +01:00
Hugo Häggmark 1aefc4cc2d Refactored out ExploreToolbar from Explore 2019-01-28 12:47:01 +01:00
Peter Holmberg c9cab9b677 updating state if no panel 2019-01-28 12:20:16 +01:00
ijin08 b28e9b01fd updated the color palette 2019-01-28 11:52:36 +01:00
Hugo Häggmark 40f410562a Fixed reinitialise of Explore 2019-01-28 11:45:15 +01:00
Marcus Efraimsson c7e50a79d7 changelog: add notes about closing #13929 2019-01-28 11:29:50 +01:00
Marcus Efraimsson 5807fc1383 changelog: add notes about closing #14558 2019-01-28 11:20:23 +01:00
Marcus Efraimsson c52dde4c1b changelog: add notes about closing #14484 2019-01-28 11:18:37 +01:00
Marcus Efraimsson 4678f43aeb changelog: add notes about closing #13765 2019-01-28 11:15:00 +01:00
Marcus Efraimsson 2a0689a1f5 changelog: add notes about closing #11503 2019-01-28 11:08:16 +01:00
Marcus Efraimsson a9fd076470 changelog: add notes about closing #4075 2019-01-28 11:08:16 +01:00
Marcus Efraimsson 5869eba467 changelog: add notes about closing #14722 2019-01-28 11:08:16 +01:00
Marcus Efraimsson ec41c4a572 update changelog 2019-01-28 11:08:16 +01:00
Marcus Efraimsson ac17da624d changelog: add notes about closing #10322 2019-01-28 11:08:16 +01:00
Marcus Efraimsson 9eddb59705 changelog: add notes about closing #12991 2019-01-28 11:08:16 +01:00
Marcus Efraimsson 1d1d085b96 update changelog 2019-01-28 11:08:16 +01:00
Dominik Prokop 05f9eb0766 Update datasource before the loading has started 2019-01-28 11:06:50 +01:00
Torkel Ödegaard 642e1115f7 Merge pull request #15076 from grafana/minor-moving-task
Moving a few things from dashboard folder
2019-01-28 10:57:04 +01:00
Carl Bergquist 5082b66e3d Merge pull request #15078 from grafana/golang_1.11.5
upgrade golang to 1.11.5
2019-01-28 10:20:20 +01:00
Dominik Prokop 778ed912b8 Add cursor pointer to color swatches 2019-01-28 09:25:35 +01:00
Torkel Ödegaard de79c27bcb Fixed import path 2019-01-28 09:20:54 +01:00
bergquist 019848484b changelog: adds note about closing #14701 2019-01-28 08:35:14 +01:00
Carl Bergquist 711f9bc034 Merge pull request #14883 from sharkpc0813/14701-fix-alert-context
fix that alert context and result handle context do not use the same derived context.
2019-01-28 08:30:45 +01:00
bergquist 0cbc89b063 Merge branch 'master' into 14701-fix-alert-context
* master: (262 commits)
  pkg/services/dashboards/dashboard_service.go: simplify return
  Updated url query param encoding to exctly match angular encoding
  Updated snapshot
  Added missing props not being passed to scrollbar component, fixes #15058
  Document /api/health
  changelog: adds note for #15062
  change default rotate_token_minutes to 10 minutes
  fix
  load test/ha fixes
  set low login cookie rotate time in ha mode
  fix multiple piechart instances bug
  scripts/build/*: Fix some golint issues
  scripts/build/*: Fix golint issues Url => URL
  build: fixes building grafana completely within docker.
  dont specify domain for auth cookies
  New snapshot reflecting changes
  Makes the clickable side menu header look great in light theme again
  org id fix for load test
  user auth token load tests using k6.io
  moves cookie https setting to [security]
  ...
2019-01-28 08:09:52 +01:00
bergquist d75f53e895 upgrade golang to 1.11.5 2019-01-28 08:08:29 +01:00
bergquist 364154d81f moves timeout tests to an integration test 2019-01-28 07:56:31 +01:00
Carl Bergquist 87d44490e6 Merge pull request #15072 from mjtrangoni/fix-megacheck-issue
pkg/services/dashboards/dashboard_service.go: simplify return
2019-01-27 23:41:37 +01:00
Torkel Ödegaard 7f2c2a913e Moving a few things from dashboard folder 2019-01-27 17:33:13 +01:00
Vlad Ellis 9692955d4f Correct formatting of sqlstore_test.go 2019-01-27 16:28:02 +00:00
Mario Trangoni bf90ff87cf pkg/services/dashboards/dashboard_service.go: simplify return
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=megacheck  ./...
pkg/services/dashboards/dashboard_service.go:167:2⚠️ 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013) (megacheck)
2019-01-26 14:23:10 +01:00
Torkel Ödegaard 84d1ce8fe3 Merge pull request #15071 from grafana/explore-url-fixes
Updated url query param encoding to exctly match angular encoding
2019-01-26 12:41:32 +01:00
Torkel Ödegaard 0975f816aa Updated url query param encoding to exctly match angular encoding 2019-01-26 12:05:37 +01:00
Torkel Ödegaard 7956c74406 Merge pull request #15070 from grafana/scrollbar-fixes
Added missing props not being passed to scrollbar component
2019-01-26 11:48:48 +01:00
Torkel Ödegaard f3dc5381ee Merge pull request #15018 from miroswan/14961-constructor-as-rvalue
Bug Fix #14961
2019-01-26 11:11:32 +01:00
Torkel Ödegaard 27858c0272 Updated snapshot 2019-01-26 11:04:50 +01:00
Torkel Ödegaard c9d060c0fe Merge pull request #15041 from grafana/14752-explore-custom-scrollbar
Use CustomScrollbar in explore
2019-01-26 10:57:13 +01:00
Torkel Ödegaard 5e1a3c9ee2 Merge pull request #15023 from grafana/improve-organization
More file re-organization & clean-up
2019-01-26 10:53:09 +01:00
Torkel Ödegaard c748b53f17 Added missing props not being passed to scrollbar component, fixes #15058 2019-01-26 10:51:16 +01:00
Torkel Ödegaard ecbda1af23 Merge pull request #15068 from finkr/finkr-patch-doc-healthapi
Document /api/health
2019-01-26 07:06:03 +01:00
Torkel Ödegaard aaad9e3e49 Merge pull request #15057 from grafana/hugoh/sidemenu-dropdown-looks-funky-in-light-theme
Makes the clickable side menu header look great in light theme again
2019-01-26 07:05:28 +01:00
Vlad Ellis c208186f26 Parse database host correctly when using IPv6 2019-01-25 21:56:19 +00:00
Frank lin Piat 1fc5ea181a Document /api/health
Document the health check implemented in #3302 (and #935), see  https://github.com/grafana/grafana/issues/3302#issuecomment-297066201
2019-01-25 17:52:28 +01:00
Peter Holmberg 142ebc7546 some working solution, needs refactor 2019-01-25 16:38:51 +01:00
Daniel Lee d1608510ef changelog: adds note for #15062 2019-01-25 15:52:53 +01:00
Daniel Lee 684b588126 Merge pull request #15062 from alexanderzobnin/fix-piechart
fix multiple piechart instances bug
2019-01-25 15:38:23 +01:00
Dominik Prokop 07b9735263 Do not update color picker popover position on tab change
Position update caused tabs to move up and down. This led to confusing user experience, as tabs position was dependent on tab's content.
2019-01-25 14:07:22 +01:00
Carl Bergquist d5c1f8e526 Merge pull request #14912 from grafana/poc_token_auth
WIP. POC for session replacement base hashed tokens.
2019-01-25 13:58:35 +01:00
Marcus Efraimsson e4924795a2 change default rotate_token_minutes to 10 minutes 2019-01-25 13:30:26 +01:00
Dominik Prokop 5f41c5ca5e Rename deprecation warning helper 2019-01-25 13:30:02 +01:00
Dominik Prokop 3c60f98d13 Implemented tests for ColorPickerPopover and NamedColorsPalette 2019-01-25 13:24:20 +01:00
Marcus Efraimsson 42fa41e78d fix 2019-01-25 13:18:17 +01:00
Marcus Efraimsson 806ddd63a0 load test/ha fixes 2019-01-25 13:16:19 +01:00
bergquist 95d9328c66 set low login cookie rotate time in ha mode 2019-01-25 12:59:50 +01:00
Dominik Prokop e75b0a3c70 Fix light theme issues with named colors disabled 2019-01-25 12:13:36 +01:00
Dominik Prokop f01441f4a7 Stories cleanup 2019-01-25 12:03:42 +01:00
Alexander Zobnin 7fb1b3a11a fix multiple piechart instances bug 2019-01-25 13:56:00 +03:00
Mario Trangoni 4b68055c16 scripts/build/*: Fix some golint issues
See,

$ gometalinter --vendor --disable-all --enable=golint ./...
build/release_publisher/externalrelease.go:55:6⚠️ type getHttpContents should be getHTTPContents (golint)
build/release_publisher/publisher.go:18:2⚠️ struct field apiUri should be apiURI (golint)
build/release_publisher/publisher.go:66:6⚠️ exported type ReleaseType should have comment or be unexported (golint)
build/release_publisher/publisher.go:69:2⚠️ exported const STABLE should have comment (or a comment on this block) or be unexported (golint)
build/release_publisher/publisher.go:185:16⚠️ should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
build/release_publisher/publisher_test.go:102:6⚠️ type mockHttpGetter should be mockHTTPGetter (golint)
2019-01-25 11:21:47 +01:00
Mario Trangoni d5f63d9988 scripts/build/*: Fix golint issues Url => URL
$ gometalinter --vendor --disable-all --enable=golint ./... | grep -i URL
build/publish.go:18:5⚠️ var apiUrl should be apiURL (golint)
build/publish.go:184:2⚠️ struct field WhatsNewUrl should be WhatsNewURL (golint)
build/publish.go:185:2⚠️ struct field ReleaseNotesUrl should be ReleaseNotesURL (golint)
build/publish.go:191:2⚠️ struct field Url should be URL (golint)
build/release_publisher/externalrelease.go:17:53⚠️ method parameter baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/externalrelease.go:17:69⚠️ method parameter whatsNewUrl should be whatsNewURL (golint)
build/release_publisher/externalrelease.go:17:89⚠️ method parameter releaseNotesUrl should be releaseNotesURL (golint)
build/release_publisher/localrelease.go:20:45⚠️ method parameter baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/localrelease.go:20:61⚠️ method parameter whatsNewUrl should be whatsNewURL (golint)
build/release_publisher/localrelease.go:20:81⚠️ method parameter releaseNotesUrl should be releaseNotesURL (golint)
build/release_publisher/localrelease.go:45:41⚠️ method parameter baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/localrelease.go:51:84⚠️ func parameter baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/main.go:12:6⚠️ var whatsNewUrl should be whatsNewURL (golint)
build/release_publisher/main.go:13:6⚠️ var releaseNotesUrl should be releaseNotesURL (golint)
build/release_publisher/main.go:40:6⚠️ var baseUrl should be baseURL (golint)
build/release_publisher/main.go:94:6⚠️ func createBaseUrl should be createBaseURL (golint)
build/release_publisher/publisher.go:21:2⚠️ struct field baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/publisher.go:26:17⚠️ interface method parameter baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/publisher.go:26:33⚠️ interface method parameter whatsNewUrl should be whatsNewURL (golint)
build/release_publisher/publisher.go:26:53⚠️ interface method parameter releaseNotesUrl should be releaseNotesURL (golint)
build/release_publisher/publisher.go:29:31⚠️ method parameter whatsNewUrl should be whatsNewURL (golint)
build/release_publisher/publisher.go:29:51⚠️ method parameter releaseNotesUrl should be releaseNotesURL (golint)
build/release_publisher/publisher.go:91:24⚠️ method getUrl should be getURL (golint)
build/release_publisher/publisher.go:91:31⚠️ method parameter baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/publisher.go:190:15⚠️ func parameter baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/publisher.go:199:21⚠️ method apiUrl should be apiURL (golint)
build/release_publisher/publisher.go:257:2⚠️ struct field WhatsNewUrl should be WhatsNewURL (golint)
build/release_publisher/publisher.go:258:2⚠️ struct field ReleaseNotesUrl should be ReleaseNotesURL (golint)
build/release_publisher/publisher.go:264:2⚠️ struct field Url should be URL (golint)
build/release_publisher/publisher_test.go:10:3⚠️ struct field whatsNewUrl should be whatsNewURL (golint)
build/release_publisher/publisher_test.go:11:3⚠️ struct field relNotesUrl should be relNotesURL (golint)
build/release_publisher/publisher_test.go:17:3⚠️ struct field expectedUrl should be expectedURL (golint)
build/release_publisher/publisher_test.go:18:3⚠️ struct field baseArchiveUrl should be baseArchiveURL (golint)
build/release_publisher/publisher_test.go:109:2⚠️ var whatsNewUrl should be whatsNewURL (golint)
build/release_publisher/publisher_test.go:110:2⚠️ var relNotesUrl should be relNotesURL (golint)
2019-01-25 11:21:47 +01:00
Leonard Gram 674ab73806 build: fixes building grafana completely within docker.
Fixes #15060
2019-01-25 10:52:47 +01:00
bergquist 75760aa892 dont specify domain for auth cookies 2019-01-25 10:40:50 +01:00
Alexander Zobnin 96ffa9d797 monaco-kusto: fix imports 2019-01-25 11:23:46 +03:00
Alexander Zobnin 0dc6e86b3b use @alexanderzobnin/monaco-kusto package for kusto syntax highlight 2019-01-25 11:15:18 +03:00
bergquist b5572b23b6 Merge branch 'master' into poc_token_auth
* master: (32 commits)
  Fixed react key warning for loki start page
  Disable query should trigger refresh
  added docs entry for check_for_updates config flag, fixes ##14940
  Explore: Fix scanning for logs
  Moved ad hoc filters and upload directive
  Moved dashboard srv and snapshot ctrl
  Moved share modal
  Moved dashboard save modals to components folder
  Moved unsaved changes service and modal
  Removed unused alertingSrv
  Moved view state srv to services
  Moved timepicker to components
  Moved submenu into components dir
  Moved dashboard settings to components
  Moved dashboard permissions into components dir
  Moved history component, added start draft of frontend code style guide
  fix: Use custom whitelist for XSS sanitizer to allow class and style attributes
  Began work on improving structure and organization of components under features/dashboard, #14062
  Fix a typo in changelog
  Update ROADMAP.md
  ...
2019-01-25 08:28:24 +01:00
Hugo Häggmark bd745959d2 New snapshot reflecting changes 2019-01-25 06:49:15 +01:00
Hugo Häggmark 72a0ba29f5 Makes the clickable side menu header look great in light theme again 2019-01-25 06:44:32 +01:00
Marcus Efraimsson cfd8bd711b org id fix for load test 2019-01-24 23:49:45 +01:00
Marcus Efraimsson 6454de74e4 user auth token load tests using k6.io 2019-01-24 22:47:53 +01:00
Benjamin Reed 9108fd1b9d add global datasource proxy timeout setting
closes grafana#5699
2019-01-24 14:06:48 -05:00
bergquist d6edaa1328 moves cookie https setting to [security] 2019-01-24 19:04:58 +01:00
Alexander Zobnin 00de497663 Azure Monitor: build monaco with webpack WIP 2019-01-24 18:43:48 +03:00
Dominik Prokop 5032c74b79 Use Switch to control y-axis in series color picker 2019-01-24 15:36:28 +01:00
Dominik Prokop 1d3122632f Move Switch component to grafana-ui 2019-01-24 15:35:50 +01:00
bergquist 9153b6ed96 improves readability of loginping handler 2019-01-24 15:17:09 +01:00
Demitri Swan 186e488ace Bug Fix #14961 2019-01-24 14:11:31 +00:00
ijin08 ce440b85fc minor styling changes to gaps, font-size and width 2019-01-24 14:39:52 +01:00
bergquist 516037fbdd makes sure rotation is always higher than urgent rotation 2019-01-24 13:54:45 +01:00
bergquist 9ae306e417 use defer to make sure we always release session data 2019-01-24 13:48:36 +01:00
Dominik Prokop 8d8f944a1f Enable custom picers on color color picker popovers (for y-axis support in legend picker) 2019-01-24 13:18:21 +01:00
Johannes Schill 2706f09de8 feat: Use CustomScrollbar in explore #14752 2019-01-24 12:59:12 +01:00
Johannes Schill cf44c0cf87 chore: Better comment 2019-01-24 12:51:11 +01:00
Johannes Schill a91037fb50 chore: Remove comment and unneeded export 2019-01-24 12:43:25 +01:00
Johannes Schill 45fc9c1860 fix: Enable -webkit-scrollbar related css when there's no overlay scrollbar #14807 2019-01-24 12:43:25 +01:00
bergquist fd0f9f2dd2 fixes broken test 2019-01-24 12:06:44 +01:00
Dominik Prokop 40dc29d135 Make series overrides color picker display correctly 2019-01-24 12:01:15 +01:00
bergquist f257101c41 removes unused/commented code 2019-01-24 11:26:45 +01:00
bergquist ff483f3782 removes old cookie auth configuration 2019-01-24 10:55:10 +01:00
bergquist 56a521b264 makes auth token rotation time configurable 2019-01-24 10:50:18 +01:00
Dominik Prokop 1e69a7b8b7 Update story for NamedColorsPalette 2019-01-24 10:37:53 +01:00
Dominik Prokop d414e463bd Update imports of NamedColorsPalette 2019-01-24 10:37:34 +01:00
Dominik Prokop 549e0993c4 Restore missing styles 2019-01-24 10:28:48 +01:00
Dominik Prokop 071b1f8478 Fixed issue with color name retrieval not being aware of current theme 2019-01-24 09:56:52 +01:00
Torkel Ödegaard 05738258bb Fixed dashboard import issue after move 2019-01-24 09:47:06 +01:00
Torkel Ödegaard e713b0f029 Moved add panel panel and renamed it to add panel widget 2019-01-24 09:23:48 +01:00
Torkel Ödegaard c7b556c0e4 Merge pull request #15017 from grafana/explore-fixes
Fixed react key warning for loki start page
2019-01-23 22:02:21 +01:00
Torkel Ödegaard 6419a30377 Fixed react key warning for loki start page 2019-01-23 21:19:42 +01:00
Torkel Ödegaard 11c306abde Moved row options to it's own component folder 2019-01-23 20:29:05 +01:00
Torkel Ödegaard adacdf98b7 Removed old query inspector (that was opened by clickin error in panel title)
think the new query insector from Queries tab can replace this old one.
2019-01-23 20:26:18 +01:00
Torkel Ödegaard 9d5560afe2 Moving files to better locations 2019-01-23 20:21:07 +01:00
Torkel Ödegaard b5bc69253f Merge pull request #15016 from grafana/fix-disable-query
Disable query should trigger refresh
2019-01-23 20:03:35 +01:00
Torkel Ödegaard 81981cf45d Merge pull request #15014 from grafana/docs-fix-updates-flag
added docs entry for check_for_updates config flag,
2019-01-23 19:35:12 +01:00
Torkel Ödegaard b1ef3c43f9 Disable query should trigger refresh 2019-01-23 19:34:56 +01:00
Torkel Ödegaard d88b7608a5 Merge pull request #15013 from grafana/revert-11635-patch-1
Revert "Specify expected encoding for access/secret key"
2019-01-23 18:26:35 +01:00
Torkel Ödegaard 05a976fdb1 added docs entry for check_for_updates config flag, fixes ##14940 2019-01-23 18:24:57 +01:00
bergquist 4626f083bb store oauth login error messages in an encrypted cookie 2019-01-23 17:01:09 +01:00
Dominik Prokop d13efb3372 Removed sass import of spectrum.scss 2019-01-23 16:37:23 +01:00
ijin08 7bdbe3ea9d Merge branch 'named-colors' of github.com:grafana/grafana into named-colors 2019-01-23 16:25:51 +01:00
ijin08 387c40c6d2 replaced palette colors with current palette adjusted for dark and light theme 2019-01-23 16:23:48 +01:00
Dominik Prokop 573e64ef11 Remove spectrum.js vendor dependency from grafana/ui 2019-01-23 16:02:21 +01:00
ijin08 30f27a966b changed light-theme tool-tip to be a bit lighter, trying different paddings 2019-01-23 15:39:13 +01:00
Torkel Ödegaard d420024178 Merge pull request #15009 from grafana/davkal/14997-fix-scanner
Explore: Fix scanning for logs
2019-01-23 15:35:31 +01:00
Torkel Ödegaard 3dca65c6b8 Merge pull request #14958 from aocenas/refresh-playlist-counter
Add loop counter for full refresh in playlist
2019-01-23 15:34:49 +01:00
Dominik Prokop 580b919424 Fix hide timeout for color picker 2019-01-23 15:34:39 +01:00
Dominik Prokop e5f74fdf93 Rename colorsPalette util to namedColorsPalette 2019-01-23 15:31:41 +01:00
Dominik Prokop 511895c079 Make small swatches react to theme changes 2019-01-23 15:30:33 +01:00
bergquist df85cc9bb1 redirect logged in users from /login to home 2019-01-23 15:28:33 +01:00
David Kaltschmidt c0277ab595 Explore: Fix scanning for logs
- Redux migration caused the scanner to not be set
- this change adds the setting/unsetting of the scanner in the reducer
- added test
2019-01-23 15:05:54 +01:00
Dominik Prokop 3c7a5bdf7b Update styles of selected named color swatch 2019-01-23 14:59:43 +01:00
bergquist 5998646da5 restrict session usage to auth_proxy 2019-01-23 14:56:48 +01:00
Dominik Prokop 8cce80a851 Implement pointer component for spectrum palette sliders 2019-01-23 14:46:38 +01:00
Torkel Ödegaard 90787a5299 Merge pull request #14999 from grafana/dashboard-component-organization
WIP: Re-organize components under features/dashboard
2019-01-23 14:00:03 +01:00
Torkel Ödegaard 8a9582dad5 minor updates 2019-01-23 13:54:34 +01:00
Dominik Prokop ab7756ecb4 Make default color picker close on trigger mouse leave 2019-01-23 13:46:13 +01:00
Torkel Ödegaard f0eef79c1a Moved ad hoc filters and upload directive 2019-01-23 13:31:45 +01:00
Dominik Prokop 53f52a67e1 Added deprecation warning to old color picker API props. Moved named color support handling to color popovers 2019-01-23 13:29:56 +01:00
ijin08 2ec55d0650 changed color for label tooltips from blue/red-yellow gradient to black/white 2019-01-23 13:28:39 +01:00
Torkel Ödegaard 2f08c56260 Moved dashboard srv and snapshot ctrl 2019-01-23 13:10:49 +01:00
Torkel Ödegaard 80da19010e Moved share modal 2019-01-23 13:07:20 +01:00
Torkel Ödegaard 720fa87b89 Moved dashboard save modals to components folder 2019-01-23 13:00:05 +01:00
Torkel Ödegaard 4358732d21 Moved unsaved changes service and modal 2019-01-23 12:52:46 +01:00
Torkel Ödegaard a4824085e3 Removed unused alertingSrv 2019-01-23 12:09:58 +01:00
Torkel Ödegaard d9f11fa658 Merge pull request #15005 from grafana/xss-filter-allow-class-style
XSS sanitizer allows class and style attributes
2019-01-23 12:06:57 +01:00
Torkel Ödegaard 874792dfcb Moved view state srv to services 2019-01-23 12:02:47 +01:00
Torkel Ödegaard ec37f84727 Moved timepicker to components 2019-01-23 11:55:52 +01:00
Torkel Ödegaard 2356057f20 Moved submenu into components dir 2019-01-23 11:51:43 +01:00
Torkel Ödegaard 08f7e55ae5 Moved dashboard settings to components 2019-01-23 11:48:27 +01:00
Torkel Ödegaard dfe9252f54 Moved dashboard permissions into components dir 2019-01-23 11:45:23 +01:00
Torkel Ödegaard 0c16d3cd6a Moved history component, added start draft of frontend code style guide 2019-01-23 11:37:46 +01:00
Johannes Schill 5c72e4e668 fix: Use custom whitelist for XSS sanitizer to allow class and style attributes 2019-01-23 11:27:02 +01:00
Carl Bergquist 766122856b Merge pull request #14995 from bergquist/token_oauth
Stores hashed state code in cookie for OAuth logins.
2019-01-23 10:39:12 +01:00
Dominik Prokop 5c5265829a Reduce padding in color picker popover 2019-01-23 09:39:59 +01:00
Torkel Ödegaard 26385dea8f Began work on improving structure and organization of components under features/dashboard, #14062 2019-01-22 21:36:36 +01:00
Torkel Ödegaard 909d89077d Merge pull request #14998 from roidelapluie/patch-1
Fix a typo in changelog
2019-01-22 21:14:11 +01:00
Julien Pivotto 2bdc92f7dd Fix a typo in changelog 2019-01-22 20:42:56 +01:00
Dominik Prokop 9fd9bba1f4 Implemented new spectrum palette 2019-01-22 20:00:22 +01:00
Torkel Ödegaard 2264c27504 Merge pull request #14989 from grafana/hugoh/bug-folder-name-appears-misleadingly-when-using-viewers-can-edit
fixes:#14282 - Do not change folder for persisted dashboards
2019-01-22 17:47:12 +01:00
Torkel Ödegaard 3a390a994b Update ROADMAP.md 2019-01-22 17:46:38 +01:00
Torkel Ödegaard 2a50777001 use resetfolder instead so it shows current folder 2019-01-22 17:41:36 +01:00
Torkel Ödegaard 0151846e1e Updated home dashboard, removed home dashboard header 2019-01-22 17:23:24 +01:00
Torkel Ödegaard 5d3ef4e500 Merge pull request #14992 from grafana/hugoh/bug-explore-toggle-table-does-not-work
fix: Dispatch the correct action (#14985)
2019-01-22 16:43:36 +01:00
bergquist c3ff3d644c fixes nil ref in tests 2019-01-22 16:16:32 +01:00
Torkel Ödegaard db99b86591 Merge pull request #12765 from cxcv/master
added percentencode formatting option
2019-01-22 15:55:36 +01:00
bergquist 31b5db06f1 Merge branch 'master' into poc_token_auth
* master: (156 commits)
  Fixed issues with the sanitizie input in text panels, added docs, renamed config option
  build: removes arm32v6 docker image.
  Updated version in package.json to 6.0.0-pre1
  Update CHANGELOG.md
  build: armv6 docker image.
  build: skips building rpm for armv6.
  build: builds for armv6.
  Explore: mini styling fix for angular query editors
  Removed unused props & state in PromQueryField
  chore: Remove logging and use the updated config param
  chore: Reverse sanitize variable so it defaults to false
  feat: wip: Sanitize user input on text panel
  fix: Text panel should re-render when panel mode is changed #14922
  Minor rename of LogsProps and LogsState
  Splitted up LogLabels into LogLabelStats and LogLabel
  Refactored out LogRow to a separate file
  Removed strange edit
  Added link to side menu header and fixed styling
  Moved ValueMapping logic and tests to separate files
  Fixed data source selection in explore
  ...
2019-01-22 15:39:54 +01:00
bergquist 64124b5042 add setting for how to long we should keep expired tokens 2019-01-22 15:31:43 +01:00
bergquist 12f8338977 stores hashed state code in cookie 2019-01-22 15:22:24 +01:00
bergquist d3ec8e1ccb creates new config section for login settings 2019-01-22 15:22:11 +01:00
Benjamin Schweizer bde4b76c16 based on encodeURIComponent() using strict RFC 3986 sub-delims 2019-01-22 15:09:58 +01:00
Hugo Häggmark 85838a40d6 fix: Dispatch the correct action (#14985) 2019-01-22 13:59:58 +01:00
Marcus Efraimsson 59d0c19ba8 passing middleware tests 2019-01-22 13:51:55 +01:00
Dominik Prokop ba4b774c96 Stories update for color picker 2019-01-22 13:36:21 +01:00
Dominik Prokop c3e5737fb8 Make named colors optional in color picker, enable named colors in graph legend series picker 2019-01-22 13:35:57 +01:00
Dominik Prokop 5b63ee4bfb Storybook - add actions addon 2019-01-22 13:19:47 +01:00
Hugo Häggmark 151b838f0b fixes:#14282 - Do not change folder for persisted dashboards 2019-01-22 13:07:03 +01:00
Torkel Ödegaard 75e3d90089 Merge pull request #14988 from grafana/sanitize-input-fixes
Fixed issues with the sanitizie input in text panels
2019-01-22 12:26:51 +01:00
Marcus Efraimsson 4096449aec extract auth token interface and remove auth token from context 2019-01-22 12:00:33 +01:00
Torkel Ödegaard f0e61af8e0 Fixed issues with the sanitizie input in text panels, added docs, renamed config option 2019-01-22 11:56:35 +01:00
Leonard Gram caa9a90bfd build: removes arm32v6 docker image. 2019-01-22 11:44:02 +01:00
Torkel Ödegaard 39fa0aec5d Updated version in package.json to 6.0.0-pre1 2019-01-22 11:37:14 +01:00
Torkel Ödegaard cd3157fa68 Update CHANGELOG.md 2019-01-22 11:36:38 +01:00
Torkel Ödegaard cfdef66f8c Merge pull request #14984 from grafana/4117-xss-sanitize-text-panels
XSS sanitize text panels
2019-01-22 11:29:50 +01:00
Torkel Ödegaard bc7842e324 Merge pull request #14972 from grafana/hugoh/rendering-null-as-valuemapping
Added check for null value in ValueMappings and added tests
2019-01-22 11:28:44 +01:00
Benjamin Schweizer 8a09d84707 Merge branch 'master' of https://github.com/grafana/grafana 2019-01-22 11:20:56 +01:00
Leonard Gram ec11d5a90a build: armv6 docker image. 2019-01-22 11:09:27 +01:00
Leonard Gram 2bdc147e55 build: skips building rpm for armv6. 2019-01-22 11:09:27 +01:00
Leonard Gram 5f188058e3 build: builds for armv6. 2019-01-22 11:09:27 +01:00
Dominik Prokop dd8f7aa7a9 CustomScrollbar - expose underlying's react-custom-scrollbars API to allow scroll tracks config.
Updated config for Graph legend not to display horizontal scroll track which caused legend being not accessible in ceertain situations (e.g. when native OS scroll overlay disabled)
2019-01-22 10:58:31 +01:00
Torkel Ödegaard e43fafd96e Explore: mini styling fix for angular query editors 2019-01-22 10:46:21 +01:00
Torkel Ödegaard a03faba9a3 Merge pull request #14983 from grafana/hugoh/logs-refactoring
Logs refactoring
2019-01-22 10:32:05 +01:00
Torkel Ödegaard 40b73a1fcd Removed unused props & state in PromQueryField 2019-01-22 09:57:27 +01:00
Torkel Ödegaard e8e1d35340 Merge pull request #14981 from grafana/hugoh/sidemenu-should-be-clickable
Added link to side menu header and fixed styling
2019-01-22 09:36:58 +01:00
Johannes Schill 08dc5a4f97 chore: Remove logging and use the updated config param 2019-01-22 09:36:07 +01:00
Johannes Schill 1ed35f3dc1 chore: Reverse sanitize variable so it defaults to false 2019-01-22 09:36:07 +01:00
Johannes Schill 15d560a1c0 feat: wip: Sanitize user input on text panel 2019-01-22 09:36:07 +01:00
Johannes Schill a3e13b333e fix: Text panel should re-render when panel mode is changed #14922 2019-01-22 09:36:07 +01:00
Torkel Ödegaard 5446f49f19 Merge pull request #14977 from grafana/explore-fix-datasource-selector
Fixed data source selection in explore
2019-01-22 09:36:02 +01:00
Hugo Häggmark bcb3824e6a Minor rename of LogsProps and LogsState 2019-01-22 09:25:40 +01:00
Hugo Häggmark c369279401 Splitted up LogLabels into LogLabelStats and LogLabel 2019-01-22 09:22:38 +01:00
Dominik Prokop d86d063900 Make popover hide delay configurable to enable better UX 2019-01-22 09:14:30 +01:00
Dominik Prokop 2b34933554 Stories - fix import 2019-01-22 09:14:30 +01:00
Dominik Prokop 93bb30a561 Enable new color picker in Gauge and Thresholds editor, use ThemeProvider instead of ContextSrv 2019-01-22 09:14:30 +01:00
Dominik Prokop ed48ecfe1d Updated table tests to new behavior for colors (values are always rendered as hex/rgb) 2019-01-22 09:11:30 +01:00
Dominik Prokop 84caf0bc9d Make named colors usable in angular code pt 1 2019-01-22 09:11:30 +01:00
Dominik Prokop 597cbb5b9b Story updates 2019-01-22 09:11:30 +01:00
Dominik Prokop b560dcac3d Update grafana/ui exports 2019-01-22 09:11:30 +01:00
Dominik Prokop a214b5748e Refactor color picker to remove code duplicartion (introduced colorPickerFactory). Allow popver position update on content change 2019-01-22 09:11:30 +01:00
Dominik Prokop 4f516faa82 Fix lint 2019-01-22 09:11:30 +01:00
Dominik Prokop 25e60565ad Updated stories 2019-01-22 09:11:30 +01:00
Dominik Prokop c8ac23f3c1 Rendering arrows for color picker, applying color changes to time series 2019-01-22 09:11:30 +01:00
Dominik Prokop e35e266c81 Fix TS errors 2019-01-22 09:11:30 +01:00
Dominik Prokop b02c89c3ba Stories updates 2019-01-22 09:11:30 +01:00
Dominik Prokop e33614ade3 Unified color picker API, allowed for color specified for theme selection, updated code to changes in PopperController API 2019-01-22 09:11:30 +01:00
Dominik Prokop 977d53c8c9 Get rid of unused renderContent prop on PopperController 2019-01-22 09:11:30 +01:00
Dominik Prokop 0505add7f6 Enabled knobs for storybook and implemented some stories 2019-01-22 09:11:30 +01:00
Dominik Prokop 3d2955f24f Lint fix 2019-01-22 09:11:30 +01:00
Dominik Prokop 5420a816e7 Render series color picker with correct theme 2019-01-22 09:11:30 +01:00
Dominik Prokop 4b9e933691 Added config provider to be able to access config easily from react components 2019-01-22 09:11:30 +01:00
Dominik Prokop 33fa40a1f3 Migrating color pickers to Popper from drop.js pt1 2019-01-22 09:11:30 +01:00
Dominik Prokop c74b39696c Updates to Popper to be positions correctly within window 2019-01-22 09:11:30 +01:00
Dominik Prokop 4384eb2f0b Move tooltip themes to Tooltip component making Popper/PopperController theme agnostic 2019-01-22 09:11:30 +01:00
Dominik Prokop ac37879016 WIP Basics of named color picker 2019-01-22 09:11:30 +01:00
Dominik Prokop 7ad430a6be Merge branch 'master' into tooling/storybook-poc 2019-01-22 09:11:07 +01:00
Hugo Häggmark 23202ab130 Refactored out LogRow to a separate file 2019-01-22 08:59:22 +01:00
Hugo Häggmark bf0333e329 Removed strange edit 2019-01-22 08:18:03 +01:00
Hugo Häggmark a6428fef0c Added link to side menu header and fixed styling 2019-01-22 08:12:48 +01:00
Hugo Häggmark a9c33ab658 Moved ValueMapping logic and tests to separate files 2019-01-22 06:40:04 +01:00
Marcus Efraimsson 366e356e08 more auth token tests 2019-01-21 21:48:18 +01:00
Torkel Ödegaard 9c8dea062a Merge pull request #14975 from grafana/default-datasource-query-editor
Fix for default datasource query editor
2019-01-21 21:43:01 +01:00
Torkel Ödegaard 79bd7f4077 Fixed data source selection in explore 2019-01-21 21:36:30 +01:00
Torkel Ödegaard 018fef0400 Added refId to missing queries on panel model init 2019-01-21 20:35:24 +01:00
bergquist 777bd9ea18 adds cleanup job for old session tokens 2019-01-21 19:03:32 +01:00
Torkel Ödegaard db2a15daf0 Fixed loading of default query editor 2019-01-21 18:54:57 +01:00
Hugo Häggmark bbb7596113 Changed null logic for range value mappings after PR comments 2019-01-21 17:30:47 +01:00
Marcus Efraimsson f040f9a400 fix tests after renaming now 2019-01-21 16:53:00 +01:00
Hugo Häggmark 38ea11d110 Added check for null value in ValueMappings and added tests 2019-01-21 16:07:55 +01:00
Marcus Efraimsson 38efc1d7d2 s/print/log 2019-01-21 15:53:40 +01:00
bergquist 92620af75f avoid calling now() multiple times 2019-01-21 15:48:17 +01:00
Marcus Efraimsson dd8476d81a passing auth token tests 2019-01-21 15:06:33 +01:00
Torkel Ödegaard 96d28703f7 Merge pull request #14963 from grafana/hugoh/bug-viewers-can-edit-not-working-for-explore
Viewers can edit now means that viewers have access to Explore
2019-01-21 13:51:46 +01:00
Torkel Ödegaard 721e40db90 fixed trailing whitespace 2019-01-21 13:51:33 +01:00
Torkel Ödegaard c188a44ba8 Merge pull request #14969 from grafana/gotmetalinter-script
Gometalinter changes & megacheck fix
2019-01-21 13:49:35 +01:00
Torkel Ödegaard 778e1f78c2 Merge branch 'master' into hugoh/bug-viewers-can-edit-not-working-for-explore 2019-01-21 13:31:05 +01:00
Marcus Efraimsson 565408194a handle expired tokens 2019-01-21 13:22:20 +01:00
Torkel Ödegaard 829e3024ce fixed circleci script run path for gometalinter 2019-01-21 13:20:24 +01:00
Torkel Ödegaard f24e6ebf67 Fixed circleci name for gometalinter exec step 2019-01-21 13:10:00 +01:00
Torkel Ödegaard 37e917939a moved script and added exit_if_fail 2019-01-21 13:07:28 +01:00
Torkel Ödegaard d5e49845f3 Moved gometalinter to a script instead of seperate commands in circleci file, removed megacheck and added staticcheck 2019-01-21 13:03:05 +01:00
Dominik Prokop c8ec35ce1f Merge branch 'master' into tooling/storybook-poc 2019-01-21 12:20:10 +01:00
bergquist 697ddccd8e set userToken on request when logging in 2019-01-21 11:42:10 +01:00
bergquist 55b3013eb3 moves initWithToken to auth package 2019-01-21 11:37:44 +01:00
Marcus Efraimsson 734a7d38b2 set cookie name from configuration 2019-01-21 11:21:43 +01:00
Hugo Häggmark b95650d19c Added function hasAccessToExplore in ContextSrv and refactored tests 2019-01-21 10:50:34 +01:00
Marcus Efraimsson 766cfab374 change rotate time 2019-01-21 10:22:18 +01:00
Marcus Efraimsson 0d1e3759eb mixor fixes 2019-01-21 10:20:23 +01:00
Marcus Efraimsson f3125b447b dead code 2019-01-21 10:20:23 +01:00
Marcus Efraimsson 0495499b4f fix ip address parsing of loopback address 2019-01-21 10:20:23 +01:00
bergquist 2e97d39abe removes commented code 2019-01-21 10:01:48 +01:00
bergquist 47a7d93fd9 moves rotation into auth since both happens before c.Next() 2019-01-21 08:59:01 +01:00
Hugo Häggmark 9d6ac2c3d4 fix: Viewers can edit means that viewers have acces to Explore #14281 2019-01-21 08:47:41 +01:00
Andrej Ocenas 382a12c0fd Add loop counter for full refresh in playlist 2019-01-19 16:58:26 +01:00
Torkel Ödegaard d843044841 decreased panel height in edit mode 2019-01-19 08:31:20 +01:00
Torkel Ödegaard f94a6b2431 Merge pull request #14956 from grafana/query-editor-row-style-update
Query editor row style update & sass cleanup
2019-01-19 08:24:28 +01:00
Torkel Ödegaard 17aebf8462 Merge pull request #14955 from grafana/datasource-typings
Datasource typings
2019-01-19 08:24:06 +01:00
Torkel Ödegaard 4cbed807d6 toggle collapse when clicking on collapse state text 2019-01-19 08:22:56 +01:00
Torkel Ödegaard 16d476d228 Query editor row style update & sass cleanup 2019-01-18 19:22:40 +01:00
Torkel Ödegaard 12468c6033 Delete .all.ts@neomake_22624_74.ts 2019-01-18 19:14:22 +01:00
Torkel Ödegaard 5ab9a7c2b8 Further refinements of typings 2019-01-18 19:11:30 +01:00
Torkel Ödegaard 5d17ad1103 more typings work around data query and data source 2019-01-18 18:59:32 +01:00
Torkel Ödegaard 1d2902715f wip: progress on adding query types 2019-01-18 18:14:27 +01:00
Torkel Ödegaard a69f79caed wip: more typings 2019-01-18 17:43:58 +01:00
Torkel Ödegaard 98fabfae3e wip: typings 2019-01-18 17:23:00 +01:00
Torkel Ödegaard a231e57c08 Merge pull request #14954 from grafana/minor-style-change
Panel edit mode style tweaks
2019-01-18 16:41:16 +01:00
Torkel Ödegaard 4712a87733 Revert "Specify expected encoding for access/secret key" 2019-01-18 16:37:43 +01:00
Torkel Ödegaard 521c8f34f7 Moved add query button to the right 2019-01-18 15:29:58 +01:00
Pavel Bakulev 43c3d5b8ba Updated removing notification channel by uid 2019-01-18 16:26:23 +02:00
Pavel Bakulev c27bf6e688 Check that alert notification with id already exists in notification settings 2019-01-18 16:19:06 +02:00
Torkel Ödegaard 4c9046d6c0 Merge pull request #14951 from SamuelToh/14947_gitlab_doc_correction
14947: fixed incorrect flag
2019-01-18 15:10:32 +01:00
Torkel Ödegaard 8a4ce3e4cc Merge pull request #14945 from grafana/hugoh/bug-misalignment-of-explore-panels
Hack for getting the same height in splitted view
2019-01-18 15:09:17 +01:00
Torkel Ödegaard 916f9befa1 Merge pull request #14944 from grafana/explore-datasource-editor-fix
Fixed issue with explore angular query editor support
2019-01-18 14:40:17 +01:00
Torkel Ödegaard 90a324b456 Merge pull request #14953 from flopp999/patch-11
change enabled to true
2019-01-18 14:39:12 +01:00
flopp999 5f4e4a813d change enabled to true
if it is false it will not work
2019-01-18 14:06:15 +01:00
SamuelToh 69e3dc2d4f 14947: fixed incorrect flag 2019-01-18 22:46:43 +10:00
Torkel Ödegaard 453ca25847 Merge branch 'master' of github.com:grafana/grafana 2019-01-18 13:32:58 +01:00
Torkel Ödegaard a0eddad323 Merge pull request #14934 from grafana/hugoh/refactor-gauge-to-work-with-thresholds
Refactor gauge to work with thresholds
2019-01-18 13:24:52 +01:00
Torkel Ödegaard 46ff9dda71 Fixed scrollbar issue where it jumped to the top 2019-01-18 13:24:26 +01:00
Torkel Ödegaard 3a827fc2f1 Added test case dashboard 2019-01-18 13:12:32 +01:00
Hugo Häggmark 11944adc9c fix: Hack for getting the same height in splitted view, view could use refactor IMHO #14853 2019-01-18 12:03:16 +01:00
Torkel Ödegaard f16101101d Minor refactoring and name changes 2019-01-18 11:58:29 +01:00
Torkel Ödegaard f2498645d0 Fixed issue with explore angular query editor support introduced by recent angular query editor changes 2019-01-18 11:20:55 +01:00
Hugo Häggmark 4cc0be2568 Redid logic for fontcolor and thresholds in Gauge and added tests 2019-01-18 09:54:25 +01:00
Torkel Ödegaard bc8f3374a3 Merge pull request #14936 from grafana/plugin-types-refactor
Plugin types refactor
2019-01-18 08:21:29 +01:00
Hugo Häggmark c17ccf2289 Make sure we do not change -Infinity 2019-01-18 07:10:00 +01:00
Hugo Häggmark 5448b72f7c Passed the theme to Gauge 2019-01-18 06:57:00 +01:00
Hugo Häggmark 8ccf212f34 Added tests for formatted value 2019-01-18 06:40:30 +01:00
Hugo Häggmark 4f6e87bbbf Small refactor of Gauge and tests 2019-01-18 06:40:30 +01:00
Hugo Häggmark a6e2be862c Added typings and refactored valuemappings code 2019-01-18 06:40:30 +01:00
Hugo Häggmark 9a01f3e517 Moved Gauge to ui/components 2019-01-18 06:40:30 +01:00
Hugo Häggmark 554d010332 Preparing move to ui/viz 2019-01-18 06:40:30 +01:00
Hugo Häggmark 9dcf3d58ea Fixed getFontColor, added tests and fixed thresholds logic 2019-01-18 06:40:30 +01:00
Hugo Häggmark 533b938fcd Removed baseColor 2019-01-18 06:40:30 +01:00
sharkpc0813 35013a28cd add timeout test for alert handling. 2019-01-18 11:23:00 +09:00
bergquist fd937e3d95 remove maxage from session token 2019-01-17 21:03:27 +01:00
Marcus Efraimsson 81879f0162 fix broken code 2019-01-17 20:29:26 +01:00
Marcus Efraimsson 97c7963f17 fix cannot set cookie when response is written 2019-01-17 20:27:53 +01:00
Torkel Ödegaard 20c8b9c4a0 began work on react query editor props and integration 2019-01-17 20:02:43 +01:00
Torkel Ödegaard 205e2acdd8 Added data source type to explore state 2019-01-17 19:17:29 +01:00
Torkel Ödegaard a6f6ed4191 updated snapshot 2019-01-17 19:04:53 +01:00
Torkel Ödegaard ecab597e5e renaming DataSource type to DataSourceSettings and moved to grafana ui 2019-01-17 18:51:07 +01:00
Torkel Ödegaard e89746c3d0 Merge pull request #14920 from grafana/12133-autofill-event-hack
iOS login button should be enabled when using browser autofill
2019-01-17 18:41:24 +01:00
Torkel Ödegaard df0f654da6 Merge pull request #14937 from grafana/fixed-teams-user-picker
Fixed issue with team and user picker
2019-01-17 18:41:04 +01:00
Torkel Ödegaard 32f917557f Fixed issue with team and user picker, fixes #14935 2019-01-17 18:03:46 +01:00
Torkel Ödegaard febb9e7168 Moved data source and data query types 2019-01-17 17:59:47 +01:00
Torkel Ödegaard 4fc9d794ca Moved plugin types to @grafana/ui 2019-01-17 17:37:34 +01:00
Marcus Efraimsson 8b3fe41b0a log fix 2019-01-17 17:32:33 +01:00
bergquist c2accfa4c0 inital code for rotate 2019-01-17 17:11:52 +01:00
Torkel Ödegaard a201c76c5f wip: moved plugin exports 2019-01-17 17:04:24 +01:00
Leonard Gram dce180e8ac Merge pull request #14924 from xlson/repo-update-improvements
Repo update stability improvements
2019-01-17 16:56:10 +01:00
Leonard Gram aafa66f644 build: usage instruction for repo test. 2019-01-17 16:55:12 +01:00
Leonard Gram a95fe15437 build: comments 2019-01-17 16:42:27 +01:00
Torkel Ödegaard dfe1b20f3d Merge pull request #14930 from grafana/react-query-editor
React query editor (part1)
2019-01-17 15:41:12 +01:00
Torkel Ödegaard 3cb73e7948 Minor fix scrollpos when duplicating 2019-01-17 15:11:38 +01:00
Torkel Ödegaard a6683dd90e Merge branch 'master' into react-query-editor 2019-01-17 14:57:49 +01:00
David 6f6c4652dc Merge pull request #14928 from grafana/davkal/14926-loki-missing
Explore: Fix datasource selector being empty with single datasource
2019-01-17 14:49:55 +01:00
Torkel Ödegaard c913263b23 Merge pull request #14875 from grafana/page-layout-component
CustomScrollbar on all-React-pages
2019-01-17 14:49:19 +01:00
Torkel Ödegaard bfadcd2968 Merge branch 'master' into page-layout-component 2019-01-17 14:48:54 +01:00
Leonard Gram a585a919b3 build: updates ci deploy. 2019-01-17 14:42:20 +01:00
Leonard Gram 9ecfc39ba5 build: fixes the path for gsutil and gcloud. 2019-01-17 14:02:10 +01:00
Torkel Ödegaard 7c22848cf6 Merge pull request #14897 from grafana/14812/formgroup-component
FormField component
2019-01-17 13:43:14 +01:00
Leonard Gram 18004562a6 build: fixes permissions issue. 2019-01-17 13:40:40 +01:00
Torkel Ödegaard 3047579cdd removed unused props from angular query component interface 2019-01-17 13:27:01 +01:00
Torkel Ödegaard f041928e58 Additional query editor row tweaks 2019-01-17 13:15:25 +01:00
Torkel Ödegaard cc4564cf8b Query editor row in react is working 2019-01-17 13:08:20 +01:00
Peter Holmberg 3ce45e7154 shortening callback functions 2019-01-17 11:57:15 +00:00
David Kaltschmidt 648a775acb Explore: Fix datasource selector being empty with single datasource
- The "missing" action was triggered unless the number of datasource >1 🤦
- Made datasource preselection more robust in case the requested datasource is already gone
2019-01-17 12:07:42 +01:00
Torkel Ödegaard 548708a8d3 Scroll to top when visualization picker is opened 2019-01-17 11:27:32 +01:00
Torkel Ödegaard 9cb49d14cd Made scrollbar have scrollTop and setScrollTop props so we can control scroll position 2019-01-17 11:25:44 +01:00
Leonard Gram d71f1bf4bc build: only build amd64 for enterprise. 2019-01-17 11:00:34 +01:00
Daniel Lee 44c07eb2e9 azuremonitor: guard for when switching from monaco editor
before it has fully loaded.
2019-01-17 10:55:03 +01:00
Daniel Lee dd96f2a522 azuremonitor: move files into grafana
Initial port of the code from the plugin - lots of small things to fix.
2019-01-17 10:55:03 +01:00
Marcus Efraimsson af8425da08 Merge pull request #14918 from ScottBrenner/patch-1
cloudwatch.md - quick typo fix
2019-01-17 10:50:05 +01:00
Torkel Ödegaard bc956057c3 Query editor row react progress, buttons working 2019-01-17 10:26:08 +01:00
Leonard Gram 7ac859715d build: test script for rpm repo. 2019-01-17 10:17:59 +01:00
Johannes Schill 1dfabf498a chore: Replace the deprecated SFC with FC 2019-01-17 09:27:43 +01:00
Johannes Schill 71121e1dbe chore: Wrap footer with React's memo hoc 2019-01-17 09:15:47 +01:00
Johannes Schill 00646b80c6 chore: Reduce code duplication by letting the page component adding the header and taking care of the page title 2019-01-17 09:01:17 +01:00
Torkel Ödegaard 5681370680 mini stylefix to select component 2019-01-17 08:40:23 +01:00
Scott Brenner a6a70db066 cloudwatch.md - quick typo fix
"you grafana" ➡️ "your Grafana"
2019-01-16 22:03:29 -08:00
Peter Holmberg 736db86d6e removing Label and going with FormLabel 2019-01-16 18:02:27 +00:00
Dominik Prokop c08313842c Use light theme in storybook 2019-01-16 18:22:08 +01:00
Torkel Ödegaard 6a66d462aa Toggle edit mode works 2019-01-16 17:53:40 +01:00
bergquist aba6148c43 login users based on token cookie 2019-01-16 16:44:40 +01:00
Johannes Schill 234713466e test: Update snapshots and mocks 2019-01-16 16:29:07 +01:00
Leonard Gram cae2bdf994 build: deb repo update test usage instructions. 2019-01-16 16:18:10 +01:00
Johannes Schill 3ca7523a02 fix: Use Page component on "Api Keys" and "Preferences" under Configuration 2019-01-16 16:16:19 +01:00
Leonard Gram 38bcb88d8a build: uploads binaries before metadata in deb repo. 2019-01-16 16:05:45 +01:00
Johannes Schill feeb3ea56d feat: Generate page titles from navModel 2019-01-16 16:03:15 +01:00
Johannes Schill 25304629bd test: Updated snapshots 2019-01-16 16:03:15 +01:00
Johannes Schill 6bd87098cf chore: Better way of getting the body node 2019-01-16 16:03:15 +01:00
Johannes Schill 1e80bac2d2 chore: Reactify footer 2019-01-16 16:03:15 +01:00
Johannes Schill d426981d1d fix: Add Pages component to Plugins and TeamList 2019-01-16 16:03:15 +01:00
Johannes Schill b2961a4b4a fix: Configuration: Users should also use the Page component 2019-01-16 16:03:15 +01:00
Johannes Schill 06d8243ab5 feat: Possibility to change document title on pages using the Page component 2019-01-16 16:03:15 +01:00
Johannes Schill 8237c22e24 fix: Add CustomScroller on DataSources page 2019-01-16 16:03:15 +01:00
Johannes Schill 47d86ee818 fix: Proper types for linter 2019-01-16 16:01:42 +01:00
Johannes Schill 9e0e91a90a test: Snapshot update 2019-01-16 16:01:42 +01:00
Johannes Schill 1d8e036bcb fix: Fix import path after Scrollbar move to @grafana/ui 2019-01-16 16:01:42 +01:00
Torkel Ödegaard 7f4a479451 POC of page layout component 2019-01-16 16:01:42 +01:00
Pavel Bakulev 6a8e39ba17 Added uid to AlertNotification json 2019-01-16 16:52:00 +02:00
Pavel Bakulev f461d52004 Converted notification id to uid via fmt for old alert notification settings 2019-01-16 16:52:00 +02:00
Pavel Bakulev 2de32756c2 Returned id for alert notifications which were created without uid 2019-01-16 16:52:00 +02:00
Pavel Bakulev 4bcace567b Formatted errors to err 2019-01-16 16:50:00 +02:00
Pavel Bakulev d0370ea7ad Using func InitNotifier for verifying notification settings 2019-01-16 16:50:00 +02:00
Pavel Bakulev f132e929ce Added uid for alert notifications 2019-01-16 16:50:00 +02:00
Pavel Bakulev 6d1ec19fe9 Renamed validation funcs for alert notification 2019-01-16 16:45:42 +02:00
Pavel Bakulev 7b09dd38d8 Commented alert_notifications sample config 2019-01-16 16:45:42 +02:00
Pavel Bakulev 5c10a897f8 Instantiating notifiers from config before using 2019-01-16 16:45:42 +02:00
Pavel Bakulev e1b87fc597 Added parameter org_name of alert notification to documentation 2019-01-16 16:45:42 +02:00
Pavel Bakulev 4fa45253cf Added orgName parameter for alert_notifications 2019-01-16 16:45:42 +02:00
Pavel Bakulev 6e3e9a337d Added alert_notification configuration 2019-01-16 16:45:42 +02:00
Peter Holmberg 01251927b3 redoing input props 2019-01-16 14:43:22 +00:00
Pavel 8011a6f45b Merge pull request #6 from grafana/master
Updating master
2019-01-16 16:35:59 +02:00
Torkel Ödegaard 8fef2138b2 another minor style change 2019-01-16 15:35:32 +01:00
Peter Holmberg 0d95527924 Merge branch 'master' into 14812/formgroup-component 2019-01-16 14:27:47 +00:00
Torkel Ödegaard 05b82bede3 More style tweaks to thresholds 2019-01-16 15:13:59 +01:00
Johannes Schill a558e76a68 fix: Manually trigger a change-event when autofill is used in webkit-browsers #12133 2019-01-16 15:10:37 +01:00
Peter Holmberg 4c4e88910d move styling 2019-01-16 13:52:38 +00:00
Peter Holmberg 4c40274313 renaming after pr feedback 2019-01-16 13:46:57 +00:00
Torkel Ödegaard cc8b450799 minor style change 2019-01-16 14:36:01 +01:00
Torkel Ödegaard ff8592d1fe Merge pull request #14909 from grafana/hugoh/move-valuemappings-to-ui-components
Move ValueMappings to UI Components
2019-01-16 14:10:25 +01:00
Torkel Ödegaard 166e5edebd wip: testing new query editor row design 2019-01-16 14:00:29 +01:00
Hugo Häggmark 8df11e93a1 Removed snapshot 2019-01-16 12:46:43 +01:00
Hugo Häggmark 013d46b707 Refactored ValueMappings 2019-01-16 12:29:43 +01:00
Hugo Häggmark c90979a8f0 Moved ValueMappings to grafana/ui/component and renamed it ValueMappingsEditor 2019-01-16 12:29:04 +01:00
Hugo Häggmark 639dc6c3c3 Moved Label to grafana/ui/components 2019-01-16 12:29:04 +01:00
Torkel Ödegaard 4bad76c0f4 Merge branch 'master' into react-query-editor 2019-01-16 12:23:25 +01:00
Torkel Ödegaard 6edc4e9f02 Merge pull request #14898 from grafana/hughag/template-variable-support-for-react-panels
Template variable support for react panels
2019-01-16 11:39:30 +01:00
David 25e6d075ab Merge pull request #14821 from grafana/davkal/explore-redux
Explore: Redux migration
2019-01-16 11:13:30 +01:00
Leonard Gram b3512f43a3 build: repo update testable and more robus.
- adds script for integration testing
- package path parameterized
- more robust updates
2019-01-16 11:11:00 +01:00
Dominik Prokop 6d3e6b1fcb Experimenting with generating doc for ui component 2019-01-16 10:27:09 +01:00
David Kaltschmidt 9575a4a2c0 Move action properties to payload 2019-01-16 10:21:11 +01:00
Torkel Ödegaard 824a9a85db Merge pull request #14890 from grafana/14871-unit-picker-scroll-issue
fix: It should be possible to scroll in the unit picker before select…
2019-01-16 09:53:30 +01:00
Hugo Häggmark 45a08792be Fixed small bug with entries outside the min max values 2019-01-16 09:50:05 +01:00
Hugo Häggmark f16a2c0f48 Fixed NaN issue when parsing 2019-01-16 09:50:05 +01:00
Hugo Häggmark 38c0e91666 Remove BasicGaugeColor from state 2019-01-16 09:50:05 +01:00
Hugo Häggmark 0b1aea905a Fixed so that we can not change base threshold 2019-01-16 09:50:05 +01:00
Hugo Häggmark aaaf3f7ff1 Fixed so added threshold colors are always unique 2019-01-16 09:50:05 +01:00
Hugo Häggmark 2836bc2a13 Fixed issue with changing value not changing index 2019-01-16 09:50:05 +01:00
Hugo Häggmark 92a1b55a4a Fixed styling for small screens 2019-01-16 09:50:05 +01:00
Hugo Häggmark ad1505b346 Reordered the input row 2019-01-16 09:50:05 +01:00
Hugo Häggmark 39c672cb1f Fixed the circle 2019-01-16 09:50:05 +01:00
Hugo Häggmark 7934116e5c Fixed styling 2019-01-16 09:50:05 +01:00
Hugo Häggmark a431efa0da Refactored logic in ThresholdEditor 2019-01-16 09:50:05 +01:00
Torkel Ödegaard 030d20d90d Merge pull request #14896 from grafana/scrollbar-select-fix
Scrollbar select fix
2019-01-16 09:46:10 +01:00
Carl Bergquist f9560f949d Merge pull request #14885 from bergquist/remove_log2
removes global log 2 functions
2019-01-16 09:34:40 +01:00
David Kaltschmidt 6ff15039a9 File organization, action naming, comments
- moved ActionTypes to `./state/actionTypes`
- renamed click-related actions
- added comments to actions and state types
- prefixed Explore actions with `explore/`
- fixed query override issue when row was added
2019-01-15 20:04:05 +01:00
David Kaltschmidt 9aede9e636 Fix reducer issues 2019-01-15 20:04:03 +01:00
David Kaltschmidt 546a3a9d98 Connect Explore child components to store 2019-01-15 20:04:01 +01:00
David Kaltschmidt 607f7c25de Update comments 2019-01-15 20:03:59 +01:00
David Kaltschmidt f02f41c9b0 Move types to types/explore 2019-01-15 20:03:57 +01:00
David Kaltschmidt be172d3e4a Save state in URL and fix tests 2019-01-15 20:03:55 +01:00
David Kaltschmidt 68c039b289 Allow multiple Explore items for split 2019-01-15 20:03:53 +01:00
David Kaltschmidt 2be2deddb8 WIP Explore redux migration 2019-01-15 20:03:51 +01:00
Hugo Häggmark 5c9c024475 Fixed a bug with prefix and suffix not showing when using value mappings 2019-01-15 18:41:04 +01:00
Peter Holmberg 83fbf52aac fixing imports, minor fix on mapping row 2019-01-15 17:33:42 +00:00
Peter Holmberg 58094faa12 test and minor fix on mapping row 2019-01-15 17:31:42 +00:00
Torkel Ödegaard 9bf3d49393 updated snapshot 2019-01-15 18:26:21 +01:00
Peter Holmberg 219da09f0e Merge branch 'master' into 14812/formgroup-component 2019-01-15 17:19:13 +00:00
Hugo Häggmark 6bb2d5ff24 Added suffix interpolation 2019-01-15 18:05:55 +01:00
Torkel Ödegaard 7105d16131 Scrollbar select fix 2019-01-15 18:02:05 +01:00
Dominik Prokop b7451bc774 Merge pull request #14894 from grafana/grafana-ui/move-spectrum
Move ColorPicker leftovers to @grafana/ui
2019-01-15 17:57:24 +01:00
Dominik Prokop 8cfa2c00d1 Remove duplicated import 2019-01-15 17:35:24 +01:00
Hugo Häggmark 1faa5819a8 Initial commit 2019-01-15 17:15:46 +01:00
Daniel Lee 3bdd4a5c33 changelog: adds note for #14795 2019-01-15 17:14:58 +01:00
Daniel Lee 8e771f9a8f Merge pull request #14876 from grafana/davkal/14795-annotation-step
Prometheus: Fix annotation step calculation
2019-01-15 17:12:07 +01:00
Dominik Prokop 2991b64b60 Merge branch 'grafana-ui/move-spectrum' into tooling/storybook-poc 2019-01-15 16:14:01 +01:00
Dominik Prokop 89a0d1090d Move ColorPicker leftovers to @grafana/ui 2019-01-15 15:43:17 +01:00
Marcus Efraimsson 8764fb5aa6 inject login/logout hooks 2019-01-15 15:16:20 +01:00
Marcus Efraimsson b0df7280be begin user auth token implementation 2019-01-15 15:16:20 +01:00
Marcus Efraimsson e08f61059b utils 2019-01-15 15:16:20 +01:00
Johannes Schill d59f1fe629 fix: It should be possible to scroll in the unit picker before selecting a value #14871 2019-01-15 14:15:04 +01:00
bergquist 3cd0cb3d3f removes debug2 logging 2019-01-15 11:52:39 +01:00
bergquist 1b6203e430 removes error2 logger 2019-01-15 11:49:18 +01:00
Torkel Ödegaard 33feb26fb5 WIP: good progress on react query editor support 2019-01-15 11:40:12 +01:00
Leonard Gram d907b1ec6b Updates to latest checking. 2019-01-15 11:00:45 +01:00
Leonard Gram 85c68cc734 5.4.3 changelog 2019-01-15 10:49:53 +01:00
bergquist 1c0a385df1 changelog: adds ntoe about closing #12864 2019-01-15 10:37:56 +01:00
Carl Bergquist 1a7eb2f462 Merge pull request #14868 from bergquist/provisioning_inifinite_loop
Avoid infinite loop in the dashboard provisioner
2019-01-15 10:34:18 +01:00
sharkpc0813 e172bade40 fix that alert context and result handle context do not use the same derived context. 2019-01-15 17:51:50 +09:00
Daniel Lee 191f603459 docs: add a title to the Explore docs 2019-01-15 09:36:23 +01:00
Leonard Gram f5e0d02eb8 Merge pull request #14872 from xlson/build-fixes
build: fixes release problems.
2019-01-15 09:35:32 +01:00
Daniel Lee 16881f64dd Merge pull request #14751 from grafana/reactify-stackdriver
Reactify stackdriver
2019-01-15 00:08:56 +01:00
Daniel Lee 7b1aed6caf stackdriver: converts some variables from any to types 2019-01-14 23:43:31 +01:00
Peter Holmberg ac62e4a992 FormGroup component and implements 2019-01-14 22:09:06 +00:00
Torkel Ödegaard 0941097dc4 Merge pull request #14880 from grafana/restored-http-settings
Restored http settings directive that was hidden in an unused angular controller
2019-01-14 21:44:30 +01:00
Torkel Ödegaard 6b4dcb38ea Restored http settings directive that was hidden in an unused angular controller page 2019-01-14 21:21:58 +01:00
Daniel Lee 18abb87cbb stackdriver: small fixes after reactifying 2019-01-14 18:23:01 +01:00
Leonard Gram 03c6cc59a7 changelog 2019-01-14 18:01:19 +01:00
Daniel Lee b4a51ad7ce stackdriver: add help text for bucket alias 2019-01-14 17:52:06 +01:00
David Kaltschmidt ce3117507a Prometheus: Fix annotation step calculation
- since e731c248d7 step calculation for
annotation queries was broken
- this change puts the interval in the correct parameter so it gets
considered in `createQuery`
- added tests
2019-01-14 17:40:47 +01:00
Daniel Lee d7a3f91b3c stackdriver: fixes space before caret icon in query editor 2019-01-14 17:25:43 +01:00
Torkel Ödegaard b0aa1bc71c Merge pull request #14874 from coder-salman/patch-1
Fixed Syntax for folder permission's JSON
2019-01-14 17:02:48 +01:00
Mohammed Salman Khan aa799c6f0b Fixed Syntax for folder permission's JSON 2019-01-14 10:53:16 -05:00
bergquist 8880829eda avoid infinite loop in the dashboard provisioner
if one dashboard with an uid is refered to by two
provsioners each provsioner overwrite each other.
filling up dashboard_versions quite fast if using
default settings.

ref #12864
2019-01-14 16:38:39 +01:00
Leonard Gram 7b43b9e272 build: fixes release problems. 2019-01-14 16:23:48 +01:00
Marcus Efraimsson 7da544a52b changelog: add notes about closing #5968 2019-01-14 16:03:30 +01:00
Marcus Efraimsson 130e4aa666 Merge pull request #14608 from marefr/es_bucket_script
Fix support bucket script pipeline aggregations
2019-01-14 15:58:42 +01:00
Daniel Lee a2f6c503a2 Merge remote-tracking branch 'origin/master' into reactify-stackdriver 2019-01-14 15:48:13 +01:00
Torkel Ödegaard 0260c779e8 wip: another wip commit 2019-01-14 15:44:58 +01:00
Torkel Ödegaard 23f84ba5c5 Merge branch 'master' into react-query-editor 2019-01-14 15:39:05 +01:00
Torkel Ödegaard 574760c7e1 Merge pull request #14869 from grafana/clean-ups-and-moves
Clean ups and moves
2019-01-14 15:38:28 +01:00
Dominik Prokop ad9c96abb5 Merge branch 'master' into tooling/storybook-poc 2019-01-14 15:26:13 +01:00
Torkel Ödegaard c41171d451 Merge pull request #14859 from grafana/fix/gauge-sizing
Fixed Gauge being cropped when resizing panel
2019-01-14 15:21:42 +01:00
Torkel Ödegaard 827a292777 Moved panel editing components to it's own folder 2019-01-14 15:17:48 +01:00
Torkel Ödegaard b9a3239edb removed old unused angular stuff, rename 2019-01-14 15:01:47 +01:00
Torkel Ödegaard 0644410b99 wip: react query editors 2019-01-14 14:55:22 +01:00
Torkel Ödegaard bcf88f6157 Merge pull request #14867 from grafana/value-format-fixes2
Updated singlestat to use new value format function signature
2019-01-14 14:50:17 +01:00
Dominik Prokop 0c8f0416a0 Move panel width/height calculation to PanelChrome 2019-01-14 14:47:41 +01:00
Torkel Ödegaard 37c5ced009 Updated singlestat to use new value format function syntax and capitalized unit categories, fixes #12871 2019-01-14 14:03:08 +01:00
Leonard Gram b1f5a232da build: build specific enterprise version when releasing. 2019-01-14 13:43:59 +01:00
Dominik Prokop b3b1c21d77 Fixed Gauge being cropped when resizing panel
Enabled import of SASS viariables into TS
2019-01-14 09:45:55 +01:00
Torkel Ödegaard 46f2808eaf Merge pull request #14849 from grafana/panel-option-section
WIP: Panel option section moved to grafana-ui and new panel option grid
2019-01-14 09:44:33 +01:00
Torkel Ödegaard 9d4354b7c9 Merge pull request #14857 from grafana/14851-velocity-units
units: adds back velocity units.
2019-01-14 08:30:02 +01:00
Daniel Lee 1fea09ba54 units: adds back velocity units. Fixes #14851 2019-01-13 23:37:53 +01:00
bergquist db448b5d53 Merge branch 'fredbcode-master'
* fredbcode-master:
  Fix bug tls renegociation problem in Notification channel (webhook) #14800
2019-01-13 21:43:47 +01:00
fredbcode 110ffb69de Fix bug tls renegociation problem in Notification channel (webhook) #14800 2019-01-13 21:42:33 +01:00
Carl Bergquist 9793c08613 Merge pull request #14855 from papagian/14841-api-error-unexisting-alert-notification
Fix Error 500 on unexisting /api/alert-notification/<id>
2019-01-13 21:05:54 +01:00
Sofia Papagiannaki 8def73ba13 Fix Error 500 on unexisting /api/alert-notification/<id> 2019-01-13 21:30:20 +02:00
Torkel Ödegaard 9e0f961fd5 updated snapshot 2019-01-13 12:51:21 +01:00
Torkel Ödegaard c11ec79056 Minor renames and other fixes 2019-01-13 12:42:21 +01:00
Torkel Ödegaard 8f5300dd2a Merge pull request #14848 from grafana/grafana-ui-simple-layout
Simplified folder structure in grafana-ui lib
2019-01-12 21:47:07 +01:00
Torkel Ödegaard 5b59d59afa panel option section moved to grafana-ui and new panel option grid component 2019-01-12 21:43:41 +01:00
Torkel Ödegaard 9c54da8f5d Simplified folder structure in grafana-ui lib 2019-01-12 20:43:15 +01:00
Torkel Ödegaard 1cc6d0e787 Merge pull request #14716 from grafana/kbn-formats-refactor
WIP: Move value formats to @grafana/ui
2019-01-12 19:43:08 +01:00
Torkel Ödegaard 10bbb32d00 Merge pull request #14842 from grafana/time-overrides-test
Panel time override tests
2019-01-12 19:36:23 +01:00
Dominik Prokop 7289e6e500 Addedd assertions about raw time range when panel time overriden 2019-01-11 16:49:29 +01:00
Dominik Prokop c3fdc1a0fb Panel time override tests 2019-01-11 16:21:44 +01:00
Erik Sundell b6171fa3c7 add feedback to what interval is being used (calculated in the backend) 2019-01-11 15:14:35 +01:00
Erik Sundell e73d363129 Merge remote-tracking branch 'origin/master' into reactify-stackdriver
# Conflicts:
#	public/app/core/angular_wrappers.ts
#	yarn.lock
2019-01-11 15:12:29 +01:00
Torkel Ödegaard ba9d5115d2 Merge branch 'master' into kbn-formats-refactor 2019-01-11 14:33:04 +01:00
Erik Sundell b596550210 use typings for ds and template srv 2019-01-11 13:53:04 +01:00
Torkel Ödegaard 9e6411bf4b value formats: another rename and updates code to use new valueFormats func 2019-01-11 13:31:25 +01:00
Hugo Häggmark f5ae40cf54 Merge pull request #14811 from grafana/move-threshold-component-to-ui-components
Moved Thresholds and styles to grafana/ui/components
2019-01-11 12:14:09 +01:00
Hugo Häggmark d97cd450c9 Merge 2019-01-11 11:41:08 +01:00
Torkel Ödegaard 8aae6e8c09 value formats: renamed folder 2019-01-11 11:31:40 +01:00
Hugo Häggmark d2b71cff37 Reverted move of defaults for GaugePanelOptions 2019-01-11 11:25:49 +01:00
Torkel Ödegaard bc78c8d56e Merge pull request #14817 from grafana/grafana-ui/select
Migrate Select components to @grafana/ui
2019-01-11 11:13:12 +01:00
Erik Sundell 3871ef29f9 refactoring alias by 2019-01-11 10:29:53 +01:00
Dominik Prokop 391253ee2d Merge branch 'master' into grafana-ui/select 2019-01-11 09:52:26 +01:00
Dominik Prokop 537e2534a6 Move Select styles to grafana/ui 2019-01-11 09:50:05 +01:00
Torkel Ödegaard 11ad92c08e Merge pull request #14831 from grafana/fix/time-range-overrides
Fix panel time overrides not being applied fully
2019-01-11 09:38:15 +01:00
Torkel Ödegaard fda0f92cf9 Merge pull request #12991 from pgiraud/repeat_min_span
Repeating panels - Max per row
2019-01-11 09:31:21 +01:00
Torkel Ödegaard 5d53f7e68b Merge pull request #14834 from grafana/14793/loading-placeholder-to-grafanaui
Loading placeholder to grafanaui
2019-01-11 09:25:34 +01:00
Hugo Häggmark 5ceedc4ac4 Moved defaultProps to ui/components 2019-01-11 09:16:53 +01:00
Torkel Ödegaard 6d669e2c74 Merge branch 'master' into 14793/loading-placeholder-to-grafanaui 2019-01-11 09:10:49 +01:00
Hugo Häggmark 0b8165fee2 Merge branch 'move-threshold-component-to-ui-components' of https://github.com/grafana/grafana into move-threshold-component-to-ui-components 2019-01-11 08:46:59 +01:00
Hugo Häggmark c54ec5f52f Moved the rest of Threshold dependencies to ui/components 2019-01-11 08:30:30 +01:00
Hugo Häggmark c05b92c2e0 Renamed Threshold files 2019-01-11 07:14:28 +01:00
Hugo Häggmark 0b6e21e9ac Renamed Thresholds to ThresholdsEditor 2019-01-11 07:12:53 +01:00
Hugo Häggmark 1581662a6c Moved Thresholds and styles to grafana/ui/components 2019-01-11 07:11:40 +01:00
Hugo Häggmark dc9b83030f Removed default export for colors 2019-01-11 07:03:12 +01:00
Hugo Häggmark 6f2bbb7378 Fixed typings 2019-01-11 07:03:12 +01:00
Hugo Häggmark 37dae043d7 Small change in SeriesColorPickerPopoverProps 2019-01-11 07:03:12 +01:00
Hugo Häggmark d376fae393 Moved colorpicker to ui/components 2019-01-11 07:03:12 +01:00
Peter Holmberg 2f0ab99ae5 Fixing test and small refactor 2019-01-10 22:15:37 +00:00
Peter Holmberg 08ac2959a4 Moving to grafana ui, fix issue with TestRuleResult 2019-01-10 21:47:09 +00:00
Torkel Ödegaard 7e106b0f49 Merge pull request #14805 from SamuelToh/11503_prevent_end_of_regexpr
11503: escape measurement filter regex value
2019-01-10 20:29:07 +01:00
Dominik Prokop 60fadcf1e5 Fix panel time overrides not being applied fully
When both relative and time shift were applied, only time shift was taken into consideration
2019-01-10 20:15:03 +01:00
Erik Sundell b64115e5f5 access scope directly from this. update tests 2019-01-10 17:18:24 +01:00
Leonard Gram 0f82fffed6 build: makes sure all builds use the latest container. 2019-01-10 16:52:21 +01:00
Leonard Gram cdfdc676ae changelog: docker images for arm. 2019-01-10 16:50:36 +01:00
Dominik Prokop d322717f3e Renamed Select related components: Picker* to Select*, Option* to SelectOption* 2019-01-10 15:21:11 +01:00
Carl Bergquist 0a98306e4b Merge pull request #14813 from bergquist/zero_frequency
Make sure that frequency is never set to zero
2019-01-10 15:20:01 +01:00
Leonard Gram c22ef628f3 build: removes curl install from build. 2019-01-10 15:12:43 +01:00
Leonard Gram a82f0ed393 build: tags arm as well as amd64 as latest. 2019-01-10 14:41:02 +01:00
Johannes Würbach 702d449001 Docker image for ARM 2019-01-10 14:41:02 +01:00
Dominik Prokop 53f0f08efa Fixing TS and updating snapshot 2019-01-10 14:24:24 +01:00
bergquist fbb3ad5fc4 make sure frequency cannot be zero
frequency set to zero causes division by zero
panics in the alert schedular.

closes #14810
2019-01-10 14:17:10 +01:00
Erik Sundell 6a2f5eb61e refactoring. fix broken test 2019-01-10 13:49:11 +01:00
Dominik Prokop 7819529d45 Migrate Select components to @grafana/ui 2019-01-10 13:29:53 +01:00
Erik Sundell 5fed50713d provide angular directive scope props correctly 2019-01-10 12:02:38 +01:00
Daniel Lee 96759e39a6 docker: enable flux in influxdb docker block 2019-01-10 09:47:39 +01:00
Hugo Häggmark 5fc0766341 Moved Thresholds and styles to grafana/ui/components 2019-01-10 09:37:32 +01:00
Torkel Ödegaard 1dc1af7e00 Update README.md 2019-01-10 08:37:40 +01:00
Torkel Ödegaard 322a3efb25 Merge pull request #14779 from grafana/tooling/ignore-not-found-export-warnings
Removes unnecessary warnings from webpack output about missing exports
2019-01-10 07:25:35 +01:00
Torkel Ödegaard 4c42db9e95 Merge pull request #14804 from SamuelToh/4075_support_templatevar_on_alias_es_ds
4075: Interpolate tempvar on alias
2019-01-10 07:24:17 +01:00
Torkel Ödegaard b25214bfe1 Merge pull request #14786 from grafana/14729-move-testrulebutton-to-toolbar
14729 move testrulebutton to toolbar
2019-01-10 07:11:45 +01:00
SamuelToh 9e3ab71e40 11503: escape measurement filter regex value 2019-01-10 10:47:22 +10:00
SamuelToh e1f6870fce 4075: Interpolate tempvar on alias 2019-01-10 09:53:06 +10:00
Peter Holmberg 31d35a6884 rename 2019-01-09 22:21:42 +00:00
Peter Holmberg 13e6d2c5cb fixing unitpicker 2019-01-09 22:05:29 +00:00
Peter Holmberg 78fe2db5e5 removing tests 2019-01-09 21:35:01 +00:00
Peter Holmberg cf4f98857a Merge branch 'master' into move-value-formats 2019-01-09 21:13:53 +00:00
Torkel Ödegaard 032d69fc21 Merge pull request #14801 from grafana/reorganize-gauge-panel
Minor refactor of Gauge panel
2019-01-09 18:26:17 +01:00
Torkel Ödegaard ddaec8db58 Merge pull request #14796 from grafana/14271-tooltip-themes
feat: Tooltip theme and use it on panel edit tabs
2019-01-09 17:36:49 +01:00
Dominik Prokop cdc99e129f React graph panel options component rename 2019-01-09 17:21:14 +01:00
Dominik Prokop 1618e90844 Minor refactor of Gauge panel 2019-01-09 17:00:10 +01:00
Leonard Gram 13a962cc50 Revert "Docker image for ARM"
This reverts commit 5f7e6a5c73.
2019-01-09 16:25:07 +01:00
Leonard Gram a237a495b0 Revert "build: fixes docker push."
This reverts commit be57f6878c.
2019-01-09 16:25:07 +01:00
Leonard Gram be57f6878c build: fixes docker push. 2019-01-09 15:52:04 +01:00
Johannes Schill d8a91fa355 feat: Add brand as tooltip theme and use it on panel edit tabs #14271 2019-01-09 15:36:53 +01:00
Johannes Würbach 5f7e6a5c73 Docker image for ARM 2019-01-09 15:09:13 +01:00
Torkel Ödegaard ba19773347 Merge pull request #14792 from grafana/adios-scrollbar
chore: Remove ScrollBar component, superseded by CustomScrollbar
2019-01-09 14:51:33 +01:00
Erik Sundell 23996b364e fix broken test 2019-01-09 14:44:47 +01:00
Erik Sundell 92121cacd1 Merge remote-tracking branch 'origin/master' into reactify-stackdriver
# Conflicts:
#	yarn.lock
2019-01-09 14:33:41 +01:00
Johannes Schill 6ab1abc131 chore: Remove ScrollBar component, superseded by CustomScrollbar 2019-01-09 14:02:22 +01:00
Dominik Prokop 602bbcb0db Update storybook static files option to load statics correctly 2019-01-09 14:01:46 +01:00
Erik Sundell d51f91f54b unregister event listener correctly 2019-01-09 13:56:15 +01:00
Torkel Ödegaard 2d16c29a1a Merge pull request #14766 from grafana/fix-toggle-button-group-corners
Fix toggle button group corners
2019-01-09 13:41:40 +01:00
Hugo Häggmark 236d7b1213 Changes after PR comments 2019-01-09 13:20:50 +01:00
Dominik Prokop 525367c591 Merge branch 'master' into fix-toggle-button-group-corners 2019-01-09 13:15:34 +01:00
Dominik Prokop 6e3225c29e Removed unused refClassNameprops from Propper 2019-01-09 13:09:26 +01:00
Torkel Ödegaard 34c4e245f3 Merge pull request #14775 from grafana/14759-customscrollbar2grafanaui
chore: Move CustomScrollbar to @grafana/ui #14759
2019-01-09 12:28:30 +01:00
Torkel Ödegaard d248643881 Merge pull request #14774 from grafana/14773-light-theme-page-bg
Changed light-theme page background gradient
2019-01-09 11:52:58 +01:00
Hugo Häggmark 67e8958aec Fixed a small bug when toggling items in toolbar 2019-01-09 11:49:17 +01:00
Leonard Gram ad61bff377 build: deploys enterprise to its own repo. 2019-01-09 11:42:55 +01:00
Leonard Gram 76e9607b25 build: inline docs 2019-01-09 11:42:55 +01:00
Leonard Gram b9c4eb70b1 build: publishes beta releases to separate repos. 2019-01-09 11:42:55 +01:00
Leonard Gram 8f5886e6d4 refactoring 2019-01-09 11:42:55 +01:00
Leonard Gram bbbeb78c17 build: makes repo update enterprise compatible. 2019-01-09 11:42:55 +01:00
Leonard Gram 89956a6a41 build: uses official deployment image. 2019-01-09 11:42:55 +01:00
Leonard Gram a98c75121f build: adds aptly and createrepo to deploy tools. 2019-01-09 11:42:55 +01:00
Leonard Gram 31066aebb4 build: handles unexpected cases. 2019-01-09 11:42:55 +01:00
Leonard Gram 919617ef96 build: only adds the correct packages to the repo. 2019-01-09 11:42:55 +01:00
Leonard Gram c3e23d7574 build: rpm repo deploy. 2019-01-09 11:42:55 +01:00
Leonard Gram a26a10cfd1 build: repo update input error. 2019-01-09 11:42:55 +01:00
Leonard Gram 7fea1f84c0 build: release of debs to our debian repo. 2019-01-09 11:42:55 +01:00
Hugo Häggmark 9b8a5333cb Added tests for TestRuleButton 2019-01-09 11:39:56 +01:00
Hugo Häggmark 8b8af6436c Removed Test Rule button from Angular and view 2019-01-09 11:38:10 +01:00
Hugo Häggmark e2fe663dba Added TestRuleButton 2019-01-09 11:34:22 +01:00
Pierre GIRAUD f374da032e Hint for user on when the repeat is applied 2019-01-09 11:34:13 +01:00
Dominik Prokop 0571ad5ad7 Removes unnecessary warnings from webpack output about missing exports
This should not break anything as ForkTsCheckerWebpackPlugin takes care of that
2019-01-09 11:33:08 +01:00
Pierre GIRAUD 97b087f5a5 Use factors for max repeated panels per row 2019-01-09 11:17:48 +01:00
Dominik Prokop 0b4d212bd2 Fixing TS errors and updating snapshot 2019-01-09 10:56:40 +01:00
Dominik Prokop fae8ff5750 Move Portal to @grafana/ui 2019-01-09 10:55:38 +01:00
Johannes Schill 702e1b01bb chore: Move sass code related to custom scrollbar into @grafana/ui #14759 2019-01-09 10:35:03 +01:00
Dominik Prokop 076defdc0b Post merge updates 2019-01-09 10:33:20 +01:00
ijin08 7133b79928 Merge branch 'master' into 14773-light-theme-page-bg 2019-01-09 10:21:48 +01:00
Dominik Prokop 1e7f3f2892 Merge branch 'master' into grafana-ui/tooltip 2019-01-09 10:19:45 +01:00
Johannes Schill 6ac25d41fa chore: Move CustomScrollbar to @grafana/ui #14759 2019-01-09 09:49:45 +01:00
ijin08 fb76f41a15 changed light theme page background gradient 2019-01-09 09:42:30 +01:00
Dominik Prokop 0fb23bd334 WIP 2019-01-09 09:40:57 +01:00
Pierre GIRAUD a881497908 Max number of repeated panels per row
Instead of min width
2019-01-09 08:01:42 +01:00
Dominik Prokop 79c6fdc0e8 wip 2019-01-08 20:51:00 +01:00
Torkel Ödegaard a9808ef518 Merge pull request #14763 from grafana/14528-panel-errors
Panel errors
2019-01-08 17:41:31 +01:00
Dominik Prokop 22c9ce7de8 Make tooltips persistent when hovered 2019-01-08 17:01:50 +01:00
Leonard Gram 023e496108 docs: rpm/deb beta repo. 2019-01-08 16:49:29 +01:00
Erik Sundell ae50d83608 update snapshot 2019-01-08 16:21:38 +01:00
Erik Sundell 6c00f3e511 add form grow 2019-01-08 16:08:09 +01:00
Johannes Schill 12a3edd6e5 fix: Clean up per PR feedback. Thanks @dprokop 2019-01-08 16:04:46 +01:00
Torkel Ödegaard badd00d962 Merge pull request #14768 from grafana/14729-move-alerttab-and-statehistory
Moved AlertTab and StateHistory to app/features/alerting
2019-01-08 15:57:43 +01:00
Peter Holmberg 38dcbeb2fd removing duplicated things 2019-01-08 15:56:01 +01:00
Torkel Ödegaard df83c4650d minor code refactor 2019-01-08 15:54:52 +01:00
Torkel Ödegaard 6f6825c53a Merge pull request #14767 from grafana/14667-edit-panel
fix: When loki is default data source, datasource is passed as undefi…
2019-01-08 15:29:53 +01:00
Peter Holmberg de38769973 splitting into more files 2019-01-08 15:25:23 +01:00
Hugo Häggmark 8d210afd76 Moved AlertTab and StateHistory to app/features/alerting 2019-01-08 15:18:29 +01:00
Johannes Schill bf478a40b1 fix: When loki is default data source, datasource is passed as undefined to QueryOptions #14667 2019-01-08 14:58:57 +01:00
Erik Sundell d215eecf63 remove redundant max-width. it's already declared in gf-form-select-box__menu-list 2019-01-08 14:05:30 +01:00
Erik Sundell b8c2ba3320 add typing for metric descriptor 2019-01-08 14:03:52 +01:00
Dominik Prokop e03461cea2 Removed unused Popover component 2019-01-08 13:54:54 +01:00
Dominik Prokop ec904cf662 Update components to fit updated PopperController API 2019-01-08 13:53:59 +01:00
Erik Sundell 8867d8e99c make templateSrv a prop 2019-01-08 13:52:19 +01:00
Dominik Prokop de4e1a91f7 Refactored withPoper HOC to PopperController using render prop 2019-01-08 13:44:10 +01:00
Erik Sundell dc7f98de6a use correct event handler name convention. register directive on startup 2019-01-08 13:37:08 +01:00
Johannes Schill f428db282c fix: Remove the onRenderError prop and add an ErrorBoundary component 2019-01-08 13:32:08 +01:00
Erik Sundell f9f51d6819 replace fragment with empty jsx tags 2019-01-08 13:00:31 +01:00
Erik Sundell e71e2b3035 refactoring tests 2019-01-08 12:52:47 +01:00
Erik Sundell 803d546c70 ugly fix. will be removed later on 2019-01-08 12:44:43 +01:00
Daniel Lee 8e8b759b21 adds note for #13914 and #14581 2019-01-08 10:47:14 +01:00
Daniel Lee f95b4b3882 Merge pull request #14735 from challengerdeep/14581_fix-stackdriver-series-aggregation-merge
Fix stackdriver aggregation series merge
2019-01-08 10:40:37 +01:00
Peter Holmberg abb98a25e4 moved all units 2019-01-08 10:35:10 +01:00
Johannes Schill bcb94cc0ec fix: GraphPanel should be a PureComponent 2019-01-08 10:30:00 +01:00
Erik Sundell d6e7fccc97 fix more broken tests 2019-01-08 10:00:10 +01:00
Johannes Schill 4f943687d8 feat: Display error when plot fail to render 2019-01-08 09:55:23 +01:00
Erik Sundell c964d6d7ef wip: fix broken tests 2019-01-08 08:51:34 +01:00
Peter Holmberg 36e4bf5985 adding more units and functions 2019-01-07 17:00:10 +01:00
Torkel Ödegaard 56edba5a63 Merge pull request #14746 from jaken551/master
14722 - removing unnecessary arn check that breaks assume role featur…
2019-01-07 16:49:35 +01:00
Torkel Ödegaard a9077e1a1c Merge pull request #14758 from grafana/explore/run-query-button-glitch-fix
Remove the jump effect on run query button
2019-01-07 16:15:48 +01:00
Dominik Prokop 96be5fe8a3 Remove the jump effect on run query button
Caused by the return and loading spinner icons having different widths. Used fa-fw helper class to ensure fixed width on icons. Also, made the spacing between icon and button label slightly smaller, as the rotated level-down icon used as return icon has significantly smaller width compared to the loading spinner and it looked oddly far from the label as compared to timepicker's icon
2019-01-07 15:26:43 +01:00
Erik Sundell 87cb3d4caa ugly temporary fix for scope issue. will be removed later on 2019-01-07 14:52:36 +01:00
Erik Sundell e75aec9954 refactoring 2019-01-07 14:51:20 +01:00
Erik Sundell e61fa37db4 fix filter bug 2019-01-07 14:15:53 +01:00
Erik Sundell 49144f07e4 Merge branch '14293-metric-display-names' into reactify-stackdriver
# Conflicts:
#	public/app/plugins/datasource/stackdriver/partials/query.aggregation.html
#	public/app/plugins/datasource/stackdriver/partials/query.editor.html
#	public/app/plugins/datasource/stackdriver/partials/query.filter.html
#	public/app/plugins/datasource/stackdriver/query_aggregation_ctrl.ts
#	public/app/plugins/datasource/stackdriver/query_ctrl.ts
#	public/app/plugins/datasource/stackdriver/query_filter_ctrl.ts
#	public/app/plugins/datasource/stackdriver/specs/query_aggregation_ctrl.test.ts
2019-01-07 13:59:36 +01:00
Johannes Schill 0b89f81609 fix: Light theme corner bg color update 2019-01-07 13:56:36 +01:00
Erik Sundell 4d07f56354 set max width on the whole menu list instead 2019-01-07 13:46:15 +01:00
Johannes Schill a6abe50dba Merge branch '14528-panel-errors' of https://github.com/grafana/grafana into 14528-panel-errors
# Conflicts:
#	public/app/features/dashboard/dashgrid/DataPanel.tsx
2019-01-07 13:41:22 +01:00
Erik Sundell 9ec6831713 bind array instead of function 2019-01-07 13:37:39 +01:00
Johannes Schill 79fd8a7eda feat: Add "theme" to Tooltip 2019-01-07 13:31:50 +01:00
Johannes Schill dadbaccfeb Notify user on query error 2019-01-07 13:29:10 +01:00
Johannes Schill 5143a2669d feat: Add "theme" to Tooltip 2019-01-07 13:05:27 +01:00
Erik Sundell 92d6442948 Revert "Revert "add max width to group header description""
This reverts commit d25138060f.
2019-01-07 11:44:10 +01:00
Erik Sundell d25138060f Revert "add max width to group header description"
This reverts commit 86a39183ee.
2019-01-07 11:27:48 +01:00
Erik Sundell 7b4b1a4f90 remove not used property 2019-01-07 11:26:06 +01:00
Erik Sundell 899811a934 fix broken tests 2019-01-07 11:26:06 +01:00
Erik Sundell 126ceb9780 use correct type for select option 2019-01-07 11:26:06 +01:00
Erik Sundell 4928984825 set issearchable default value to true 2019-01-07 11:26:06 +01:00
Erik Sundell 102a130a2d make variable type more slim 2019-01-07 11:26:06 +01:00
Erik Sundell 786df7920e remove group name from select component. let the parent set group name instead 2019-01-07 11:26:06 +01:00
Erik Sundell 03856b4e55 move component to components dir. also move directive registration out from datasource 2019-01-07 11:26:06 +01:00
Erik Sundell 58bea1de79 add template variable type 2019-01-07 11:26:06 +01:00
Erik Sundell 96d65b55b6 rename template variables prop 2019-01-07 11:26:06 +01:00
Erik Sundell ff762c213f rename selected prop 2019-01-07 11:26:06 +01:00
Erik Sundell 3ca5abf5e9 rename searchable prop 2019-01-07 11:26:06 +01:00
Erik Sundell 1e5f2f56e0 improve component performance 2019-01-07 11:26:05 +01:00
Erik Sundell 86a39183ee add max width to group header description 2019-01-07 11:26:05 +01:00
Erik Sundell 5eb22388c3 remove debug logging 2019-01-07 11:26:05 +01:00
Erik Sundell 243c4bfe29 rollback test state to before template variables were added 2019-01-07 11:26:05 +01:00
Erik Sundell 2b8185cb80 cleanup 2019-01-07 11:26:05 +01:00
Erik Sundell 02b745f106 move template variable logic to component 2019-01-07 11:26:05 +01:00
Erik Sundell d42e39a072 remove extra arrow div 2019-01-07 11:26:05 +01:00
Erik Sundell bdf2573db9 fix condition that expands group if it has a selected child. also make it possible to pass expanded as a prop 2019-01-07 11:26:05 +01:00
Erik Sundell 93bc7e8fa5 align input widths 2019-01-07 11:26:05 +01:00
Erik Sundell b9b25e766f remove console log 2019-01-07 11:26:05 +01:00
Erik Sundell a441251cf5 rename directive 2019-01-07 11:26:04 +01:00
Erik Sundell b385c105fe remove linebreak 2019-01-07 11:26:04 +01:00
Erik Sundell 793d3d9afa remove old group heading 2019-01-07 11:26:04 +01:00
Erik Sundell 07f0d90718 use new generic picker 2019-01-07 11:26:04 +01:00
Erik Sundell 1090e0ae2f remove on metric type change 2019-01-07 11:26:04 +01:00
Erik Sundell de9ace731d fix remove filter bug 2019-01-07 11:26:04 +01:00
Erik Sundell d632be849a use same color for label as in explore dropdown 2019-01-07 11:26:03 +01:00
Erik Sundell 329d4652fb cleanup query filter 2019-01-07 11:26:03 +01:00
Erik Sundell b683a19ff6 update failing tests 2019-01-07 11:26:03 +01:00
Erik Sundell 2bc38b7907 remove redundant default value 2019-01-07 11:26:03 +01:00
Erik Sundell caedbc67b8 use new option group in aggregation directive 2019-01-07 11:26:03 +01:00
Erik Sundell eea91d2885 remove redundant default value 2019-01-07 11:26:03 +01:00
Erik Sundell 1f3f336352 wip: add option group component 2019-01-07 11:26:02 +01:00
Erik Sundell d75860a72c wip: add basic option header 2019-01-07 11:26:02 +01:00
Erik Sundell ad4f39101a Wrap react select component in angular directive 2019-01-07 11:26:02 +01:00
Torkel Ödegaard cfd1467a76 Merge pull request #14750 from grafana/gometalinter-fixes
Fixed new gometalinter issues
2019-01-07 11:20:08 +01:00
Torkel Ödegaard 85ecf54751 updated scrollbar snapshot 2019-01-07 11:19:44 +01:00
Erik Sundell 4340e81605 remove not used files 2019-01-07 11:06:36 +01:00
Torkel Ödegaard c0e7e54b81 Merge pull request #14747 from m0nhawk/patch-1
fix JSON in responses for Admin API documentation
2019-01-07 11:03:49 +01:00
Torkel Ödegaard 0a936a55b4 Fixed new gometalinter issues 2019-01-07 11:01:31 +01:00
Torkel Ödegaard cfa3e05eee Merge pull request #14745 from grafana/legend-firefox-fix
Fixed issue with cut legend in firefox & mobile devices,
2019-01-07 08:20:37 +01:00
Andrew Prokhorenkov 294fb7b3bc fix JSON in responses for Admin API documentation 2019-01-06 16:57:44 -06:00
jaken551 64163f0198 14722 - removing unnecessary arn check that breaks assume role feature in other AWS partitions 2019-01-06 15:21:58 -05:00
Torkel Ödegaard 179b19c71b Fixed issue with cut legend in firefox & mobile devices, fixes #14744 and #14489 2019-01-06 17:03:38 +01:00
Torkel Ödegaard 0affb23cb1 Merge pull request #14740 from simPod/some-cleanups
Some cleanup
2019-01-05 16:39:31 +01:00
Simon Podlipsky c39dc1fb15 Some cleanup 2019-01-05 15:25:07 +01:00
tpetr db61fc1dd1 EqualFold() 2019-01-05 00:17:31 -05:00
tpetr 32dfc4e8b1 forgot go fmt 2019-01-05 00:02:15 -05:00
tpetr 5bc8d50864 pull connection string args from url instead 2019-01-04 23:52:36 -05:00
Michael Inthilith 9759ee53ca Add mean on distribution as well 2019-01-04 16:58:27 +01:00
Leonard Gram dd6f606cda docs: updated debian and centos repo. 2019-01-04 16:36:32 +01:00
Michael Inthilith 1eca81139b Fix stackdriver aggregation series merge
Fixes #14581
2019-01-04 16:05:17 +01:00
Peter Holmberg ffc9b7ac03 first stuff 2019-01-04 15:45:39 +01:00
Ander Arguiñano 49133b0012 Updated documentation for new macros 2019-01-04 14:36:07 +01:00
Torkel Ödegaard 2de57f095c Merge pull request #14707 from grafana/14388/alert-tab-ux-update
Alert tab ux update
2019-01-04 12:53:08 +01:00
Torkel Ödegaard bb15eb3091 Merge pull request #14727 from simPod/fix-timepicker-2
Fixed timepicker css issue introduced by PR #14700 and remove hotfix …
2019-01-04 12:41:23 +01:00
Torkel Ödegaard e0c28ba770 Minor refactoring of EditorTabBody 2019-01-04 12:38:50 +01:00
Simon Podlipsky 35f6f50f40 Fixed timepicker css issue introduced by PR #14700 and remove hotfix from 297241c 2019-01-04 12:24:22 +01:00
Torkel Ödegaard f749ced36e AlertTab style fixes 2019-01-04 12:18:49 +01:00
Torkel Ödegaard 2eeba9dae1 Updated alert tab layout & markup 2019-01-04 11:57:16 +01:00
Torkel Ödegaard 769e9f2d8e Merge pull request #14725 from grafana/14719/gauge-issues
14719/gauge issues
2019-01-04 10:57:03 +01:00
Torkel Ödegaard 0ca0670e00 Changed datasource list page default layout mode 2019-01-04 09:58:24 +01:00
Torkel Ödegaard 297241c4ab Fixed timepicker css issue introduced by PR #14700 2019-01-04 09:35:16 +01:00
Ander Arguiñano 089d85af63 Added macros to mysql 2019-01-03 22:29:57 +01:00
Ander Arguiñano 3801a75131 FIxed syntaxis mistake unixEpochNanoFrom and unixEpochNanoTo 2019-01-03 22:25:10 +01:00
Ander Arguiñano ed6782402b Merge remote-tracking branch 'upstream/master' into nanosecond-postgresql 2019-01-03 21:48:10 +01:00
Ander Arguiñano b4eac406d5 Added previous macros to mssql 2019-01-03 21:43:08 +01:00
Ander Arguiñano 9105625f24 Added unixEpochNanoTo and unixEpochNanoFrom macros to postgresql 2019-01-03 21:31:47 +01:00
Ander Arguiñano 4d8d2a9690 Renamed unixEpochFilterNano to unixEpochNanoFilter 2019-01-03 20:40:17 +01:00
Erik Sundell 0c178f8623 cleanup 2019-01-03 16:21:20 +01:00
Erik Sundell cc7b754e77 add aggregation tests 2019-01-03 16:00:42 +01:00
Erik Sundell d23c3d2b64 add tests 2019-01-03 15:12:03 +01:00
Peter Holmberg 44e2fd4b22 Fix issue with value disappearing when selecting stat 2019-01-03 14:31:45 +01:00
Peter Holmberg 4892d3f54b Fixing issue with value color being wrong 2019-01-03 14:21:58 +01:00
Pavel ea4223f923 Merge pull request #5 from grafana/master
Update master
2019-01-03 12:33:57 +02:00
Peter Holmberg 168b8c389d Merge remote-tracking branch 'origin/master' into 14388/alert-tab-ux-update 2019-01-03 11:29:03 +01:00
Torkel Ödegaard 5d3f4422c5 initial design for way to build value formats lazily and a backward compatability layer via Proxy 2019-01-03 09:39:46 +01:00
Erik Sundell 3ce4287e8c fix template variable bug 2019-01-03 09:15:49 +01:00
Torkel Ödegaard 3e873a2500 Merge pull request #14710 from grafana/fixed-gometalinter
Fixed new gotmetalinter warning
2019-01-03 07:23:45 +01:00
Torkel Ödegaard 873a77ed3c Merge pull request #14712 from svenklemm/postgres_subsecond_timerange
Don't cut off subsecond precision for postgres macros
2019-01-03 07:20:07 +01:00
Sven Klemm 4c51e8df20 Don't cut off subsecond precision for postgres macros
Change time format to RFC3339Nano for $__timeFilter, $__timeFrom and
$__timeTo macros
2019-01-02 23:38:09 +01:00
Ander Arguiñano 1a67a8db80 Nanosecond timestamp support postgresql 2019-01-02 23:00:21 +01:00
Erik Sundell 93d2588c22 remove not used file 2019-01-02 20:58:03 +01:00
Torkel Ödegaard 80e441f48b Fixed new gotmetalinter warning 2019-01-02 19:17:35 +01:00
tpetr a693d42e31 add support for defining additonal database connection string args via extra_connection_string_args 2019-01-02 13:02:40 -05:00
Torkel Ödegaard a7d4e6caa3 Merge pull request #14699 from grafana/davkal/fix-14398
Explore: Remember last used datasource
2019-01-02 18:59:44 +01:00
Peter Holmberg 6b5f9d5821 clear history 2019-01-02 16:07:29 +01:00
Erik Sundell 1ab9fc871c cleanup. remove comments, not used files etc 2019-01-02 15:35:36 +01:00
Peter Holmberg e7d9bbf781 state history tab 2019-01-02 15:22:22 +01:00
Erik Sundell 0e49225d1d merge from 14293-metric-display-names 2019-01-02 15:07:38 +01:00
Erik Sundell b7503407e6 fix broken tests 2019-01-02 13:03:21 +01:00
Erik Sundell 4dbd113e20 use correct type for select option 2019-01-02 13:03:21 +01:00
Erik Sundell b22bf9359f set issearchable default value to true 2019-01-02 13:03:21 +01:00
Erik Sundell 681f1f31e1 make variable type more slim 2019-01-02 13:03:21 +01:00
Erik Sundell d741295795 remove group name from select component. let the parent set group name instead 2019-01-02 13:03:21 +01:00
Erik Sundell e180cf54ce move component to components dir. also move directive registration out from datasource 2019-01-02 13:03:20 +01:00
Erik Sundell 4662335f80 add template variable type 2019-01-02 13:03:20 +01:00
Erik Sundell 70071e5dad rename template variables prop 2019-01-02 13:03:20 +01:00
Erik Sundell cf50cf167c rename selected prop 2019-01-02 13:03:20 +01:00
Erik Sundell ed673d35f5 rename searchable prop 2019-01-02 13:03:20 +01:00
Erik Sundell e4d18a1933 improve component performance 2019-01-02 13:03:20 +01:00
Erik Sundell 5f8ccfb9a0 add max width to group header description 2019-01-02 13:03:20 +01:00
Erik Sundell 53ac3c8fd2 remove debug logging 2019-01-02 13:03:20 +01:00
Erik Sundell c70e90cb48 rollback test state to before template variables were added 2019-01-02 13:03:20 +01:00
Erik Sundell 01fc950511 cleanup 2019-01-02 13:03:19 +01:00
Erik Sundell 00a763511e move template variable logic to component 2019-01-02 13:03:19 +01:00
Erik Sundell 3f05364eb9 remove extra arrow div 2019-01-02 13:03:19 +01:00
Erik Sundell e7670cacf4 fix condition that expands group if it has a selected child. also make it possible to pass expanded as a prop 2019-01-02 13:03:19 +01:00
Erik Sundell 9715260151 align input widths 2019-01-02 13:03:19 +01:00
Erik Sundell 3afe8a0763 remove console log 2019-01-02 13:03:18 +01:00
Erik Sundell 55f558cb7c rename directive 2019-01-02 13:03:18 +01:00
Erik Sundell 843e9fb4dc remove linebreak 2019-01-02 13:03:18 +01:00
Erik Sundell 566001aaf2 remove old group heading 2019-01-02 13:03:18 +01:00
Erik Sundell 4734788db4 use new generic picker 2019-01-02 13:03:17 +01:00
Erik Sundell 478cfc195a remove on metric type change 2019-01-02 13:03:17 +01:00
Erik Sundell 014457c486 fix remove filter bug 2019-01-02 13:03:17 +01:00
Erik Sundell 85a434568f use same color for label as in explore dropdown 2019-01-02 13:03:17 +01:00
Erik Sundell f68db4eded cleanup query filter 2019-01-02 13:03:17 +01:00
Erik Sundell b6c6cc1ff6 update failing tests 2019-01-02 13:03:17 +01:00
Erik Sundell 615fa6fc7d remove redundant default value 2019-01-02 13:03:16 +01:00
Erik Sundell 4d19ac5c02 use new option group in aggregation directive 2019-01-02 13:03:16 +01:00
Erik Sundell 406c0d15a5 remove redundant default value 2019-01-02 13:03:16 +01:00
Erik Sundell b5d6cd1cc8 wip: add option group component 2019-01-02 13:03:16 +01:00
Erik Sundell 488e92e7f5 wip: add basic option header 2019-01-02 13:03:16 +01:00
Erik Sundell 70c2efd711 Wrap react select component in angular directive 2019-01-02 13:03:15 +01:00
David Kaltschmidt 757d6f322e s/initialDatasourceId/initialDatasource/ 2019-01-02 11:32:12 +00:00
Torkel Ödegaard 24ee10ca01 Merge pull request #14705 from grafana/panel-size-fixes
Fixed issues with panel size in edit mode, fixes #14703
2019-01-02 11:48:02 +01:00
Peter Holmberg ce01bd696e add alert in react instead of angular 2019-01-02 10:57:12 +01:00
Torkel Ödegaard 9aef3f4fb1 Fixed issues with panel size in edit mode, fixes #14703 2019-01-02 10:54:57 +01:00
Peter Holmberg d9c93e572e hide protip if not defined 2019-01-02 10:50:52 +01:00
Erik Sundell fd88f637b2 fix filter bug 2019-01-02 09:41:26 +01:00
Erik Sundell f9380a2634 add help text component 2019-01-02 09:36:32 +01:00
Torkel Ödegaard f59541b490 Merge pull request #14698 from simPod/update-lock
Update yarn.lock
2019-01-01 15:39:17 +01:00
Torkel Ödegaard 9e91d91788 Merge pull request #14689 from grafana/davkal/loki-limit
Loki: query limit configurable in datasource
2019-01-01 15:38:59 +01:00
Torkel Ödegaard 46f9418605 Merge pull request #14696 from grafana/davkal/fix-14686
Logs data model: add more log levels
2019-01-01 15:37:37 +01:00
Torkel Ödegaard 940692189b Merge pull request #14700 from simPod/timepicker
Tweak datetime picker layout for mobile
2019-01-01 15:33:28 +01:00
Simon Podlipsky a5c05d273f Tweak datetime picker layout for mobile 2018-12-31 19:47:42 +01:00
David Kaltschmidt 67ebdcbcc3 Explore: Remember last use datasource
- use local storage to store last used database
- renamed `datasourceName` property to `initialDatasourceId` for consistency
- adapted tests
2018-12-31 18:30:32 +00:00
Simon Podlipsky 5f4eeea481 Update yarn.lock 2018-12-31 19:17:07 +01:00
Dan Cech efa738ddf6 Merge pull request #14540 from grafana/session-skip-update
only update session in mysql database when required
2018-12-31 11:54:04 -05:00
Torkel Ödegaard 22399b336f Merge pull request #14577 from marefr/14351_db_migration
fix only create/drop database indices if not exists/exists
2018-12-31 16:20:07 +01:00
David Kaltschmidt a364487b3a Logs data model: add more log levels
- add `eror` used in github.com/inconshreveable/log15 (used by Grafana as well)
- add levels from SYSLOG
2018-12-31 14:44:13 +00:00
David Kaltschmidt f4b4ee3ff8 Review feedback 2018-12-31 14:10:45 +00:00
David b712337a3b Merge pull request #14693 from grafana/davkal/loki-single-query
Loki: change query row to be single field again
2018-12-31 14:55:44 +01:00
Torkel Ödegaard 75f9d173ff Merge pull request #14691 from grafana/davkal/fix-14690
Explore: logging UI style fixes
2018-12-31 14:34:18 +01:00
Torkel Ödegaard 68897c18b2 Merge pull request #14694 from grafana/davkal/fix-14668
Explore: fix loading indicator z-index on panel container
2018-12-31 14:33:52 +01:00
David Kaltschmidt 652c149ca2 Explore: fix loading indicator z-index on panel container
- existing z-index placed the loading indicator above dropdowns of the panel children
- removed z-index for natural ordering
2018-12-31 12:55:03 +00:00
David Kaltschmidt 32438c4716 Loki: change query row to be single field again
- tried split selector and search for a week, and it did not feel natural
- keeping some of the original modifications in QueryField from splitting PR
- adapted CheatSheet and placeholder text
- added new label selector state: No labels found
2018-12-31 12:38:13 +00:00
David Kaltschmidt 39833b0df7 Explore: logging UI style fixes
- baseline aligment for meta field labels
- use variables for font sizes and margins
2018-12-31 12:05:07 +00:00
David Kaltschmidt 26a5e07737 Loki: query limit configurable in datasource
- Loki queries must contain a limit
- this change makes this limit configurable in the datasource
- keep default at 1000, add tooltip on why inc/dec makes sense
- added tests
2018-12-31 11:25:28 +00:00
Torkel Ödegaard 6f998541c8 Merge branch 'master' of github.com:grafana/grafana 2018-12-31 09:00:39 +01:00
Torkel Ödegaard 8a2d1b98e9 Removed rxjs compat 2018-12-31 08:57:01 +01:00
Torkel Ödegaard e18256e417 Merge branch 'rxjs-update' of https://github.com/simPod/grafana into simPod-rxjs-update 2018-12-31 08:40:24 +01:00
Torkel Ödegaard 983b85139c Merge pull request #14665 from bergquist/sqlite_cache_mode_setting
WIP: makes cache mode configurable
2018-12-31 08:35:27 +01:00
Torkel Ödegaard 6eb9f83647 Merge pull request #14678 from bergquist/set_orgid_for_provisioned_dashboards
Adds orgId to user dto for provisioned dashboards
2018-12-31 08:34:01 +01:00
Daniel Lee ce50e9331a ldap: adds extra debug logging 2018-12-30 22:53:00 +01:00
Erik Sundell 5ba429387f reactify annotation query editor 2018-12-28 19:45:24 +01:00
bergquist 9895b1e6d0 adds orgId to user dto for provisioned dashboards 2018-12-28 10:49:00 +01:00
Simon Podlipsky d42f821c87 Update rxjs 2018-12-27 20:37:44 +01:00
Carl Bergquist 136f6986e1 Merge pull request #14666 from bergquist/close_body
Closes the body properly on successful webhooks
2018-12-27 16:22:39 +01:00
bergquist 24636da800 closes the body properly on successful webhooks
this commit also adds a test docker container
for receiving alerting web hook requests
2018-12-27 16:08:13 +01:00
Carl Bergquist b798a5412b Merge pull request #14661 from pfree/fix_typo
Fix general tab typos
2018-12-27 14:31:08 +01:00
bergquist 74124ec8ed makes cache mode configurable
this makes the cache mode in the sqlite connection
string configurable. the default also changed from
shared to private to solve #107272 but allow the user
to use shared if performance is more important.

ref #10727
2018-12-27 10:48:11 +01:00
Patrick Freeman ca7f75f353 Fix general tab typos 2018-12-26 13:36:12 -05:00
Torkel Ödegaard 8a976f5cb4 Merge pull request #14656 from grafana/husky-and-sasslint-fixes
Husky and sasslint fixes
2018-12-26 08:13:35 +01:00
Torkel Ödegaard 9cd449ed52 added node-sass as dev dependency, needed after I removed grunt-sass 2018-12-25 21:11:18 +01:00
Torkel Ödegaard ce0dcd5cab Husky and sasslint fixes, fixes #14638 2018-12-25 20:20:59 +01:00
Torkel Ödegaard 66a13b281c Merge branch 'grafana-lib' 2018-12-25 19:26:46 +01:00
Torkel Ödegaard 98d26354c1 Added a form component to @grafana/ui 2018-12-25 11:42:23 +01:00
Torkel Ödegaard 2dfa3269c3 created visualizations folder 2018-12-25 10:20:20 +01:00
Torkel Ödegaard 493714c27d Fixed JQuery typing issues 2018-12-25 09:59:23 +01:00
Torkel Ödegaard 19da963a19 Typings issues 2018-12-25 08:55:44 +01:00
Torkel Ödegaard a38490f4b2 wip: moving react graph component to grafana/ui 2018-12-24 14:14:06 +01:00
Torkel Ödegaard 513434cada Merge pull request #14652 from grafana/test-frontend-change
Don't do a full frontend release build in test-frontend
2018-12-24 12:37:17 +01:00
Torkel Ödegaard 21a25f2c27 Don't do a full frontend release build in test-frontend job, added typescheck (tsc noEmit) instead, fixes #14639 2018-12-24 07:12:49 +01:00
Torkel Ödegaard 4b323d9879 Moved sass for component to @grafana/ui lib 2018-12-24 07:05:18 +01:00
Torkel Ödegaard 17de1f2887 Merge pull request #14646 from grafana/fix-dashboard-links
Fixed dashboard links not updating after variable or time range change
2018-12-23 20:41:51 +01:00
Torkel Ödegaard 0fd403a783 Merge pull request #14647 from grafana/explore-options-margin-increase
Increased margin between controls in logs panel
2018-12-23 17:45:49 +01:00
Torkel Ödegaard a02b4b47b6 Moving a couple of types to @grafana/ui 2018-12-23 09:15:32 +01:00
Torkel Ödegaard 0ff572efbf Testing moving out one type to grafana/ui 2018-12-23 08:28:37 +01:00
Torkel Ödegaard 270d52495d Increased margin between controls in logs panel, fixes #14637 2018-12-23 07:18:11 +01:00
Torkel Ödegaard 002f57ae00 Fixed dashboard links not updating after variable or time range change, fixes #14493 2018-12-23 07:11:24 +01:00
Torkel Ödegaard 4bb8249ffc Merge pull request #14627 from cykl/influxdb-timezone-clause
Add support for InfluxDB's time zone clause
2018-12-23 07:03:48 +01:00
Torkel Ödegaard a138bf27d1 Merge pull request #14642 from jacobrichard/master
Update/Improve Docs for Auth Proxy Whitelist
2018-12-23 07:01:41 +01:00
Torkel Ödegaard ef219dd72b Merge pull request #14645 from grafana/fix-tooltip-placement
Fixed group button tooltip placement from auto to bottom
2018-12-23 07:00:56 +01:00
Torkel Ödegaard 41712c3957 Fixed group button tooltip placement from auto to bottom, fixes #14634 2018-12-23 06:46:26 +01:00
Jacob Richard 47c0b5770b Removing erroneous backtick in docs 2018-12-22 18:18:15 -06:00
Jacob Richard b785b06598 Updating docs for auth_proxy whitelist CIDR support 2018-12-22 18:17:32 -06:00
David b05e7aaecb Merge pull request #14636 from grafana/davkal/fix-14635
Loki: fix timestamp field
2018-12-22 17:52:59 +01:00
David Kaltschmidt d1dec8bd44 Add timestamp back to log entry type 2018-12-22 17:36:35 +01:00
Dan Cech b8fdacd81f Update public/app/plugins/datasource/loki/result_transformer.ts
Co-Authored-By: davkal <david.kaltschmidt@gmail.com>
2018-12-22 17:28:51 +01:00
David Kaltschmidt e694604be5 Loki: fix timestamp field
- timestamp was renamed to `ts` in grafana/loki#152
- renamed here in result transformer and tests
2018-12-22 17:19:58 +01:00
David b2401e37fa Merge pull request #14414 from grafana/davkal/explore-logging-search
Explore: Split logging query into selector and search
2018-12-22 17:00:57 +01:00
Torkel Ödegaard f8e2e11734 Merge pull request #14631 from grafana/firefox-height-bugfix
Fixed panel height & scroll issue with flexbox in firefox,
2018-12-22 09:54:58 +01:00
Torkel Ödegaard 9aa2764753 Fixed panel height & scroll issue with flexbox in firefox, fixes #14620 2018-12-22 08:58:08 +01:00
Erik Sundell 8a916757d7 remove segment srv prop 2018-12-21 23:28:21 +01:00
Erik Sundell b9cf15786d use ds template srv reference 2018-12-21 23:21:55 +01:00
Erik Sundell 2f342b8917 remove not used stuff 2018-12-21 23:07:46 +01:00
Erik Sundell 31254e1c72 add event handler 2018-12-21 22:04:46 +01:00
Erik Sundell 0515605b9a add help component 2018-12-21 21:38:46 +01:00
Clément MATHIEU c29c9d1664 Add support for InfluxDB's time zone clause (backend) 2018-12-21 16:49:01 +01:00
Peter Holmberg acf8390d57 note to future me 2018-12-21 14:57:54 +01:00
Peter Holmberg 4002f80ab8 delete works 2018-12-21 14:56:49 +01:00
Torkel Ödegaard 7268f16c54 grunt test task update 2018-12-21 14:37:38 +01:00
Jürgen Kreileder 41eb0ba52e Add support for InfluxDB's time zone clause 2018-12-21 14:37:02 +01:00
Torkel Ödegaard 52f583fee7 @grafana/ui lib now contains one components, seperate lint & tsc steps 2018-12-21 14:23:32 +01:00
Marcus Efraimsson 8b4083a602 changelog: add notes about closing #14519 2018-12-21 13:01:25 +01:00
Marcus Efraimsson 45e92a116d Merge pull request #14605 from kjedamzik/add-blood-glucose-level-units
Add units for blood sugar concentration 💉
2018-12-21 12:54:43 +01:00
Torkel Ödegaard 2fec5c7577 Grafana ui lib is starting to work 2018-12-21 12:27:43 +01:00
Peter Holmberg 6aacd0734b typings and renamings 2018-12-21 11:57:21 +01:00
Peter Holmberg 25a46c60f1 Merge branch 'master' into 14388/alert-tab-ux-update 2018-12-21 11:25:09 +01:00
Peter Holmberg bbd77d8f0b adding extra props 2018-12-21 11:24:31 +01:00
Torkel Ödegaard 6e66b2b906 breaking up grafana into multiple packages poc 2018-12-20 16:56:46 +01:00
Erik Sundell e2ed163779 add project and help component 2018-12-20 16:55:02 +01:00
Erik Sundell 06f771afd3 add alias by component 2018-12-20 15:59:21 +01:00
Erik Sundell 861f911cda add alignment periods component 2018-12-20 13:36:10 +01:00
Erik Sundell 7a31076f09 cleanup aggregation picker 2018-12-20 13:27:47 +01:00
Erik Sundell 1452bc2e8a move alignment population code to parent component. make alignment a stateless component instead. 2018-12-20 11:26:05 +01:00
Erik Sundell ec68c65660 flatten target obj 2018-12-20 11:00:16 +01:00
Pavel c041bf2488 Merge pull request #4 from grafana/master
Update master
2018-12-20 11:57:39 +02:00
Torkel Ödegaard f089c7ee5e Grafana ui library poc 2018-12-20 09:25:04 +01:00
Marcus Efraimsson b45f72a140 elasticsearch: support bucket script pipeline aggregations 2018-12-20 01:24:36 +01:00
Kofi Jedamzik 281312ffcd Add units for blood sugar concentration 💉 2018-12-19 22:23:25 +01:00
Erik Sundell 095407c8cf on deselect when reducer is set to none 2018-12-19 21:08:38 +01:00
Erik Sundell 945b0aeb86 add alignment component 2018-12-19 17:12:50 +01:00
Torkel Ödegaard 2325c5dbed Merge pull request #14603 from grafana/minor-angular-editmode-fix
Fixes undefined issue with angular panels and editorTabs
2018-12-19 17:09:23 +01:00
Torkel Ödegaard 5b83f6d49d Fixes undefined issue with angular panels and editorTabs 2018-12-19 17:00:26 +01:00
bergquist 7637ea55e4 changelog: adds note about closing #14562 2018-12-19 16:11:35 +01:00
Erik Sundell 603ef1c37d refactor aggregation picker 2018-12-19 16:08:18 +01:00
Carl Bergquist c201fc170f Merge pull request #14563 from tdabasinskas/broken_oauth_provider
Support OAuth providers that are not RFC6749 compliant
2018-12-19 16:05:53 +01:00
Erik Sundell 9b1b4c09f5 use render props pattern 2018-12-19 15:54:45 +01:00
Tomas Dabasinskas eb517a3791 Update field name 2018-12-19 15:36:45 +02:00
Torkel Ödegaard 71837fe137 Merge pull request #12681 from simPod/fix-variable-array-display
Fix array display from url
2018-12-19 14:34:21 +01:00
Tomas Dabasinskas e8823f71b0 Add documentation 2018-12-19 15:29:49 +02:00
Erik Sundell 07dc9d06d7 use template variable prop 2018-12-19 14:29:00 +01:00
Erik Sundell a955caa9ac cleanup 2018-12-19 14:19:27 +01:00
Tomas Dabasinskas 3aa24b3afa Rename the setting and add description 2018-12-19 14:59:33 +02:00
Carl Bergquist 52ccb49167 Merge pull request #14593 from bergquist/export_create_notifier_func
export init notifier func
2018-12-19 13:51:40 +01:00
bergquist 69489993c3 export init notifier func
makes it possible to validate that an notifier can be
initialzed from the provisioning package
2018-12-19 13:38:49 +01:00
Torkel Ödegaard d0f8d034df Quick refactoring of time picker styles, needs a much bigger redesign 2018-12-19 13:13:46 +01:00
Peter Holmberg f3ba3b4df0 render editor toolbar buttons 2018-12-19 13:09:53 +01:00
Johannes Schill f95359fb34 Notify user on query error 2018-12-19 12:58:10 +01:00
Torkel Ödegaard 1260301099 Merge pull request #14589 from grafana/search-increase-recent-starred-limit
Increase recent and starred limit in search and home dashboard
2018-12-19 12:09:54 +01:00
Torkel Ödegaard 9e92609313 Merge pull request #14113 from cinaglia/fix-csv-decimal-places
Retain decimal precision when exporting CSV
2018-12-19 11:56:27 +01:00
Torkel Ödegaard 16ad0f65ea Increase recent and starred limit in search and home dashboard, closes #13950 2018-12-19 11:40:38 +01:00
Torkel Ödegaard cbeefcd376 Merge pull request #14574 from grafana/14543_org_redirect
fix signed in user for orgId=0 result should return active org id
2018-12-19 11:31:06 +01:00
Torkel Ödegaard 36154e59b0 Merge pull request #14571 from oiooj/pr-ds-limit
Raise datasources number to 5000
2018-12-19 11:26:16 +01:00
Torkel Ödegaard 6154f89d96 Merge pull request #14587 from grafana/panel-help-fixes
Panel help view fixes
2018-12-19 11:25:12 +01:00
Torkel Ödegaard d21b5899c1 Merge branch 'master' of github.com:grafana/grafana 2018-12-19 11:24:25 +01:00
Torkel Ödegaard 6542bfb83e Merge branch 'fix-misspell-issues' of https://github.com/mjtrangoni/grafana into mjtrangoni-fix-misspell-issues 2018-12-19 11:21:34 +01:00
Torkel Ödegaard 87cc3902b7 Merge pull request #14558 from hahnjo/flops
Add units for Floating Point Operations per Second
2018-12-19 11:11:14 +01:00
Torkel Ödegaard 8375c23de9 Merge pull request #14569 from grafana/14537/time-range-and-relative-time
Show current values for relative time and time shift
2018-12-19 11:05:42 +01:00
Johannes Schill 9607b27935 changelog: adds note about closing #14486 2018-12-19 11:04:40 +01:00
Torkel Ödegaard 60ea99078e Panel help view fixes 2018-12-19 11:03:54 +01:00
Peter Holmberg 2046309de5 rewrite angular view 2018-12-19 10:42:57 +01:00
Torkel Ödegaard 9fec202668 Merge pull request #14565 from grafana/panel-help-view
Panel help view
2018-12-19 10:25:02 +01:00
Carl Bergquist fdb48b7bbc Merge pull request #14531 from grafana/golang_1.11.4
Upgrade go version to 1.11.4
2018-12-19 10:09:56 +01:00
Torkel Ödegaard 5f2937431f Merge pull request #14572 from grafana/develop-draggable-panel
Another take on resizing the panel, now using react-draggable
2018-12-19 10:07:45 +01:00
Erik Sundell 9e558b70d7 Merge branch '14293-metric-display-names' into reactify-stackdriver
# Conflicts:
#	public/app/plugins/datasource/stackdriver/partials/query.aggregation.html
#	public/app/plugins/datasource/stackdriver/partials/query.editor.html
#	public/app/plugins/datasource/stackdriver/partials/query.filter.html
#	public/app/plugins/datasource/stackdriver/query_aggregation_ctrl.ts
#	public/app/plugins/datasource/stackdriver/query_ctrl.ts
#	public/app/plugins/datasource/stackdriver/query_filter_ctrl.ts
#	public/sass/_grafana.scss
2018-12-19 09:21:35 +01:00
Johannes Schill 9cd0067187 Add min/max height when resizing and replace debounce with throttle 2018-12-19 09:08:56 +01:00
bergquist a6d90151da changelog: adds note about closing #14546 2018-12-19 08:58:14 +01:00
Carl Bergquist 251e80aa5e Merge pull request #14547 from jacobrichard/master
Adding CIDR capability to auth_proxy whitelist
2018-12-19 08:55:03 +01:00
Jacob Richard 34d3086ec8 Adding tests for auth proxy CIDR support 2018-12-18 21:16:29 -06:00
Marcus Efraimsson 12f3c8f9d6 fix only add column if not exists for mysql 2018-12-18 23:02:08 +01:00
bergquist ea84ec6229 changelog: adds note about closing #14109 2018-12-18 22:49:38 +01:00
Carl Bergquist 854487acab Merge pull request #14441 from cinaglia/delete-external-snapshot
Add support for deleting external snapshots from Snapshots List
2018-12-18 22:43:12 +01:00
Marcus Efraimsson a451c20129 fix handling of indices with multiple columns (mysql) 2018-12-18 22:28:27 +01:00
Marcus Efraimsson 09b3014683 fix only create/drop database indices if not exists/exists 2018-12-18 21:47:45 +01:00
Marcus Efraimsson e82b3632f6 fix signed in user for orgId=0 result should return active org id 2018-12-18 20:02:27 +01:00
Johannes Schill a007730f5d Another take on resizing the panel, now using react-draggable 2018-12-18 17:22:30 +01:00
Dan Cech 3f85901c4a only update session in mysql database when required 2018-12-18 11:19:32 -05:00
Baokun Lee f51222027d Raise datasources number to 5000 2018-12-18 23:59:14 +08:00
Erik Sundell 8e9cd83ee8 improve component performance 2018-12-18 16:56:16 +01:00
Erik Sundell 575d7f8941 add max width to group header description 2018-12-18 16:41:47 +01:00
Peter Holmberg 8f92e23e98 copy props to state to make it visible in the view 2018-12-18 16:39:59 +01:00
Erik Sundell 74c2b22a77 remove debug logging 2018-12-18 16:27:24 +01:00
Erik Sundell 3c2ab68290 rollback test state to before template variables were added 2018-12-18 16:19:49 +01:00
Erik Sundell 7ef0995257 cleanup 2018-12-18 16:09:32 +01:00
Erik Sundell 9507dfe13c move template variable logic to component 2018-12-18 16:01:12 +01:00
Erik Sundell 5a9dd620a6 remove extra arrow div 2018-12-18 15:58:33 +01:00
Peter Holmberg 659b5a3c15 refactor to not crash when no links 2018-12-18 15:30:34 +01:00
Peter Holmberg bf7ba9a4d1 updating snaps 2018-12-18 14:54:50 +01:00
Peter Holmberg 95656e1e95 renaming component 2018-12-18 14:49:59 +01:00
Peter Holmberg a44a07593f panel help working 2018-12-18 14:40:54 +01:00
Victor Cinaglia 48fe92a945 snapshots: Close response body after error check 2018-12-18 08:32:49 -05:00
Erik Sundell 5e4841cc6e fix condition that expands group if it has a selected child. also make it possible to pass expanded as a prop 2018-12-18 14:30:46 +01:00
Erik Sundell 0c596a0274 align input widths 2018-12-18 13:03:29 +01:00
Tomas Dabasinskas 08c12313fe Update sample and default configs 2018-12-18 13:51:17 +02:00
Tomas Dabasinskas 54b73025dc Add OAuth provider flag to indicate if it's broken 2018-12-18 13:50:37 +02:00
Tomas Dabasinskas 052772ea2e Register BrokenAuthHeaderProviders if needed 2018-12-18 13:48:25 +02:00
Jonas Hahnfeld 0cf3e94934 Add units for Floating Point Operations per Second
This is an important metric for computation throughput in the context
of High Performance Computing (HPC). I've never heard of the kilo
prefix here, nowadays it's mostly measured in MFLOP/s.
2018-12-18 12:11:21 +01:00
Erik Sundell 738fd997ce remove console log 2018-12-18 11:46:07 +01:00
Erik Sundell d23d4c2ca0 rename directive 2018-12-18 11:31:11 +01:00
Torkel Ödegaard a4091813bf Merge pull request #14534 from grafana/14409/threshold-ux-changes
14409/threshold ux changes
2018-12-18 11:30:48 +01:00
Erik Sundell b46be0b638 remove linebreak 2018-12-18 11:28:35 +01:00
Erik Sundell ea1ce578ff remove old group heading 2018-12-18 11:26:42 +01:00
Erik Sundell 8430c5a491 use new generic picker 2018-12-18 11:25:13 +01:00
Torkel Ödegaard e56b478709 Merge pull request #14551 from grafana/explore-ds-fixes
Explore: Datasource fixes
2018-12-18 10:38:31 +01:00
Erik Sundell 47b3901e7d remove on metric type change 2018-12-18 10:37:47 +01:00
Erik Sundell a5f64a5668 fix remove filter bug 2018-12-18 10:37:47 +01:00
Erik Sundell a7bdd757ef use same color for label as in explore dropdown 2018-12-18 10:37:47 +01:00
Erik Sundell 15ba05d7ee cleanup query filter 2018-12-18 10:37:47 +01:00
Erik Sundell 5affc55756 update failing tests 2018-12-18 10:37:46 +01:00
Erik Sundell 8afe48bb3e remove redundant default value 2018-12-18 10:37:46 +01:00
Erik Sundell dcbe12989f use new option group in aggregation directive 2018-12-18 10:37:46 +01:00
Erik Sundell 2ac1fe2a17 remove redundant default value 2018-12-18 10:37:46 +01:00
Erik Sundell fe4c77a8a4 wip: add option group component 2018-12-18 10:37:46 +01:00
Erik Sundell 5370f78ee7 wip: add basic option header 2018-12-18 10:37:46 +01:00
Erik Sundell 73b5bc680f Wrap react select component in angular directive 2018-12-18 10:36:59 +01:00
Torkel Ödegaard e8f9174d08 Minor update 2018-12-18 09:58:27 +01:00
Erik Sundell ad3d36e6b7 Make sure panel id is unique since some datasources (Graphite) will cancel ongoing requests with the same panel id 2018-12-18 09:44:51 +01:00
bergquist 3c6bcde8b2 changelog: adds note about closing #14548 2018-12-18 08:22:02 +01:00
Carl Bergquist ac458a4e4b Merge pull request #14511 from grafana/go-ldap-v3
ldap: upgrades go-ldap to v3
2018-12-18 08:18:40 +01:00
Torkel Ödegaard 1b1f8ebadc Merge pull request #14541 from grafana/minor-cleanup
Minor cleanup now that angular panel edit is no longer
2018-12-18 07:36:31 +01:00
Jacob Richard 0b50582b56 Adding CIDR capability to auth_proxy whitelist 2018-12-17 23:43:14 -06:00
Torkel Ödegaard 705cbb4095 Minor cleanup now that angular panel edit is no longer 2018-12-17 21:29:25 +01:00
Torkel Ödegaard 1ee1247912 Gauge option form markup fixes 2018-12-17 17:54:40 +01:00
Peter Holmberg 65db6a7638 toolbaritems viztab 2018-12-17 16:54:29 +01:00
Carl Bergquist 7653d8a197 Merge pull request #14468 from bergquist/db_lock
Infra package for creating distributed lock to make sure functions are executed once even in HA mode.
2018-12-17 16:51:11 +01:00
Erik Sundell 2835c4336d filter out table responses that don't have columns and rows 2018-12-17 16:46:22 +01:00
Torkel Ödegaard 7d248cb415 Merge remote-tracking branch 'origin/master' into 14409/threshold-ux-changes 2018-12-17 16:45:46 +01:00
Erik Sundell 18b39967fc enable goto explore from query panel editor for all datasources 2018-12-17 16:44:57 +01:00
Peter Holmberg cda7897323 started with component for generic panel help 2018-12-17 16:42:02 +01:00
bergquist 7aa84aeb61 moves migrations to /sqlstore/migrations 2018-12-17 16:36:57 +01:00
bergquist dbcc2e868d adds integration tests to ci build 2018-12-17 16:36:57 +01:00
bergquist 11cde7ed71 renames main lock function 2018-12-17 16:36:57 +01:00
bergquist c565b018c5 clean up integration tests 2018-12-17 16:36:57 +01:00
bergquist 823bba8d98 change from db_text to nvarchar 2018-12-17 16:36:57 +01:00
bergquist dc49bebb00 adds server lock package 2018-12-17 16:36:57 +01:00
bergquist ff136b6ba8 initial verison of server lock 2018-12-17 16:36:57 +01:00
Torkel Ödegaard c0fc236fcb Merge pull request #14535 from grafana/react-graph-changes
React graph changes
2018-12-17 16:29:00 +01:00
Torkel Ödegaard c20e10a584 Merge branch 'master' into 14409/threshold-ux-changes 2018-12-17 16:25:33 +01:00
Torkel Ödegaard 0fe452ec26 Minor react graph panel refactorings and fixes 2018-12-17 15:38:51 +01:00
Torkel Ödegaard cfae98fae2 Merge pull request #14532 from grafana/fixes-to-user-and-team-picker
Fixes issues with user and team picker
2018-12-17 14:56:05 +01:00
Peter Holmberg adebbd9559 sorting tests for change value 2018-12-17 14:37:12 +01:00
Torkel Ödegaard e80a287f7a Merge pull request #14510 from grafana/14484-table-format-string-epochs
In Table Panel, renders epoch string as date if date column style
2018-12-17 14:37:00 +01:00
Torkel Ödegaard e38a04ba9a Fixes issues with user and team picker 2018-12-17 14:31:43 +01:00
Peter Holmberg e7f966d002 fixing coloring 2018-12-17 14:26:19 +01:00
bergquist 17f8be90ae upgrade to golang 1.11.4 2018-12-17 14:25:47 +01:00
Peter Holmberg 98490084a1 remove printed index 2018-12-17 14:18:28 +01:00
Peter Holmberg e11834e950 updating test 2018-12-17 14:16:29 +01:00
Peter Holmberg ade2f297a7 adding threshold 2018-12-17 14:15:04 +01:00
Torkel Ödegaard 0fd92ef6fb Refactoring react graph 2018-12-17 13:55:25 +01:00
Torkel Ödegaard 3efaf52049 Merge pull request #14274 from grafana/develop
Develop (New Panel Edit UX & Explore All Datasources suppport) -> Master
2018-12-17 13:35:59 +01:00
Torkel Ödegaard 1ac81c3ad0 updated dropdown typeahead to place down instead of up, works better when inside scrollable area 2018-12-17 13:08:09 +01:00
Torkel Ödegaard 7455dfcc84 minor style tweak 2018-12-17 12:57:40 +01:00
Erik Sundell f673d60dae Merge branch 'develop' of https://github.com/grafana/grafana into develop 2018-12-17 11:17:58 +01:00
Erik Sundell e84e6740e6 propagate initial state back to explore query runner 2018-12-17 11:17:16 +01:00
Torkel Ödegaard d912677d80 Merge pull request #14520 from Soitora/patch-1
OAuth Title Fix
2018-12-17 07:22:48 +01:00
Simon Mattila c4126f9910 Update gitlab.md
Change title from Google to GitLab
2018-12-17 00:26:23 +01:00
Simon Mattila 5d190769e6 Update github.md
Change title from Google to GitHub
2018-12-17 00:24:52 +01:00
Torkel Ödegaard d7e5582c76 minor style fixes 2018-12-16 10:31:37 -08:00
Torkel Ödegaard e6b8bfe7e6 Updated snapshot 2018-12-16 10:10:25 +01:00
Torkel Ödegaard 72b9cb9b9f Switched to react-select fork 2018-12-16 09:58:37 +01:00
Torkel Ödegaard 660c9fd467 Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-16 09:21:15 +01:00
Daniel Lee 167e8815d3 ldap: upgrades go-ldap to v3 2018-12-16 01:05:14 +01:00
Daniel Lee 0ebd5e0c80 table: fixes #14484. Renders epoch string if date column style 2018-12-16 00:03:03 +01:00
Daniel Lee 217596b4a1 changelog: adds note for #14483 2018-12-16 00:01:56 +01:00
Torkel Ödegaard 38b5d7862f Fix for no metrics panels, now goes to viz tab and does not show queries tab 2018-12-15 12:08:33 -08:00
Torkel Ödegaard e99dbefb98 minor style fix 2018-12-15 11:29:50 -08:00
Torkel Ödegaard 1b3a520b94 minor change to table panel edit options 2018-12-15 18:09:18 +01:00
Torkel Ödegaard 68b7b6cd97 minor tweaks to text panel 2018-12-15 17:53:52 +01:00
Torkel Ödegaard f67e0827b2 Fixes and cleanup 2018-12-15 10:04:25 +01:00
Simon Podlipsky 2d296715ec Show predefined time ranges as first in timepicker on small screens 2018-12-15 00:55:24 +01:00
Torkel Ödegaard 9773a2d419 Merge pull request #14502 from banjeremy/13765-annotation-editor-outside-viewport
remove check on axis.used in flot
2018-12-14 21:33:40 +01:00
Torkel Ödegaard 248015c937 code cleanup in add panel, and switched off grid css transforms to fix z-index issuse 2018-12-14 20:53:42 +01:00
Torkel Ödegaard bd2c9853ec minor tweaks to alert tab 2018-12-14 19:34:51 +01:00
Torkel Ödegaard b10f558a99 fixed name of alert tab 2018-12-14 17:45:35 +01:00
Torkel Ödegaard 2cf246f946 removed unnessary test 2018-12-14 17:42:14 +01:00
Torkel Ödegaard 9ac11f1d9d updated add panel a bit 2018-12-14 17:39:33 +01:00
Torkel Ödegaard 9d8d5b18ef Merge remote-tracking branch 'origin/develop-addpanelpanel' into add-panel-rewrite 2018-12-14 17:04:33 +01:00
Torkel Ödegaard b15bb4fb95 Merge remote-tracking branch 'origin/master' into develop 2018-12-14 17:02:08 +01:00
Torkel Ödegaard cf1cd4d60f Merge pull request #14500 from grafana/select-refactor
Select refactor
2018-12-14 16:57:38 +01:00
Torkel Ödegaard 6e2f6701ac minor style fix 2018-12-14 16:48:13 +01:00
Torkel Ödegaard beff16bc8d updated snapshot 2018-12-14 16:38:52 +01:00
Torkel Ödegaard 677eb6d179 fixes to unit picker 2018-12-14 16:27:48 +01:00
Peter Holmberg 7c83d7ba82 updates on thresholds component 2018-12-14 16:27:42 +01:00
Jeremy Jones 8d8ef8f97f remove check on axis.used in flot #13765 2018-12-14 09:04:47 -06:00
Torkel Ödegaard 84df0e2dde Added custom scrollbar to select component 2018-12-14 15:25:49 +01:00
ijin08 3c059bc9d6 removed a test that isn't neccessery any more 2018-12-14 14:50:46 +01:00
ijin08 3215f8abfe replaced content in addpanelpanel with three buttons that can create new panel, paste copied panel, and add a new row, to paste panel one must copy one first, code is still quite rough 2018-12-14 14:33:49 +01:00
Torkel Ödegaard 9e4547f787 fixed cloudwatch issue 2018-12-14 14:25:35 +01:00
Torkel Ödegaard cb7ffb4415 select refactor fixes 2018-12-14 14:19:39 +01:00
Peter Holmberg f8c8f2ec2c gauge working without thresholds 2018-12-14 14:18:18 +01:00
Daniel Lee 3581d619f3 Merge pull request #14499 from grafana/14483/copy-invite-link-fix
Fix for copy invite link
2018-12-14 14:17:36 +01:00
Peter Holmberg a7548cd294 Merge remote-tracking branch 'origin/develop' into 14409/threshold-ux-changes 2018-12-14 14:08:53 +01:00
Peter Holmberg 5f4eaad8a7 changin colors 2018-12-14 14:08:29 +01:00
Torkel Ödegaard ae76ddcc3b explore using data source picker 2018-12-14 14:05:47 +01:00
Peter Holmberg d37dae34f2 fixing issue with copy invite link 2018-12-14 13:49:14 +01:00
Peter Holmberg 3662f1c007 getting closer with no thresholds 2018-12-14 13:23:22 +01:00
Torkel Ödegaard 24825dc899 renamed folder to select 2018-12-14 12:59:45 +01:00
Torkel Ödegaard ab31d52b77 Merge branch 'panel-edit-style-changes' into select-refactor 2018-12-14 12:39:35 +01:00
Torkel Ödegaard 58cc2e34d6 User picker using common select componnet 2018-12-14 12:38:36 +01:00
Torkel Ödegaard b9a05a8543 Merge pull request #14494 from grafana/panel-edit-style-changes
Panel edit style changes
2018-12-14 12:27:45 +01:00
Torkel Ödegaard 104292df63 wip: unifying select components 2018-12-14 11:23:05 +01:00
Torkel Ödegaard e40d21459a fixing input unit test failure 2018-12-14 11:03:42 +01:00
Torkel Ödegaard 42ee81a97c fixed issue with switching panels 2018-12-14 10:47:18 +01:00
Torkel Ödegaard 0823712c9a refactored panel-option-section into react component 2018-12-14 09:44:48 +01:00
Pavel 0fe9bfbc3c Merge pull request #3 from grafana/master
Merge master
2018-12-14 09:54:08 +02:00
Torkel Ödegaard ec035d6847 removed console log 2018-12-13 21:35:15 +01:00
Torkel Ödegaard 9c13520e97 updated styles 2018-12-13 21:24:41 +01:00
Peter Holmberg 234095e6df starting with threshold refactor 2018-12-13 16:46:10 +01:00
Erik Sundell 146aa7abab wip: convert angular directives to react components 2018-12-13 16:40:14 +01:00
Torkel Ödegaard dc22beadca wip: style change progress 2018-12-13 16:02:14 +01:00
Carl Bergquist 82adf5393e Merge pull request #14482 from joesis/logging-provisioning-file-reader
log error when resolvePath
2018-12-13 15:16:15 +01:00
Torkel Ödegaard 3517029ede Update CHANGELOG.md 2018-12-13 14:34:30 +01:00
Torkel Ödegaard 8a6ed4814c Update latest.json 2018-12-13 14:31:05 +01:00
Torkel Ödegaard 3f1adf1390 wip: styles are starting to come together 2018-12-13 14:28:44 +01:00
Torkel Ödegaard 889518e8e1 wip: styles 2018-12-13 13:27:33 +01:00
Torkel Ödegaard fe0f66b3f2 wip: testing new styles 2018-12-13 13:14:39 +01:00
Torkel Ödegaard 5fde977185 wip: style changes 2018-12-13 13:05:43 +01:00
Torkel Ödegaard 226e55b188 fixed ordering changing panel types, fixes issues with loading panel options 2018-12-13 11:35:07 +01:00
Peter Holmberg c78d5fb24e Merge remote-tracking branch 'origin/develop' into 14409/threshold-ux-changes 2018-12-13 11:19:16 +01:00
Peter Holmberg 8615de8119 moving min/max to gauge options 2018-12-13 11:16:31 +01:00
Joesis 92a8c5b81b log error when resolvePath 2018-12-13 02:10:29 -08:00
Torkel Ödegaard 1d325cf66f Merge pull request #14423 from grafana/14378-develop-table-options-ux
Removed side menu for column styles
2018-12-13 09:12:05 +01:00
Torkel Ödegaard a9e98feea0 Merge pull request #14476 from grafana/metrics-tab-changes-2
Metrics tab changes 2
2018-12-13 09:11:14 +01:00
Torkel Ödegaard 8994f3c283 Merge pull request #14461 from grafana/gauge-value-mappings
Gauge value mappings
2018-12-13 09:11:01 +01:00
Torkel Ödegaard 633ae8c37a Merge pull request #14457 from grafana/fix/new-datasource-check-lowercase
Check with lowercase
2018-12-13 09:09:56 +01:00
Torkel Ödegaard 77963e68b5 Merge pull request #14472 from grafana/loki-db-mig
migration: renames logging ds to loki ds in data_source table
2018-12-13 09:05:18 +01:00
Torkel Ödegaard f39fd7655e wip: minor style changes 2018-12-13 08:56:20 +01:00
Torkel Ödegaard 666e8e8330 wip: changes 2018-12-13 07:44:58 +01:00
Erik Sundell ad55be9865 break out metric picker and filter 2018-12-13 00:16:48 +01:00
Daniel Lee 90e2175716 migration: renames logging ds to loki ds in data_source table 2018-12-12 20:54:05 +01:00
Daniel Lee 8e00bb340c Merge pull request #14471 from grafana/loki-image
loki: updates the logo
2018-12-12 20:45:22 +01:00
Daniel Lee 2d2254293b loki: updates the logo 2018-12-12 20:34:33 +01:00
Peter Holmberg 1f533ddfe2 fixing tests 2018-12-12 16:20:47 +01:00
Peter Holmberg dbba523d3b mixing color when 2018-12-12 16:16:05 +01:00
Torkel Ödegaard e08e38bd88 Merge pull request #14460 from grafana/14435_fix
Add oauth_auto_login setting to defaults file
2018-12-12 14:51:51 +01:00
Torkel Ödegaard 1751a51088 wip 2018-12-12 14:44:40 +01:00
Torkel Ödegaard 5adb0f79df wip 2018-12-12 14:25:07 +01:00
Erik Sundell 7cc42d7c13 remove on metric type change 2018-12-12 14:08:47 +01:00
Torkel Ödegaard be7e7fcb40 things are working 2018-12-12 13:59:19 +01:00
Erik Sundell f6109d21d2 fix remove filter bug 2018-12-12 13:59:13 +01:00
Erik Sundell d154d16061 use same color for label as in explore dropdown 2018-12-12 13:58:25 +01:00
Erik Sundell ac416ba880 cleanup query filter 2018-12-12 13:57:32 +01:00
Marcus Efraimsson fada00f87e changelog: add notes about closing #8843 #11175 2018-12-12 13:27:25 +01:00
Marcus Efraimsson c46d01dc83 Merge pull request #14090 from marefr/8843_pipeline_doc_count
Fix pipeline aggregations on doc count
2018-12-12 13:21:13 +01:00
Torkel Ödegaard 9f0d7314dd fixed unit tests 2018-12-12 13:05:24 +01:00
Erik Sundell ad9a35198d update failing tests 2018-12-12 12:57:57 +01:00
Erik Sundell bcb218f57c remove redundant default value 2018-12-12 12:55:23 +01:00
Torkel Ödegaard b6a5375af1 wip 2018-12-12 12:51:39 +01:00
Torkel Ödegaard 21e1d7b05b wip 2018-12-12 11:24:18 +01:00
Peter Holmberg 80a2c3b151 redone state 2018-12-12 11:23:33 +01:00
Peter Holmberg 50cd8d995b display value map or range map 2018-12-12 11:04:34 +01:00
Marcus Efraimsson b9e91cab0e add oauth_auto_login setting to defaults file
Making the setting configurable thru environment variable
2018-12-12 10:42:37 +01:00
Erik Sundell ae922747db use new option group in aggregation directive 2018-12-12 09:57:30 +01:00
Torkel Ödegaard 7161b2dc9b wip 2018-12-12 09:51:17 +01:00
Erik Sundell 33146b248e remove redundant default value 2018-12-12 09:14:06 +01:00
Torkel Ödegaard 8497c854f6 Adding mixed query 2018-12-12 08:54:12 +01:00
Peter Holmberg 29bcdef104 Check with lowercase 2018-12-12 08:47:08 +01:00
Torkel Ödegaard 87e6f86f87 wip metrics tab changes 2018-12-12 08:33:49 +01:00
bergquist ed2a9b8e73 changelog: adds note about closing #13754 2018-12-12 08:08:30 +01:00
Torkel Ödegaard 3452ee5a9c wip: making things work again 2018-12-12 06:52:08 +01:00
Torkel Ödegaard fa4fddf7b5 React-select refactorings 2018-12-11 22:17:32 +01:00
Erik Sundell ab5e5de814 wip: add option group component 2018-12-11 20:12:33 +01:00
Erik Sundell b18f064817 wip: add basic option header 2018-12-11 20:11:18 +01:00
Torkel Ödegaard 1d7d72b49d wip: react select css refactoring 2018-12-11 18:49:48 +01:00
Daniel Lee ee275cf2dc Merge pull request #14453 from grafana/readme-explore-link-fix
docs: fix broken link on explore page
2018-12-11 17:26:51 +01:00
Daniel Lee 46565efc04 docs: fix broken link on explore page 2018-12-11 17:17:01 +01:00
Torkel Ödegaard d998527128 wip 2018-12-11 17:03:38 +01:00
Daniel Lee d7ba9c1a54 Merge pull request #14325 from grafana/docs-explore
WIP docs for the new Explore feature
2018-12-11 16:45:35 +01:00
Torkel Ödegaard 45fde57ef9 Merge branch 'develop' into metrics-tab-changes 2018-12-11 16:45:04 +01:00
Torkel Ödegaard b0c014bf24 Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-11 16:44:52 +01:00
Peter Holmberg f7cb5a1fd5 changing type and started on Gauge 2018-12-11 16:44:42 +01:00
Torkel Ödegaard 4dbfcde782 Merge pull request #14446 from grafana/14274-develop-viz-keynav
Change KeyboardNavigation HOC to a component with render prop instead
2018-12-11 16:44:30 +01:00
Peter Holmberg 0ba75a88a5 fix threshold test 2018-12-11 16:06:36 +01:00
Peter Holmberg 5f7bc13678 Adding label 2018-12-11 15:58:48 +01:00
Peter Holmberg 6ab93982ae styling on dropdowns 2018-12-11 15:47:30 +01:00
Torkel Ödegaard 076a1be03a Merge pull request #14449 from grafana/14437-tag-filter
Filter tags select box on text input #14437
2018-12-11 15:21:51 +01:00
Peter Holmberg c2b1f504a0 Merge remote-tracking branch 'origin/develop' into gauge-value-mappings 2018-12-11 15:19:28 +01:00
Peter Holmberg 346f5f2595 Using drop down instead 2018-12-11 15:14:53 +01:00
Johannes Schill 6bb9415b0e Filter tags select box on text input #14437 2018-12-11 15:04:40 +01:00
Peter Holmberg db87c5126b fixed id bug 2018-12-11 14:45:18 +01:00
Peter Holmberg ddf080dab6 Using an id to identify mappings 2018-12-11 14:17:58 +01:00
Johannes Schill a0da303f80 Change KeyboardNavigation from hoc to render prop component 2018-12-11 13:50:01 +01:00
Johannes Schill 07ce88f685 Clean up hoc and extend component props automatically 2018-12-11 13:50:01 +01:00
Johannes Schill 645812f643 Let VizTypePicker use the keyboard navigation hoc 2018-12-11 13:50:01 +01:00
Torkel Ödegaard 4591c3555c Moved more metrics tab to react 2018-12-11 13:36:44 +01:00
Erik Sundell 847f5491bf Wrap react select component in angular directive 2018-12-11 13:14:55 +01:00
Torkel Ödegaard d6c6ba642e Don't show heading for first tab 2018-12-11 10:33:09 +01:00
Torkel Ödegaard 5d4034be5a Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-11 10:13:57 +01:00
Torkel Ödegaard f9110f7902 Merge branch 'master' into develop 2018-12-11 10:00:29 +01:00
Torkel Ödegaard 71bf5ca8c6 Merge pull request #14429 from grafana/docker-blocks-links
Docker blocks: Use links instead of bridge network
2018-12-11 09:14:54 +01:00
Torkel Ödegaard 75a1536c91 Merge pull request #14434 from grafana/14274-reset-search
14274 develop - Reset DsPicker and VizPicker state when closed
2018-12-11 09:14:41 +01:00
Torkel Ödegaard 479869085c Merge pull request #14433 from grafana/14274-develop-viz-keynav
14274 develop - VizPicker keyboard navigation
2018-12-11 09:14:26 +01:00
Torkel Ödegaard 0253792dad Merge pull request #14438 from grafana/davkal/explore-enhanced-log-parsing
Explore: Improved line parsing for logging
2018-12-11 09:10:45 +01:00
Victor Cinaglia 411d67cae7 snapshots: Add support for deleting external snapshots 2018-12-10 18:47:23 -05:00
Daniel Lee a2f4775b8d docs: explore
Documentation for the new Explore feature.

Describes both the Prometheus-specific features and the
Loki (logging) features.
2018-12-10 23:51:14 +01:00
Victor Cinaglia 9d6da10e82 snapshots: Move external snapshot creation to backend 2018-12-10 16:36:32 -05:00
Victor Cinaglia d9d6a4481f snapshots: Add external_delete_url column 2018-12-10 16:25:02 -05:00
Johannes Schill 20134c902b Add keyboard navigation to datasource picker via a hoc. 2018-12-10 21:42:53 +01:00
Johannes Schill 1ffac5a33d Use react's onKeyDown event on the input instead of event listener on document 2018-12-10 21:38:07 +01:00
David Kaltschmidt 71429d7210 Explore: Improved line parsing for logging
- changed log parser API to be more semantic: getting fields, getting values
- regexps become an implementation detail of parser and are no longer part of the API
- improved JSON parser to not be tripped by nested quotation marks
- improved JSON parser to support numbers
- added more tests
2018-12-10 10:05:57 -08:00
Peter Holmberg 76f296e299 fixed typings and remove 2018-12-10 16:57:34 +01:00
Torkel Ödegaard b380f74131 updated publish script 2018-12-10 16:39:54 +01:00
Johannes Schill 6ac8f5c7a5 Unmount component when fading out to reset its state, such as search.. 2018-12-10 15:51:41 +01:00
Torkel Ödegaard 6c3f9effd4 Update CHANGELOG.md 2018-12-10 15:40:43 +01:00
Johannes Schill cdcc316310 Variable rename. Did not make sense at all. 2018-12-10 15:29:51 +01:00
Johannes Schill 856c0ee052 Fix styling for vizPicker keyboard nav and change so only arrow up/down is OK to use 2018-12-10 15:20:32 +01:00
Peter Holmberg 4a57d594e5 fixed styling 2018-12-10 14:50:32 +01:00
Johannes Schill ae5bc366c2 Start adding keyboard navigation to VizPicker 2018-12-10 14:45:49 +01:00
Torkel Ödegaard a0fc013472 Merge pull request #14428 from grafana/14425_time_regions
Fix time regions bugs
2018-12-10 14:40:48 +01:00
Torkel Ödegaard 512b617120 Merge pull request #14427 from grafana/color-picker-position-fix
Fixed issue with colorpicker position above window
2018-12-10 14:39:26 +01:00
Erik Sundell 49e756aa93 use links instead of bridge network 2018-12-10 14:25:29 +01:00
Marcus Efraimsson 8f26fe0fbb fix time regions bugs 2018-12-10 14:25:03 +01:00
Torkel Ödegaard aea74f0e7f Merge pull request #14426 from grafana/fix-singlestat-repeat-variable-issue
fixed issue with singlestat and repeated scopedVars
2018-12-10 14:17:23 +01:00
Torkel Ödegaard 6f061ab159 Merge pull request #14403 from grafana/logs-graph-stacking
Fixed issue with logs graph and stacking
2018-12-10 14:16:28 +01:00
Torkel Ödegaard 0c5fd21327 fixed issue with colorpicker position above window, fixes #14412 2018-12-10 14:07:20 +01:00
Torkel Ödegaard 976d25d6ae fixed issue with singlestat and repeated scopedVars, was only working for time series data sources, and only if there was any series, now scoped vars is always set, fixes #14367 2018-12-10 13:40:32 +01:00
Torkel Ödegaard 6433ff4bdc Merge pull request #14424 from grafana/fix-search-tag-issues
Fix search tag UI issues
2018-12-10 13:39:04 +01:00
Torkel Ödegaard e05f6c5397 fix search tag issues, fixes #14391 2018-12-10 13:23:38 +01:00
Torkel Ödegaard acf24bd679 Clear query models when changing data source type, fixes #14394 2018-12-10 12:56:49 +01:00
Torkel Ödegaard 74b3a509f7 Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-10 12:32:37 +01:00
Torkel Ödegaard 514c8a0210 fixed issue with grid responsive mode 2018-12-10 12:20:14 +01:00
Torkel Ödegaard 336fb4180f Merge pull request #14285 from grafana/14280_fix_time_region
Fix time regions using zero hours
2018-12-10 12:12:19 +01:00
Torkel Ödegaard 7e0bc8f30d fixed max height issue not being respected by react select dropdown 2018-12-10 12:02:27 +01:00
ijin08 ee55a9c18b removed side menu for column styles, added small header to column styles with a border 2018-12-10 11:59:02 +01:00
Carl Bergquist 1b6ed5815e Merge pull request #14405 from IntegersOfK/master
Allow backslash escaping in custom variables
2018-12-10 07:40:18 +01:00
Carl Bergquist e61d87704d Merge pull request #14417 from Napsty/fix-variable-name-in-rp-warning
Use correct variable name in fail text
2018-12-10 07:13:59 +01:00
Claudio Kuenzler 1dc3728f6a Use correct variable name in fail text 2018-12-10 06:54:12 +01:00
David Kaltschmidt 117adbbe5d Fix search field styles 2018-12-09 14:39:25 -08:00
David Kaltschmidt 9293ff06cd Enable search also after editing 2018-12-09 18:53:03 +01:00
David Kaltschmidt 6b9200a606 Explore: Split logging query into selector and search
- add second query field to logging datasource query component
- second field manages search term, first field manages stream selectors
- improved logging cheat sheet to get started
2018-12-09 18:44:59 +01:00
Torkel Ödegaard 1f7fece802 Merge pull request #14413 from grafana/davkal/fix-logging-meta-wrapping
Fix logs panel meta wrap
2018-12-09 18:44:47 +01:00
Torkel Ödegaard a9fc77b411 Merge pull request #14408 from grafana/davkal/fix-14407
Explore: Hide scanning again after result was found
2018-12-09 17:46:14 +01:00
Torkel Ödegaard 837a621502 Merge pull request #14410 from grafana/davkal/explore-logging-dedup-description
Explore: Logging dedup tooltips
2018-12-09 17:44:45 +01:00
Torkel Ödegaard c58f818ea2 Merge pull request #14411 from grafana/davkal/fix-14362
Explore: dont pass all rows to all rows, fixes profiler
2018-12-09 17:42:47 +01:00
David Kaltschmidt b0c431ae67 Fix logs panel meta wrap 2018-12-09 17:22:35 +01:00
David Kaltschmidt 61924e9130 Explore: dont pass all rows to all rows, fixes profiler
- react profiler seems to evaluate all props of all components down the tree
- this becomes slow when 1000 rows are passed to 1000 rows and their labels
- use getter function instead to ask for rows on demand
2018-12-09 13:23:44 +01:00
David Kaltschmidt 487de2b832 Explore: Logging dedup tooltips
- use title attribute of toggle button group
- add descriptions for all dedup options
2018-12-09 13:06:34 +01:00
David e5c547c504 Merge pull request #14406 from grafana/davkal/fix-14390
Explore: Fix timepicker inputs for absolute dates
2018-12-09 11:45:17 +01:00
David Kaltschmidt 1bcc866341 Explore: Hide scanning again after result was found
- when query result was found, stop scanning
- this hides the scan status again
2018-12-09 11:42:35 +01:00
Torkel Ödegaard 6dc050d01e Merge pull request #14401 from evergage/14399-cloudwatch-bouncerate
Add the AWS/SES Cloudwatch metrics of BounceRate and ComplaintRate.  …
2018-12-09 11:06:01 +01:00
David Kaltschmidt 60ee4499e7 Explore: Fix timepicker inputs for absolute dates
- Timepicker needs to keep from and to internally as strings
for the fully controlled inputs
- make sure from and to are strings when time is reset
2018-12-09 07:05:27 +01:00
AJ West 6c95acc837 Switch to global match for full browser support of escaped custom vars 2018-12-08 18:23:08 -05:00
AJ West 2b3d366f7c Allow backslash escaping in custom variables 2018-12-08 17:31:05 -05:00
Torkel Ödegaard 14cf846e73 Fixed issue with logs graph and stacking 2018-12-08 11:15:02 -08:00
Torkel Ödegaard 683b718e2b align yellow collor with graph in logs table 2018-12-08 09:45:02 -08:00
Torkel Ödegaard a3dd29fb66 Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-08 13:03:58 +01:00
Torkel Ödegaard 912dc0f2a9 Merge pull request #14392 from grafana/14377-develop-graph-options
Removed graph side menu
2018-12-08 13:03:42 +01:00
Torkel Ödegaard 1bb535bbe3 minor style change 2018-12-08 12:54:36 +01:00
Scott Glajch 62a5cd27ba Add the AWS/SES Cloudwatch metrics of BounceRate and ComplaintRate. Pull request #14399 2018-12-07 16:42:29 -05:00
Torkel Ödegaard 3d0c54a946 logs style polish 2018-12-07 12:13:23 -08:00
Torkel Ödegaard efede26eea Merge pull request #14382 from grafana/davkal/remove-explore-tab
Remove Explore > "New tab" from sidebar
2018-12-07 20:24:13 +01:00
Torkel Ödegaard 30c2cc4b5c allow sidemenu sections without children still have a hover menu/header 2018-12-07 11:14:32 -08:00
Torkel Ödegaard cb59f388ca explore logs options styling 2018-12-07 17:23:35 +01:00
Torkel Ödegaard bfbb44af03 transparent toggle style and new button group style 2018-12-07 17:15:46 +01:00
Peter Holmberg a0a06911d8 Toggle buttons 2018-12-07 17:08:28 +01:00
Peter Holmberg 368f1f67e4 render a value mapping row 2018-12-07 16:55:58 +01:00
ijin08 bd589b61bd removed side menu from display options, kept overrides in display options, moved thresholds and time regions to its own section in visualization 2018-12-07 15:18:43 +01:00
Peter Holmberg 4f39df900c Merge remote-tracking branch 'origin/develop' into gauge-value-mappings 2018-12-07 15:10:32 +01:00
Torkel Ödegaard 79933299c7 Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-07 15:09:09 +01:00
Peter Holmberg d474fd1b58 Merge remote-tracking branch 'origin/develop' into gauge-value-mappings 2018-12-07 15:08:24 +01:00
Torkel Ödegaard eb6d0e9f51 Merge branch 'master' into develop 2018-12-07 14:59:38 +01:00
bergquist 2b5b16f5d3 changelog: adds note about closing #11221 2018-12-07 14:50:41 +01:00
Carl Bergquist 93dee6d4c2 Merge pull request #11410 from PatrickSchuster/add_google_hangouts_chat_notifier
Add Google Hangouts Chat notifier.
2018-12-07 14:49:28 +01:00
bergquist 9eea585773 removes unused code 2018-12-07 14:39:44 +01:00
bergquist 5d720674e3 Merge branch 'master' into add_google_hangouts_chat_notifier
* master: (322 commits)
  graphInterval needs to update after query execution, fixes #14364
  Explore: Parse initial dates
  Aligned styling of stats popover/box with rest of grafana & minor css refactoring
  Prometheus: Make result transformer more robust for empty responses
  Rebase fixes
  Explore: Logging line parsing and field stats
  fixed unit tests
  made unknown color theme aware and sync with graph color, some minor cleanup
  Explore: improve error handling
  use render props instead of cloneElement
  sort of a hacky way to figure if the small variation should be used for the label
  add basic button group component, using the the same label style as is
  explore logs styling
  wip: alternative level styling & hover effect
  wip: explore logs styling
  more detailed error message for loki
  If user login equals user email, only show the email once #14341
  UserPicker and TeamPicker should use min-width instead of fixed widths to avoid overflowing form buttons.  #14341
  wip: explore logs styling
  restoring monospace & making sure width are correct when hiding columns
  ...
2018-12-07 14:31:13 +01:00
bergquist a90bba859a fixes merge error 2018-12-07 14:17:09 +01:00
Erik Sundell 569f5e8d5e remove result format. might add this later 2018-12-07 14:13:05 +01:00
Erik Sundell 68c2d2631e filter out build in datasources. add unit test 2018-12-07 14:11:40 +01:00
Daniel Lee 687cf013bd Merge pull request #14385 from grafana/davkal/fix-explore-date-parsing
Explore: Parse initial dates
2018-12-07 14:10:36 +01:00
Erik Sundell b1a40992d3 Merge branch 'develop' of https://github.com/grafana/grafana into develop 2018-12-07 13:58:07 +01:00
Torkel Ödegaard 5d22cdab28 click on dashboard title moves you back to dashboard instead of search 2018-12-07 13:50:50 +01:00
Torkel Ödegaard 619b4b4872 Merge pull request #14336 from grafana/davkal/explore-line-parsing
Explore: Logging line parsing and field stats
2018-12-07 13:24:43 +01:00
Torkel Ödegaard a89e21c561 Merge pull request #14386 from grafana/explore-fix-interval-update
Explore: graphInterval needs to update after query execution
2018-12-07 13:21:43 +01:00
Torkel Ödegaard ef08b9cd2b graphInterval needs to update after query execution, fixes #14364 2018-12-07 13:07:08 +01:00
David Kaltschmidt a990b69baa Explore: Parse initial dates
- parse dates passed from URL
- keep everything local time for now
2018-12-07 12:41:47 +01:00
Daniel Lee 140205a783 Merge pull request #14381 from grafana/davkal/fix-prometheus-transformation-error
Prometheus: Make result transformer more robust for empty responses
2018-12-07 12:22:45 +01:00
Torkel Ödegaard 7cb456ea23 Aligned styling of stats popover/box with rest of grafana & minor css refactoring 2018-12-07 11:28:22 +01:00
David Kaltschmidt 80d62013b2 Remove Explore > "New tab" from sidebar
- we don't support tabs yet, might as well remove the entry
2018-12-07 11:27:46 +01:00
Erik Sundell 45fbbe8021 initialize empty variables array in constructor so that datasources can use the array in explore 2018-12-07 11:27:11 +01:00
David Kaltschmidt c0c06e4dd8 Prometheus: Make result transformer more robust for empty responses
- some prometheus-compatible backends may return `null` instead of empty lists
- test for lists before iterating
- added tests for empty responses
2018-12-07 11:22:55 +01:00
Torkel Ödegaard b8b468f733 Merge pull request #14343 from grafana/develop-14333
Update react panel header when changing angular panel settings
2018-12-07 10:54:00 +01:00
Torkel Ödegaard dbb34020ca Merge pull request #14375 from moznion/fix_quota_updating
Fix quota updating
2018-12-07 10:38:32 +01:00
Erik Sundell 260d0189b6 add table support flag in influx config 2018-12-07 10:29:38 +01:00
Erik Sundell 97180d5106 add scoped vars to query options 2018-12-07 10:28:51 +01:00
David Kaltschmidt fb4925a8c2 Rebase fixes 2018-12-07 10:22:52 +01:00
David Kaltschmidt acd52e6a93 Explore: Logging line parsing and field stats
Lazily parse lines and display stats for field when clicked on.

- log line parsers for JSON (basic), and logfmt
- delayed parsing in case user moves to other line
- reuse label stats for field stats
2018-12-07 09:59:55 +01:00
Torkel Ödegaard 9cc4e05205 Merge pull request #14366 from grafana/14341-wide-picker-no-button
Pickers with min-width instead of width
2018-12-07 09:05:22 +01:00
Torkel Ödegaard ef77748a1b Merge pull request #14368 from grafana/explore-logs-styling-alt2
Explore logs styling
2018-12-06 22:30:06 +01:00
Torkel Ödegaard e7fe0bd668 fixed unit tests 2018-12-06 12:29:55 -08:00
David be2d9edd1f Merge pull request #14353 from grafana/14249-multi-button-group
Multi button group
2018-12-06 21:27:34 +01:00
Torkel Ödegaard 9ac3821454 made unknown color theme aware and sync with graph color, some minor cleanup 2018-12-06 11:55:01 -08:00
Torkel Ödegaard 9c9d6c15e0 Merge branch 'master' into explore-logs-styling-alt2 2018-12-06 11:32:11 -08:00
Torkel Ödegaard 940dda6c30 Merge pull request #14369 from grafana/davkal/explore-error-handling
Explore: improve error handling
2018-12-06 20:26:47 +01:00
Marcus Efraimsson 093c9425e9 Merge pull request #14313 from dhenneke/postgres-use-table-not-schema-constraint
Improve PostgreSQL Query Editor if using different Schemas
2018-12-06 17:21:48 +01:00
Carl Bergquist 985576b482 Merge pull request #14365 from bergquist/loki_error_message
more detailed error message for loki
2018-12-06 17:17:19 +01:00
Peter Holmberg 6fff8e4a1c initial stuff 2018-12-06 17:09:32 +01:00
David Kaltschmidt 15eb3bb2f8 Explore: improve error handling 2018-12-06 16:47:36 +01:00
Erik Sundell b74c099773 use render props instead of cloneElement 2018-12-06 16:38:50 +01:00
Erik Sundell 6f8293af4e sort of a hacky way to figure if the small variation should be used for the label
improve light theme look

use new toggle button group in logs

stop propagation on click event

clean up styles

improve support for small when a label is present

refactoring - move toggle button to the group file. turn it into a stateless component

improve support for light theme

rename dedupe to dedup

use radius variable
2018-12-06 16:37:23 +01:00
Erik Sundell 0d7b09b0f6 add basic button group component, using the the same label style as is
remove not used code

cleanup
2018-12-06 16:37:09 +01:00
Johannes Schill fadabd997a Restore PluginEditCtrl accidently removed 2018-12-06 16:06:47 +01:00
Torkel Ödegaard 9a06fad24d Merge pull request #14352 from grafana/explore-logs-css-refactor
Explore logs css refactor
2018-12-06 15:52:25 +01:00
Torkel Ödegaard 5ac3b5a561 explore logs styling 2018-12-06 15:51:42 +01:00
Torkel Ödegaard 03b5f32e07 wip: alternative level styling & hover effect 2018-12-06 15:13:00 +01:00
Torkel Ödegaard b9517d1104 wip: explore logs styling 2018-12-06 14:03:57 +01:00
bergquist e230827c06 more detailed error message for loki
if grafana tries to access loki without promtail running
it will return an error.
2018-12-06 13:59:19 +01:00
Johannes Schill 02b14d33a6 If user login equals user email, only show the email once #14341 2018-12-06 13:46:04 +01:00
Johannes Schill 114a264da4 UserPicker and TeamPicker should use min-width instead of fixed widths to avoid overflowing form buttons. #14341 2018-12-06 13:46:04 +01:00
Torkel Ödegaard 25b5520345 Merge pull request #14361 from grafana/explore-logs-bucket-increase
fixed logs to time series calculation issue, increased bucket size
2018-12-06 13:31:59 +01:00
Torkel Ödegaard 86bb36fe97 wip: explore logs styling 2018-12-06 13:30:48 +01:00
Torkel Ödegaard 665ac229b6 restoring monospace & making sure width are correct when hiding columns 2018-12-06 12:49:28 +01:00
Torkel Ödegaard 2e6690428f fixed logs to time series calculation issue, increased bucket size, fixes #14248 2018-12-06 12:12:43 +01:00
Johannes Schill 8460b48c24 Always open panel links in new window if user asked for it #14333 2018-12-06 11:19:41 +01:00
Johannes Schill 276f2567ee Changing from PureComponent to Component to re-render on link updates made in Angular #14333 2018-12-06 10:54:31 +01:00
Torkel Ödegaard e884cf6250 minor tweaks, now table renders faster and changes less on second stage rendering 2018-12-06 10:53:01 +01:00
Torkel Ödegaard afd7580598 explore logs css refactoring, step1 2018-12-06 10:53:01 +01:00
Torkel Ödegaard c7d701c8fa explore logs styling poc, WIP 2018-12-06 10:53:01 +01:00
Daniel Lee 8bac55ca70 Merge pull request #14350 from grafana/rename-logging-ds
Rename Grafana Logging Datasource to Loki
2018-12-06 10:34:30 +01:00
Johannes Schill d62cd8a5c5 Fix transparent option #14333 2018-12-06 10:34:27 +01:00
Johannes Schill a516ff81c9 Add prop key to panelPropsString to avoid a bug when changing another value and the render doesnt trigger 2018-12-06 09:39:17 +01:00
Daniel Lee 40898e1cd6 loki: adds proper error handling for config page
This handles three different error cases for the
config page so that the user gets an error and not
just a blank red error box.
2018-12-06 00:42:31 +01:00
Daniel Lee 721e1d7555 renames Grafana Logging ds to Loki 2018-12-06 00:42:31 +01:00
Torkel Ödegaard 8fa7a71d32 Merge pull request #14340 from grafana/datasource-settings-isdefault
Datasource settings isdefault
2018-12-05 20:37:44 +01:00
Johannes Schill 827ffaccd3 Pass some panel props down as strings to trigger render #14333 2018-12-05 14:57:57 +01:00
Johannes Schill ed034b4288 Trigger panel.render on title, description, links change #14333 2018-12-05 14:56:29 +01:00
moznion 4397ee61d0 Put issue number to test code 2018-12-05 22:47:41 +09:00
moznion d1e1cde00e Fix bug what updating user quota doesn't work
Reason is same as 061e06c226
2018-12-05 22:29:07 +09:00
moznion 061e06c226 Fix bug what updating org quota doesn't work
https://github.com/grafana/grafana/blob/3c330c8e4c0b0f9fb258801ba8a7fe2586bbc819/pkg/services/sqlstore/quota.go#L106

In the real use case, `has` that is described by the above code is always `false` because it includes `Updated` in a query.

So this commit fixes this issue.
2018-12-05 22:19:40 +09:00
Torkel Ödegaard 128168ec92 Merge pull request #14328 from grafana/gauge-icon
add icon
2018-12-05 13:36:17 +01:00
Torkel Ödegaard 09380399ef Merge pull request #14331 from grafana/develop-tooltip-css
Portal component
2018-12-05 13:36:03 +01:00
Mario Trangoni 37bb8840f0 public/app/plugins/*: Fix some misspell issues 2018-12-05 13:13:29 +01:00
Mario Trangoni 400db64db5 public/sass/*: Fix misspell issue 2018-12-05 13:09:27 +01:00
Mario Trangoni ab9f65a4cf public/app/features/*: Fix some misspell issues 2018-12-05 13:08:00 +01:00
Mario Trangoni 0f74843332 public/app/core/*: Fix some misspell issues 2018-12-05 13:02:58 +01:00
Mario Trangoni b2ef857020 README.md: Fix small typo 2018-12-05 12:59:56 +01:00
Peter Holmberg 690e701f6d fix snapshots 2018-12-05 12:50:14 +01:00
Peter Holmberg 72b7497d66 Added isDefault switch on settings 2018-12-05 11:47:02 +01:00
Torkel Ödegaard e4e408676f Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-05 11:20:25 +01:00
Torkel Ödegaard e01c196d88 fix to switch component 2018-12-05 11:19:38 +01:00
Johannes Schill 7d6db12f34 Rename BodyPortal to Portal and accept prop "root" which is where the portal should be placed 2018-12-05 10:50:26 +01:00
Torkel Ödegaard aa6c52a1ba Merge pull request #14323 from grafana/develop-tooltip-css
Small tooltip css-adjustments and add css for position "bottom-start"…
2018-12-05 10:40:10 +01:00
Johannes Schill 1bbe48e9c5 Create a portal and use it with our popper component (tooltip and popover) to avoid potential overflow-/zindex-bugs 2018-12-05 10:38:53 +01:00
Carl Bergquist 3c330c8e4c Merge pull request #14317 from mjtrangoni/fix-misspell-issues
pkg/*: Fix misspelling issues using locale US
2018-12-05 10:34:28 +01:00
Peter Holmberg 2de984cbde add icon 2018-12-05 10:33:15 +01:00
Torkel Ödegaard 825b819270 Merge pull request #14316 from grafana/embedding-fix
fix for panel height when embedding
2018-12-05 10:32:48 +01:00
Torkel Ödegaard 311ec3c0af Merge pull request #14324 from grafana/panel-initialized-fix
fix for panel-initialized event not being called
2018-12-05 10:32:25 +01:00
Torkel Ödegaard 5f8001689b explore data source selector fix 2018-12-05 10:22:26 +01:00
Torkel Ödegaard 180ca021b5 Merge branch 'master' into develop 2018-12-05 10:17:22 +01:00
Johannes Schill 0a8f23d8a6 Update css to use the border-radius variable and add a new variable for the popper's distance to its ref 2018-12-05 09:39:03 +01:00
Torkel Ödegaard 769407cd34 Merge pull request #14314 from nitti/add_influxdb_cumulative_sum
added support for influxdb cumulative_sum function in tsdb
2018-12-05 09:29:04 +01:00
Torkel Ödegaard 735c28580d Update README.md 2018-12-05 09:26:01 +01:00
Torkel Ödegaard 1785e40e9d Merge pull request #14322 from grafana/develop-readme-fix
Readme: We should write Node.js the same way in all places in the readme
2018-12-05 09:24:50 +01:00
Torkel Ödegaard 757cada4a5 fix for panel-initialized event not being called 2018-12-05 09:23:47 +01:00
Torkel Ödegaard 0ad42641a2 Merge pull request #14303 from grafana/develop-keep-panel-settings
Develop keep panel settings when switching visualizations
2018-12-05 09:06:55 +01:00
Torkel Ödegaard 4872cef808 refactored and added tests for panel model remember properties 2018-12-05 07:33:21 +01:00
Torkel Ödegaard a6ef156922 Merge pull request #14320 from briangann/20181104_remove_trace_output_for_routes
redact value for plugin proxy routes
2018-12-05 06:52:32 +01:00
Brian Gann 02365514f9 redact value for plugin proxy routes 2018-12-04 22:35:00 -06:00
Mario Trangoni fadd816d89 pkg/*: Fix misspell issues
See,
$ find . -type f | xargs misspell -locale US | grep -vi -e vendor -e devenv -e Unknwon -e Destory | grep pkg
./pkg/services/sqlstore/org_test.go:190:15: "frome" is a misspelling of "from"
./pkg/tsdb/elasticsearch/response_parser.go:544:24: "Unkown" is a misspelling of "Unknown"
./pkg/tsdb/opentsdb/opentsdb.go:87:20: "marshalling" is a misspelling of "marshaling"
./pkg/components/dynmap/dynmap_test.go:2:7: "Licence" is a misspelling of "License"
./pkg/components/dynmap/dynmap.go:2:7: "Licence" is a misspelling of "License"
2018-12-04 23:29:34 +01:00
Torkel Ödegaard e31490ac68 fix for panel embedding. Solo panel height was not correctly set. Made panel--solo into panel-solo class. in develop branch we have remove the need for the panel class 2018-12-04 12:36:43 -08:00
Torkel Ödegaard 6c46a1c8ea Merge pull request #13873 from grafana/davkal/babel-7
JS tooling: upgrade to babel 7
2018-12-04 21:16:35 +01:00
Tom Nitti 1e53c12921 added support for influxdb cumulative_sum function in tsdb 2018-12-04 12:46:50 -06:00
Dominik Henneke b450b778cb Use buildTableConstraint instead of buildSchemaConstraint to find the datatype of a column if using a table from a different database schema 2018-12-04 19:26:12 +01:00
Torkel Ödegaard 0c855fb974 Merge pull request #14308 from grafana/davkal/explore-dedup-number
Explore: Display duplicate row count as number
2018-12-04 17:57:09 +01:00
Johannes Schill 6d7374d982 Readme: We should write Node.js the same way in all places in the readme 2018-12-04 17:16:08 +01:00
Johannes Schill e55659192a Small tooltip css-adjustments and add css for position "bottom-start" used by the panel header corner 2018-12-04 17:00:00 +01:00
Johannes Schill c2aa64595a Merge pull request #14234 from grafana/gauge-value-options
Gauge value options
2018-12-04 16:30:34 +01:00
David Kaltschmidt 6980d2e142 Explore: Display duplicate row count as number
- the pips were hard to see
- make it really clear which rows are duplicates by allocating a column to show number
2018-12-04 16:21:27 +01:00
David c4a89eb32d Merge pull request #14277 from grafana/davkal/explore-logging-live-preview
Explore: Logging query live preview of matches
2018-12-04 16:20:01 +01:00
David Kaltschmidt b95b796a34 Adapt styles 2018-12-04 15:58:10 +01:00
David Kaltschmidt 6ee7459f22 Explore: Logging query live preview of matches
A logging query has a selector part and a regexp. The regexp matches are highlighted when results return.
This change adds live preview to matches when modifying the regexp in a search field.

- delegate retrieval of match query to datasource
- datasource returns search expressions to be used to highlight a live preview of matches
- logs row now takes preview highlights
- logs row renders preview highlights with dotted line to distinguish from query run matches (solid line)
- fix react-highlight-words version to ensure custom chunk matcher
- custom chunk matcher can now also take incomplete regexps, eg, `(level` without inifinte looping
- perf: debounce of live preview to 500ms
- perf: only top 100 rows get the live preview
- preview is only supported with one query row (multiple rows semantic makes this tricky: regexp for row n should only filter results for query n)
2018-12-04 15:47:51 +01:00
David 34b8c5bb61 Merge pull request #14278 from grafana/14272-scan-old-logs
only make it possible to scan for older logs if there is at least one…
2018-12-04 15:44:55 +01:00
Torkel Ödegaard 6cb639baaa Merge pull request #14283 from grafana/explore-styling-fixes
Misc styling fixes to explore
2018-12-04 15:17:10 +01:00
Torkel Ödegaard 33dd880e09 Merge pull request #14295 from grafana/develop-visualization-search
Add VizPicker search
2018-12-04 15:11:41 +01:00
Torkel Ödegaard 401b470ebb added max-widths to explore start pages boxes 2018-12-04 15:06:30 +01:00
Johannes Schill fe9e4b51f1 Alert tab fails when datasource method targetContainsTemplate doesnt exist #14274 2018-12-04 15:00:37 +01:00
Erik Sundell 27c4db06fc improve comments 2018-12-04 15:00:24 +01:00
Torkel Ödegaard 1fddb6144d fixed promql and loggging syntax so all punctuation chars are treated the same, remove hover move 2018-12-04 14:57:01 +01:00
Erik Sundell 9c8bd34787 remove all query empty related code. root cause of the problem was to fix hasNonEmptyQuery 2018-12-04 14:55:56 +01:00
Johannes Schill b8c6577626 Let the cached props from previous visualization be the masters, unless specified in keepLatestProps const 2018-12-04 14:39:56 +01:00
Johannes Schill 1ad4b44ec1 POC on how to save away settings from a viztype and restore when switching back to it #14274 2018-12-04 14:19:55 +01:00
Erik Sundell 8b3bb95007 remove redudant spread 2018-12-04 14:01:32 +01:00
Erik Sundell 4e591653bd Set query empty condition in render function. Also clear query transactions when no valid query is present 2018-12-04 13:26:26 +01:00
Erik Sundell 2af78aca8e Remove query empty from model 2018-12-04 13:23:26 +01:00
David 66c2854b11 Merge pull request #14275 from grafana/davkal/explore-logging-label-stats
Explore: Logging label stats
2018-12-04 13:02:29 +01:00
Torkel Ödegaard 47523f80dd fixed logging start page 2018-12-04 12:59:24 +01:00
Peter Holmberg f77c354341 Merge remote-tracking branch 'origin/develop' into gauge-value-options 2018-12-04 12:56:54 +01:00
Torkel Ödegaard ac6170a7cc Merge branch 'master' into explore-styling-fixes 2018-12-04 12:53:24 +01:00
David Kaltschmidt ffa584baec Use popover styles for stats popover 2018-12-04 12:50:29 +01:00
David Kaltschmidt a08042ea18 Fine tune stats styles 2018-12-04 12:41:32 +01:00
David Kaltschmidt 9f0b1e533f Tests for label stats calculation 2018-12-04 12:41:32 +01:00
David Kaltschmidt 5916cb3e7c Explore: Logging label stats
- added filter and stats icons to log stream labels
- removed click handler from label itself
- click on stats icon calculates label value distribution across loaded logs lines
- show stats in hover
- stats have indicator which value is the current one
- showing top 5 values for the given label
- if selected value is not among top 5, it is added
- summing up remaining label value distribution as Other
2018-12-04 12:41:32 +01:00
David a69ab2fb3a Merge pull request #14299 from grafana/14273-clear-scanning
Explore: Stop scanning when clear all button is clicked
2018-12-04 12:37:04 +01:00
David f73a479838 Merge pull request #14296 from grafana/davkal/explore-grid
Explore: return to grid layout for logs table
2018-12-04 12:34:58 +01:00
Erik Sundell f8cef73b5b stop scanning when clear all button is clicked 2018-12-04 11:28:04 +01:00
Leonard Gram 9a771555f3 build: update latest when pushing docker. 2018-12-04 11:16:49 +01:00
Erik Sundell 2be92af456 Use origin meta 2018-12-04 11:13:16 +01:00
Erik Sundell 541a691aca only display scan button if there is at least one existing selector that returned an empty result 2018-12-04 11:00:21 +01:00
Peter Holmberg 5e1005f66c minor refactoring 2018-12-04 10:50:40 +01:00
David Kaltschmidt 4ce79349a3 Explore: return to grid layout for logs table
- better column control than flexbox
- increased gutter and row spacing
2018-12-04 10:48:28 +01:00
Johannes Schill bc5a0d9120 Add VizPicker search #14274 2018-12-04 10:42:01 +01:00
Marcus Efraimsson 346e617a11 changelog: add notes about closing #11067 2018-12-04 10:24:38 +01:00
Marcus Efraimsson d507c73c12 Merge pull request #14265 from danielbh/feat/prevent-remove-last-admin
Fix prevent removing last grafana admin permissions
2018-12-04 01:20:44 -08:00
Torkel Ödegaard 1283a3292d fixed grabage in markup 2018-12-04 10:16:51 +01:00
Pavel bf55f36e95 Merge pull request #2 from grafana/master
Update master
2018-12-04 11:08:10 +02:00
Torkel Ödegaard 1828ace4b3 fix: align input backgrounds for code editors 2018-12-04 09:41:36 +01:00
Marcus Efraimsson 70eedc1fde Merge pull request #14294 from flopp999/patch-10
fixedUnit for Flow:l/min and mL/min
2018-12-04 00:36:27 -08:00
flopp999 8caeb13026 fixedUnit for Flow:l/min and mL/min
got stranged result with decimalSIPrefix
2018-12-04 08:03:25 +01:00
danielbh d1b8f13c66 feat: #11067 prevent removing last grafana admin permissions 2018-12-03 20:05:52 -05:00
Torkel Ödegaard 729d1d1da9 another style fix for broken dark theme word highlight 2018-12-03 11:55:30 -08:00
Marcus Efraimsson ad33cd5c5c fix time regions using zero hours 2018-12-03 18:06:37 +01:00
Torkel Ödegaard 44414c4346 Misc styling fixes to explore: start page, slate code editor colors, text highlight in auto completeter suggestion 2018-12-03 17:20:02 +01:00
Erik Sundell e21ca3f545 Revert commit 2018-12-03 17:17:57 +01:00
Erik Sundell d9d84f45bc only make it possible to scan for older logs if there is at least one non failing selector 2018-12-03 16:58:46 +01:00
Marcus Efraimsson e9a8185da1 update package.json to next version 2018-12-03 16:49:32 +01:00
David Kaltschmidt d150b62d06 Stick to .tsx? for babel file test 2018-12-03 16:32:50 +01:00
Marcus Efraimsson 5641f45349 changelog: add notes about closing #13815 2018-12-03 15:52:16 +01:00
Marcus Efraimsson 95218c13ce Merge pull request #14262 from kornholi/fix/dataproxy-auth
dataproxy: Override incoming Authorization header
2018-12-03 06:49:31 -08:00
Marcus Efraimsson b54061f4bd changelog: add notes about closing #14246 2018-12-03 15:04:48 +01:00
Peter Holmberg b6ef10b8db arrow function 2018-12-03 15:02:41 +01:00
Marcus Efraimsson ffec795fab Merge pull request #14232 from SilverFire/security-password-reset
Prevent password reset when login form is disabled or either LDAP or Auth Proxy is enabled
2018-12-03 06:02:29 -08:00
Marcus Efraimsson 4de28ef88a changelog: add notes about closing #12653 2018-12-03 14:47:02 +01:00
Marcus Efraimsson acb45867f8 Merge pull request #14179 from mattiarossi/master
Add support for offset in date histogram aggregation
2018-12-03 05:43:42 -08:00
Peter Holmberg 2f78f46afa fix for add/remove labels 2018-12-03 14:37:42 +01:00
SilverFire - Dmitry Naumenko 257802e750 Hid "Forgot your password" link from login menu when reset is disabled 2018-12-03 15:35:25 +02:00
SilverFire - Dmitry Naumenko 474197269e Prevent password reset when login form is disabled or either LDAP or Auth Proxy is enabled 2018-12-03 15:32:26 +02:00
Peter Holmberg b4d5ddd6f4 fix for initial options 2018-12-03 13:33:17 +01:00
Torkel Ödegaard 9cbdd07315 Merge branch 'panel-edit-in-react-sidemenu' into develop 2018-12-03 13:21:07 +01:00
Torkel Ödegaard ab33cfd7c8 minor css fixes 2018-12-03 03:31:55 -08:00
Torkel Ödegaard d16b348868 Merge pull request #14257 from grafana/davkal/fix-14250
Explore: Fix logging query parser for regex with quantifiers
2018-12-03 12:25:10 +01:00
Marcus Efraimsson 246c1ca79d update changelog 2018-12-03 12:18:11 +01:00
Marcus Efraimsson 9c1c21eed2 update latest.json to latest stable version 2018-12-03 12:17:02 +01:00
Marcus Efraimsson 5c4b91c65e new stable docs version 2018-12-03 12:16:08 +01:00
Torkel Ödegaard bd89b4e6a5 Merge branch 'panel-edit-in-react' into develop 2018-12-03 02:58:51 -08:00
Torkel Ödegaard 9404d36ab5 Merge pull request #14135 from grafana/panel-edit-in-react
React Panel Editor Mode (For Angular and React Panels)
2018-12-03 11:50:06 +01:00
Torkel Ödegaard d38a0a0b64 Merge pull request #14106 from grafana/unit-picker
Unit picker
2018-12-03 10:53:48 +01:00
David ba18b470a4 Merge pull request #14260 from grafana/davkal/fix-14258
Explore: Show logging errors from backend
2018-12-03 10:00:22 +01:00
Torkel Ödegaard c99861a7b3 minor css fix 2018-12-03 00:46:45 -08:00
Peter Holmberg fd8fe35e29 redid props for gauge options 2018-12-03 09:37:45 +01:00
Carl Bergquist 3c8515bb77 Merge pull request #14220 from mjtrangoni/fix-misspell-issues
Fix misspelling issues using locale US
2018-12-03 09:18:46 +01:00
Kornelijus Survila 0cafd9a663 dataproxy: Override incoming Authorization header 2018-11-30 12:12:55 -07:00
David fab2597650 Merge pull request #14259 from grafana/14237-prevent-table-crash
change obj order when merging so that correct format is being used
2018-11-30 16:37:50 +01:00
Marcus Efraimsson 314152ebf6 changelog: add notes about closing #14228 2018-11-30 16:24:24 +01:00
Marcus Efraimsson 901ec01992 Merge pull request #14254 from grafana/14228_mysql_time_from_to
Fix mysql $__timeFrom() and $__timeTo() should respect local time zone
2018-11-30 07:22:34 -08:00
Marcus Efraimsson 1abbdaaaae Merge pull request #14241 from yukihiratype2/master
Update README.md
2018-11-30 07:19:46 -08:00
David c441b9eec3 Merge pull request #14256 from grafana/davkal/fix-14245
Explore: Fix label and history suggestions
2018-11-30 16:16:16 +01:00
David Kaltschmidt 47468fca68 Explore: Show logging errors from backend
- Logging datasource sends error string directly in the message body
- allowing response body to be an error when query transaction failed
- added throw in case we ever encounter unhandled errors again (forces us to fix the issue)
2018-11-30 16:09:56 +01:00
Erik Sundell 12ba314e24 change obj order when merging so that correct format is being used 2018-11-30 15:58:01 +01:00
David Kaltschmidt 11a53763e2 Explore: Fix logging query parser for regex with quantifiers
- ensure that selectors have to be preceded by whitespace or line beginning
- glacing over the fact that ` {0,1}` could be a valid regexp, but we're using space as query/regexp separators anyway, so I think it's fine for now
2018-11-30 15:49:54 +01:00
Minamiya_Natsuki ecddf9d408 Update README.md 2018-11-30 22:47:57 +08:00
David 088c2e70d8 Merge pull request #14236 from grafana/davkal/explore-logging-rendeer
Explore: Logging render performance
2018-11-30 15:37:24 +01:00
David Kaltschmidt a513130493 Fixed typo in function name 2018-11-30 15:19:09 +01:00
David Kaltschmidt a61c8d23d4 Explore: Fix label and history suggestions
- fork promql's tokenizer (need to specify that labels context can only follow beginning of line or whitespace)
- remove unneeded syntax features
- only present history items when field is empty
2018-11-30 15:13:53 +01:00
Peter Holmberg de9137a7c7 tidy import 2018-11-30 14:32:29 +01:00
Marcus Efraimsson 624e5e5b3d let each sql datasource handle timeFrom and timeTo macros 2018-11-30 14:30:02 +01:00
Erik Sundell 4f38af12a8 Merge branch 'panel-edit-in-react' of https://github.com/grafana/grafana into panel-edit-in-react 2018-11-30 14:18:33 +01:00
Torkel Ödegaard 1db3885283 style changes for panel placeholder (move and resize) effect 2018-11-30 05:14:23 -08:00
Erik Sundell 3c556c4833 never load fallback query field. remove commented code 2018-11-30 13:53:39 +01:00
Erik Sundell be85944d84 add an error alert component that will be displayed when there was an error loading ds in explore 2018-11-30 13:51:49 +01:00
Torkel Ödegaard 222f26ea80 Merge branch 'panel-edit-in-react' of github.com:grafana/grafana into panel-edit-in-react 2018-11-30 04:46:39 -08:00
Torkel Ödegaard 6c09373995 fix: minor style changes, removed hover scale increase 2018-11-30 04:45:25 -08:00
Johannes Schill 0b65558c21 react-panel: Add nullcheck to prevent error on datasources without meta options 2018-11-30 13:42:49 +01:00
Johannes Schill e0fb89cf54 Merge branch 'panel-edit-in-react' of https://github.com/grafana/grafana into panel-edit-in-react 2018-11-30 13:39:46 +01:00
Johannes Schill 363425d55e react-panel: Options button should always be enabled now when Time Range-options are there 2018-11-30 13:39:06 +01:00
Johannes Schill d02839d2d1 react-panel: Move time range options to its own component and render it under the options button instead 2018-11-30 13:36:53 +01:00
Peter Holmberg 4c6897b411 created color enum 2018-11-30 13:17:17 +01:00
Torkel Ödegaard a6c4ba4dfb Merge pull request #14242 from grafana/various-style-fixes
Fixed styling issues with new checkbox style
2018-11-30 12:52:24 +01:00
Erik Sundell e55a0cceff Merge branch 'panel-edit-in-react' of https://github.com/grafana/grafana into panel-edit-in-react 2018-11-30 12:50:16 +01:00
Erik Sundell c40bfb8eda make sure target obj is not destructured so that angular copy of objected can be mutated 2018-11-30 12:49:05 +01:00
David Kaltschmidt 979f3f3e0c Review feedback
- fixed typo
- moved result calculation to explore utils
- use component keys instead of componentWillReceiveProps
- require logs to have and id, to as use as Logs component key
- render delay based on row count
2018-11-30 12:26:57 +01:00
Johannes Schill 58da6e8c26 react-panel: Add test for Input with validation on blur 2018-11-30 12:26:45 +01:00
Johannes Schill c722ea4f76 react-panel: Input validation should be optional 2018-11-30 11:04:56 +01:00
Torkel Ödegaard cc210b11fb Merge branch 'panel-edit-in-react' into various-style-fixes 2018-11-30 01:46:41 -08:00
Torkel Ödegaard 6cbbffffb9 Merge pull request #14198 from grafana/panel-edit-in-react-query-inspector
Panel edit in react query inspector
2018-11-30 10:40:11 +01:00
Johannes Schill a8e184c025 react-panel: Clean up input validation and increase code readability 2018-11-30 10:21:55 +01:00
Johannes Schill 69ae3d2e6a react-panel: Time range options moved to "Queries" tab 2018-11-30 10:21:54 +01:00
Johannes Schill b7fcef3351 react-panel: Remove mock response button for now 2018-11-30 10:21:54 +01:00
Johannes Schill a03900e6cf react-panel: Remove comments and improve readability in render() 2018-11-30 10:21:54 +01:00
Johannes Schill 3908e64ef0 react-panel: Use correct type for children prop to avoid the use of fragments <></> 2018-11-30 10:21:54 +01:00
Johannes Schill 13d0a11798 react-panel: Remove json-formatter-js since we will continue with the "patched" version 2018-11-30 10:21:54 +01:00
Johannes Schill 23ae1c7184 react-panel: Move all query inspector logic into QueryInspector component and start with the "Mock response" 2018-11-30 10:21:54 +01:00
Johannes Schill 857bd3d8ad react-panel: Toggle Expand/Collapse json nodes in Query Inspector 2018-11-30 10:21:54 +01:00
Johannes Schill 8254086ecb react-panel: Add CopyToClipboard-component and separate QueryInspector to its own component from QueriesTab 2018-11-30 10:21:53 +01:00
Johannes Schill be67801e84 react-panel: Trigger panel refresh when opening inspector. Add loading-message 2018-11-30 10:21:53 +01:00
Johannes Schill 6242379915 react-panel: Replace JSONFormatter npm package with the current monkey patched JsonExplorer 2018-11-30 10:21:53 +01:00
Johannes Schill 5cca489acd react-panel: Clean up the JSONFormatter and make sure it updates both on mount and when props update 2018-11-30 10:21:53 +01:00
Johannes Schill 348f2e4ec4 react-panel: Get real datasource query for query inspector 2018-11-30 10:21:53 +01:00
Johannes Schill 82ce733e9e react-panel: Create component for JSON formatting and use it on query inspector 2018-11-30 10:21:53 +01:00
Marcus Efraimsson 1052b17af8 changelog: add notes about closing #14167 2018-11-30 09:53:21 +01:00
Marcus Efraimsson e2e66ae608 Merge pull request #14238 from mmcoltman/14167-cloudwatch_add_codebuild
Add AWS/CodeBuild namespace for CloudWatch datasource
2018-11-30 00:50:27 -08:00
Erik Sundell 3d45b5ba73 make getAll return array instead of object 2018-11-30 09:48:59 +01:00
Erik Sundell df75fb0e6d remove obsolete test 2018-11-30 09:32:36 +01:00
Minamiya_Natsuki 2db3464044 Update README.md
add notice to MacOS Docker user, if docker  memory limit is less than 2GiB, build process may fail when run ./node_modules/.bin/grunt build
2018-11-30 12:59:10 +08:00
Matthew Coltman bbd0ec3a8b Add AWS/CodeBuild namespace for CloudWatch datasource 2018-11-29 21:02:44 +01:00
Torkel Ödegaard 93ac4e4717 Fixed styling issues with new checkbox style 2018-11-29 18:39:02 +01:00
Mario Trangoni e4771a88dd Fix other misspell issues
See,
$ find . -type f | xargs misspell -locale US | grep -vi -e vendor -e node_modules -e devenv -e unknwon -e destory -e yarn -e adn -e Spindel
2018-11-29 18:15:16 +01:00
Mario Trangoni 5d60d323e2 docs/*: Fix misspell issues
See,
$ find . -type f | xargs misspell -locale US | grep -vi -e vendor -e node_modules -e devenv -e unknwon | grep docs
2018-11-29 18:14:20 +01:00
Mario Trangoni 9c1b4793a6 CHANGELOG.md: Fix misspell issues
See,
$ find . -type f | xargs misspell -locale US | grep -v -e vendor -e node_modules -e devenv | grep CHANGELOG.md
./CHANGELOG.md:163:60: "organisation" is a misspelling of "organization"
./CHANGELOG.md:286:13: "Litre" is a misspelling of "Liter"
./CHANGELOG.md:394:163: "Spindel" is a misspelling of "Spindle"
./CHANGELOG.md:421:51: "metre" is a misspelling of "meter"
./CHANGELOG.md:738:73: "dashboad" is a misspelling of "dashboard"
./CHANGELOG.md:903:18: "organisation" is a misspelling of "organization"
./CHANGELOG.md:1031:48: "organisation" is a misspelling of "organization"
./CHANGELOG.md:1170:51: "cancelled" is a misspelling of "canceled"
./CHANGELOG.md:1874:97: "muliple" is a misspelling of "multiple"
./CHANGELOG.md:1909:60: "fullscren" is a misspelling of "fullscreen"
2018-11-29 18:14:20 +01:00
David Kaltschmidt ae26f7126f Explore: Logging render performance
- moved from grid to flexbox
- calculate Explore results only when query transactions change to prevent expensive re-renders
- split up rendering of graph and log data
- render log results in 2 stages
2018-11-29 17:30:11 +01:00
Peter Holmberg ea3e1a5876 remove log 2018-11-29 15:47:30 +01:00
Peter Holmberg ef3c913981 min and max value 2018-11-29 15:23:16 +01:00
Peter Holmberg 60ec00ae52 update gauge on remove threshold 2018-11-29 15:07:31 +01:00
Peter Holmberg 201bd69a6a user added thresholds state 2018-11-29 15:04:49 +01:00
Peter Holmberg efb71d1026 console logs and code layout 2018-11-29 14:22:43 +01:00
Erik Sundell a4154fa925 Merge branch 'panel-edit-in-react' of https://github.com/grafana/grafana into panel-edit-in-react 2018-11-29 14:20:55 +01:00
Erik Sundell d1a2488392 pass data correctly to event handler 2018-11-29 14:20:15 +01:00
Peter Holmberg b856ae3957 revert Label change 2018-11-29 14:12:18 +01:00
Peter Holmberg 909fe47050 update color on gauge when changing 2018-11-29 13:44:35 +01:00
David 8024a6aa9f Merge pull request #14214 from grafana/davkal/explore-logging-label-filter
Explore: Logging label filtering
2018-11-29 13:19:35 +01:00
Pavel 01c2a43699 Merge pull request #1 from grafana/master
Update local master
2018-11-29 12:40:55 +02:00
ijin08 46ec9bd6ad Merge branch 'panel-edit-in-react' of github.com:grafana/grafana into panel-edit-in-react 2018-11-29 10:51:56 +01:00
Erik Sundell 3162dda088 remove explore check - make it possible to load all datasources 2018-11-29 10:46:50 +01:00
Erik Sundell 58931c1316 add table support flag for stackdriver 2018-11-29 10:39:36 +01:00
Erik Sundell d9236c1081 add table support flag for prometheus 2018-11-29 10:39:24 +01:00
Erik Sundell e544f2bc74 add table support flag for postgres 2018-11-29 10:39:13 +01:00
Erik Sundell 699f6aecc6 add table support flag for opentsdb 2018-11-29 10:39:00 +01:00
Erik Sundell e635005626 add table support flag for mysql 2018-11-29 10:38:45 +01:00
Erik Sundell 00d8e1f221 add table support flag for mssql 2018-11-29 10:38:33 +01:00
Erik Sundell 71f6235a8c add table support flag for logging 2018-11-29 10:38:20 +01:00
Erik Sundell d66d2ae749 add table support flag for graphite 2018-11-29 10:38:04 +01:00
Carl Bergquist 9b20c9c3a5 Merge pull request #14225 from zicklam/patch-3
removed extra whitespace
2018-11-29 10:00:09 +01:00
Carl Bergquist 486ece329b Merge pull request #14227 from zicklam/patch-4
added google_tag_manager_id from defaults.ini
2018-11-29 09:59:35 +01:00
Florian Zicklam 3000818ab3 added google_tag_manager_id from defaults.ini 2018-11-29 09:30:03 +01:00
Florian Zicklam d86ba20d10 removed extra whitespace
removed extra whitespace
2018-11-29 09:21:06 +01:00
Carl Bergquist 9785a8aba0 Merge pull request #14219 from orojina/patch-1
Update export_import.md
2018-11-29 08:24:09 +01:00
Omar Alejandro González Rojina 804bd822d0 Update export_import.md
Grafana v5.3.4 shows a new checkbox in the export modal "Export for sharing externally". If the checkbox is not checked then the "__inputs" section wont be included into the exported JSON file, would be great to add that note into the documentation for others to avoid confusions.
2018-11-28 11:17:36 -06:00
ijin08 2c943d9aec added new icons, fixed so different icons in different themes, added animation to hover on icons, styled choose visualization and datasource for both themes, made som styling adjustments to whole panel editor 2018-11-28 15:51:45 +01:00
Peter Holmberg 460d642b06 sorting tests 2018-11-28 15:43:49 +01:00
Peter Holmberg e74db94a27 remove border 2018-11-28 15:25:10 +01:00
Peter Holmberg 3066f895fa color indicator 2018-11-28 15:23:14 +01:00
Erik Sundell 6f85fa6b35 add new flag in order to be able to indicate whether the datasource has native support for tables 2018-11-28 15:06:22 +01:00
Erik Sundell 18abd987bb prevent explore from crashing when table is not present in response 2018-11-28 14:31:20 +01:00
David Kaltschmidt c3b67f3a13 Explore: Logging label filtering
- adds a custom label renderer to Logs viewer in Explore
- labels are no longer treated as strings, they are passed as parsed objects to the log row
- label renderer supports onClick handler for an action
- renamed Explore's `onClickTableCell` to `onClickLabel` and wired up log label renderers
- reuse Prometheus `addLabelToSelector` to modify Logging queries via click on label
- added tests to `addLabelToSelector`, changed to include the surrounding `{}`
- use label render also for common labels in the controls panel
- logging meta data section has now a custom renderer that can render numbers, strings, and labels
- style adjustments
2018-11-28 14:20:10 +01:00
David 8830c133d1 Merge pull request #14215 from grafana/davkal/fix-logging-selector-parsing
Logging: fix query parsing for selectors with multiple labels
2018-11-28 14:17:32 +01:00
David Kaltschmidt 9c316b55e9 Logging: fix query parsing for selectors with multiple labels
- simplify selector parsing
- added tests
2018-11-28 14:03:47 +01:00
Peter Holmberg 638c04e16b using percentage to not hide search when smaller screen 2018-11-28 11:41:40 +01:00
David 32511533c3 Merge pull request #14178 from grafana/davkal/explore-scan-log-range
Explore: Scan for older logs
2018-11-28 11:00:51 +01:00
Leonard Gram ce9e1a8f38 build: explaining the linux build. 2018-11-28 09:25:48 +01:00
Ryan McKinley b3e6da0cbd check for null with toLocalString (#14208) 2018-11-28 00:24:59 -08:00
Torkel Ödegaard 2faf8c722f Fix elastic ng-inject (build issue) (#14195)
fix elastic ng-inject issue in query editor
2018-11-28 00:20:49 -08:00
Erik Sundell 4eebede9ef add current editor to panel targets 2018-11-27 16:50:09 +01:00
David Kaltschmidt 593cc38cfc Added stop scan button 2018-11-27 16:35:37 +01:00
David Kaltschmidt 4803b8f3c0 Explore: Scan for older logs
Sometimes log streams dont return any lines for the given range. Would be great to automate the search until some logs are found.

- Allow Explore to drive TimePicker via ref
- Show `Scan` link in Logs when there is no data
- Click on `Scan` sets Explore into scanning state
- While scanning, tell Timepicker to shift left
- TimePicker change triggers new queries with shifted time range
- Remember if query transaction was started via scan
- keep scanning until something was found
- Manual use of timepicker cancels scanning
2018-11-27 15:56:10 +01:00
Peter Holmberg 2919fe1d6a color picker 2018-11-27 15:06:39 +01:00
Erik Sundell 626a94be46 remove time srv initialization 2018-11-27 14:51:03 +01:00
Erik Sundell 7159b369a3 restructure imports 2018-11-27 14:49:03 +01:00
Erik Sundell 5e7d4beacf get intervals from explore function 2018-11-27 14:45:39 +01:00
Erik Sundell b36db6ac04 unregister all query editor event listeners 2018-11-27 14:27:33 +01:00
Erik Sundell c79d8b2a9b remove comments 2018-11-27 14:25:24 +01:00
Erik Sundell c567d75320 temp remove until stackdriver implements explore 2018-11-27 14:22:39 +01:00
Peter Holmberg b506697eda sort on value 2018-11-27 13:42:13 +01:00
Erik Sundell 1998c08df5 use default range from time picker 2018-11-27 13:13:26 +01:00
David 9afb8b64ed Merge pull request #14176 from grafana/davkal/explore-logging-level-filter
Explore: Filter logs by log level
2018-11-27 12:23:45 +01:00
Mattia Rossi ce74b1ddc2 Requested Backend changes, removed link in popover description for the offset field 2018-11-27 03:42:20 -05:00
Torkel Ödegaard 15637af1af Merge pull request #14197 from qhartman/patch-1
Remove confusing <> from variable intro
2018-11-27 00:03:23 +01:00
Quentin Hartman 02a7916b26 Remove confusing <> from variable intro
The existing intro makes it look like you should use `$<varname>` to refer to a variable. That of course is incorrect, and you should use `$varname`. In my experience using the <> marker around variable names should only be used when there isn't something else explicit to set it off. In this case we have `$`. Below, you can see the <> are also not used, because we have the `[[]]` to set it off. The inconsistency is confusing.
2018-11-26 15:33:13 -07:00
Erik Sundell 109ff1a3e1 includes ranges correctly in the options object 2018-11-26 17:09:50 +01:00
Leonard Gram bccce9922a docker: Upgrades base packages in the images.
Related to #14182
2018-11-26 16:41:46 +01:00
Peter Holmberg ff606891e2 small fixes 2018-11-26 16:21:54 +01:00
Marcus Efraimsson d9ff831bac Merge pull request #14194 from danielbh/pause-all-alerts-docs-fix
chore: correct pause-all-alerts auth in docs
2018-11-26 06:57:08 -08:00
Peter Holmberg aac1b6c57b logic for adding rows, styling 2018-11-26 15:52:50 +01:00
Marcus Efraimsson c0bf7c5f13 Merge pull request #14140 from grafana/fix_dashboard_service_log
log the actual error if failing to update alert data
2018-11-26 06:49:19 -08:00
Daniel Hollcraft 4a2e9b4bfa chore: correct pause-all-alerts auth in docs 2018-11-26 09:43:26 -05:00
Mattia Rossi f6fc7f7b64 Requested Backend changes, added details to popover description for the offset field 2018-11-26 08:58:25 -05:00
Marcus Efraimsson 46c6594744 Merge pull request #14163 from grafana/14155_whats_new
docs: what's new in v5.4
2018-11-26 05:28:57 -08:00
David 2257f63543 Merge pull request #14192 from grafana/davkal/fix-14190
Explore: Fix JS error when switching between 2 prometheus datasources
2018-11-26 14:20:16 +01:00
Erik Sundell 3395b1caf6 Merge branch 'panel-edit-in-react' of https://github.com/grafana/grafana into panel-edit-in-react 2018-11-26 13:44:32 +01:00
David Kaltschmidt 91ea8dccf5 Explore: Fix JS error when switching between 2 prometheus datasources
- since the DataQuery rewrite, Explore starts by submitting its queries (Explore cant know if the queries are emtpty)
- The datasource intercepts an empty query and returns an empty list of time series, and also no table for the table query.
- The query hinter then received no series to analyse and was not guarding against this.
- This PR adds this guard.
2018-11-26 13:43:22 +01:00
Peter Holmberg 1ca0d1deab color touches 2018-11-26 10:38:43 +01:00
Mattia Rossi 9825484176 Add support for Offset in elasticsearch datasource, date_histogram aggregation, fixes grafana #12653 2018-11-24 10:48:29 -05:00
Torkel Ödegaard efcbb92b3f Merge pull request #14170 from grafana/davkal/explore-prometheus-range-sort
Sort Prometheus range suggestions by length
2018-11-23 19:22:24 +01:00
David Kaltschmidt 575d888472 Fix tests to account for sortText 2018-11-23 16:53:46 +01:00
Leonard Gram 539036fd0f build: always test publisher. 2018-11-23 16:51:01 +01:00
Leonard Gram 82c98a5ff4 build: packages linked to dl.grafana.com. 2018-11-23 16:51:01 +01:00
David Kaltschmidt ae5ec44171 Fix tests to account for loglevel long names 2018-11-23 16:49:23 +01:00
David Kaltschmidt 4f55a238ed Explore: Filter logs by log level
- add `onToggleSeries` to Explore Graph props
- toggling a Logging Graph series from the legend propagates its hidden series to Logs
- Logs translates hidden series alias to LogLevels
- Logs filters out hidden log levels
2018-11-23 16:29:55 +01:00
Peter Holmberg e1eb7ca571 styling 2018-11-23 16:25:46 +01:00
Peter Holmberg 5c992ba13a created test for some functions 2018-11-23 16:12:53 +01:00
Marcus Efraimsson 1949c8eb57 update changelog 2018-11-23 15:41:47 +01:00
Erik Sundell 7209c7cd0a mock interval data 2018-11-23 15:37:49 +01:00
Marcus Efraimsson 81a426f05d Merge pull request #14175 from grafana/11977_regression
Regression: fix handle of elasticsearch 6.0+ version
2018-11-23 06:36:51 -08:00
Marcus Efraimsson a022284cb0 fix handle of elasticsearch 6.0+ version 2018-11-23 15:24:16 +01:00
Erik Sundell 1e6ea8b124 rename variable 2018-11-23 15:15:41 +01:00
Erik Sundell 65c744c39f hide row specific buttons when query editor is rendered from explore 2018-11-23 15:14:13 +01:00
Erik Sundell ccddee4a4a add support for explore events 2018-11-23 15:12:20 +01:00
Torkel Ödegaard 92c5755175 minor style fix 2018-11-23 15:10:45 +01:00
Torkel Ödegaard 39a1b11cb3 minor fixes 2018-11-23 15:01:36 +01:00
Marcus Efraimsson df218961e0 docs: various fixes of what's new in v5.4 2018-11-23 14:45:32 +01:00
Erik Sundell fae3ae2580 use plugin_loader directly instead of using the wrapper 2018-11-23 14:32:56 +01:00
Marcus Efraimsson 9aa4d71550 docs: fix old ldap url redirect 2018-11-23 14:31:21 +01:00
Torkel Ödegaard daee874ee6 Merge branch 'panel-edit-in-react' into panel-edit-in-react-sidemenu 2018-11-23 14:01:18 +01:00
Torkel Ödegaard 263381eac6 Merge branch 'develop' into panel-edit-in-react 2018-11-23 14:00:15 +01:00
Torkel Ödegaard 2dc44f6089 Merge branch 'master' into develop 2018-11-23 13:59:35 +01:00
Torkel Ödegaard 5038efe09e Merge branch 'master' into davkal/babel-7 2018-11-23 13:44:59 +01:00
Torkel Ödegaard fd71abc301 fixed issue with babel plugin proposal class properties that initiated
properties to void 0. This breaks angularjs preAssignBinding which
applies bindings to this before constructor is called. Fixed by
using fork of babel plugin.

https://github.com/babel/babel/issues/8417
2018-11-23 13:41:45 +01:00
David f4bc023147 Merge pull request #14171 from grafana/davkal/explore-fix-empty-suggestion
Explore: make query field suggestions more robust
2018-11-23 13:14:30 +01:00
David Kaltschmidt f831836fa7 Explore: make query field suggestions more robust
- drop invalid history items
- make highlighter more robust by defaulting to empty string on text to highlight
2018-11-23 12:25:43 +01:00
flopp999 91d97ab5b5 Fix abbreviations of Litre/min and milliLitre/min (#14114) 2018-11-23 02:48:22 -08:00
David 16e7ae4e69 Merge pull request #14169 from grafana/davkal/explore-logging-keep-labels
Explore: switching to logging should keep prometheus labels in case o…
2018-11-23 11:47:39 +01:00
David Kaltschmidt ecaee88efe Sort Prometheus range suggestions by length
- add sortText property to range completion items
2018-11-23 11:43:21 +01:00
Marcus Efraimsson b55b9261f0 docs: what's new in v5.4 2018-11-23 11:15:53 +01:00
David Kaltschmidt b778b5350a Explore: swtiching to logging should keep prometheus labels in case of error
Logging's query importer drops all labels that are not common to both datasources.

- keep labels if label lookup of logging datasource came back empty
- easier to remove labels than having to add them in the first place
2018-11-23 11:15:25 +01:00
Torkel Ödegaard 56d95e7913 tweaks to gf-inline-form style PR #14154 change 2018-11-23 08:06:48 +01:00
Torkel Ödegaard ec23b4c607 Merge pull request #14154 from bergquist/gf-form-margin
Margin when listing multiple gf-form
2018-11-23 08:05:28 +01:00
Torkel Ödegaard 81cc24c123 Merge branch 'davkal/sticky-footer' 2018-11-23 07:50:47 +01:00
Torkel Ödegaard 0cb47cb3d4 Merge pull request #14162 from grafana/docs_signout_redirect_url
docs: signout_redirect_url description in auth overview
2018-11-23 07:46:24 +01:00
Torkel Ödegaard 9caae8c8c0 adding back button 2018-11-23 07:43:25 +01:00
Torkel Ödegaard c8e42c0216 styling tweaks 2018-11-23 07:31:13 +01:00
Erik Sundell eaf9a0b39a initial commit 2018-11-22 18:22:15 +01:00
Marcus Efraimsson 5ebb201caa docs: signout_redirect_url description in auth overview 2018-11-22 15:59:15 +01:00
Torkel Ödegaard f8b1484265 minor style changes 2018-11-22 15:34:55 +01:00
Erik Sundell 1fb686cafa Merge branch 'develop' into panel-edit-in-react 2018-11-22 13:46:12 +01:00
Erik Sundell a5947e820c Merge branch 'master' into develop 2018-11-22 13:43:25 +01:00
David Kaltschmidt c928c546a3 Sticky footer for all pages
Currently the footer is based on top margins which looks odd on big screen sizes.
Also, the footer shows up on the top of the page on pages take a moment to load (while ng-view is rendering).

- True sticky footer based on flexbox
- Ensure footer stays at bottom while ng-view div does not exist yet
2018-11-22 13:15:29 +01:00
Torkel Ödegaard 300bd75b54 edit mode styling 2018-11-22 12:22:59 +01:00
Torkel Ödegaard 1b92bc62cb edit mode styling 2018-11-22 12:19:52 +01:00
Torkel Ödegaard d70dfd5fd7 edit mode styling 2018-11-22 12:13:28 +01:00
David 377eaa891c Merge pull request #14147 from grafana/davkal/explore-data-query
Explore: Introduce DataQuery interface for query handling
2018-11-22 12:01:37 +01:00
David Kaltschmidt 9e94d22401 Added comments 2018-11-22 12:00:41 +01:00
Torkel Ödegaard 547044b65f style tweaks 2018-11-22 11:41:33 +01:00
Peter Holmberg 142cd92b54 render and sort 2018-11-22 11:41:09 +01:00
Marcus Efraimsson 36aec52c08 return actual error if failing to update alert data 2018-11-22 11:19:08 +01:00
David Kaltschmidt 21ee85b1e2 Fix issue with deleting a query (empty string not updating) 2018-11-22 11:14:46 +01:00
David Kaltschmidt bbaa5b63c8 Fix history rendering for DataQuery 2018-11-22 11:02:53 +01:00
bergquist dc2ebeb7c0 margin when listing multiple gf-form should be right
when listing multiple gf-form elements this style is
applied to all elements except the first. By having the
margin on the right side there will always be some margin
between all gf-forms
2018-11-22 11:00:27 +01:00
Marcus Efraimsson dffb4c8a46 Merge pull request #14153 from zyseeker/patch-1
Fix a typo in doc about alerting
2018-11-22 00:17:56 -08:00
Torkel Ödegaard 9a2b2863fb styling progress 2018-11-22 08:46:54 +01:00
Zhang Yong 4f236ca465 Fix a typo
Fix a typo
2018-11-22 15:17:31 +08:00
Torkel Ödegaard c7e296307a panel edit ux experiments 2018-11-21 20:32:04 +01:00
Marcus Efraimsson 572ca5a010 changelog: add notes about closing #14150 2018-11-21 18:28:05 +01:00
Marcus Efraimsson 40a38552a9 Merge pull request #14151 from grafana/14150_cloudwatch
Fix invalid time range causes panic in Cloudwatch datasources
2018-11-21 09:23:51 -08:00
Marcus Efraimsson a6a1362ad1 temporary fix for starting grafana not running systemd 2018-11-21 18:15:28 +01:00
Marcus Efraimsson 3534762f49 cloudwatch: handle invalid time ranges 2018-11-21 17:51:02 +01:00
Marcus Efraimsson 879aed7d06 cloudwatch: recover/handle panics when executing queries 2018-11-21 17:49:17 +01:00
David 1125ca4d79 Merge pull request #14014 from miqh/feat/explore-toggle-series
Add ability to toggle visibility of graph series in explore section
2018-11-21 17:31:46 +01:00
Carl Bergquist c3d64e0352 Merge pull request #14148 from bergquist/alerting_options_to
updates time range options for alert queries
2018-11-21 17:25:32 +01:00
Carl Bergquist acf8d43682 Merge pull request #14056 from mjtrangoni/fix-errcheck-issues
Fix errcheck issues
2018-11-21 17:23:56 +01:00
David Kaltschmidt 331d419d4f Combine query functions 2018-11-21 17:21:13 +01:00
David Kaltschmidt 22987ee75f Renamed targets to queries 2018-11-21 16:28:30 +01:00
ijin08 e47fc40b13 added icons for panel-edit side menu 2018-11-21 16:05:01 +01:00
bergquist 14688766ef updates time range options for alert queries
add some new options for the to value.
removes '1s' option for from since thats unreasonable low

closes #12134
2018-11-21 15:43:37 +01:00
bergquist 60c291c8dc format: remove </input> and align tabs 2018-11-21 15:42:25 +01:00
Peter Holmberg a061de8333 updating state 2018-11-21 15:18:12 +01:00
Carl Bergquist c852acaeca Merge pull request #14143 from bergquist/docs_alerting_for
Adds example timeline in docs for alerting for
2018-11-21 15:15:39 +01:00
David Kaltschmidt b3161bea5a Explore: Introduce DataQuery interface for query handling
- Queries in Explore have been string based
- This PR introduces the use of the DataQuery type to denote all queries handled in Explore
- Within Explore all handling of DataQueries is transparent
- Modifying DataQueries is left to the datasource
- Using `target` as variable names for DataQueries to be consistent with the rest of Grafana
2018-11-21 14:45:57 +01:00
Michael Huynh a333c31ea8 Fix set utilities for explore section
Discovered implementation issues with the set utilities used in the
explore section after adding some tests. Added tests to reinforce the
expected behaviour of the utility functions.

Related: #13522
2018-11-21 21:42:53 +08:00
Marcus Efraimsson f74a7cd97c typos in docs/sources/alerting/rules.md
Co-Authored-By: bergquist <carl@grafana.com>
2018-11-21 14:41:51 +01:00
Marcus Efraimsson fdbccdc347 typos in docs/sources/alerting/rules.md
Co-Authored-By: bergquist <carl@grafana.com>
2018-11-21 14:41:35 +01:00
Torkel Ödegaard 1976e18591 Merge pull request #14145 from grafana/fix-legend-show-false
fixed issue with new legend not checking if panel.legend.show
2018-11-21 14:40:09 +01:00
Torkel Ödegaard 0731b8635b fixed failing graph tests 2018-11-21 13:53:32 +01:00
bergquist 4bd8b2c130 gfdev: fixes unparseable for duration 2018-11-21 11:41:54 +01:00
Johannes Schill 1a7b8a3931 Merge branch 'panel-edit-in-react' of https://github.com/grafana/grafana into panel-edit-in-react 2018-11-21 11:39:57 +01:00
Torkel Ödegaard cab92f88af fixed issue with new legend not checking if panel.legend.show 2018-11-21 11:38:15 +01:00
bergquist afbc16c499 gfdev: adds alert always in pending state 2018-11-21 11:34:21 +01:00
bergquist 1491ea1c75 docs: adds example timeline for alerting for 2018-11-21 11:11:46 +01:00
Leonard Gram 6c267cb592 build: docker build for ge. 2018-11-21 09:03:05 +01:00
Johannes Schill 69e5584d39 react-panel: Avoid duplicate keys 2018-11-20 17:11:47 +01:00
Torkel Ödegaard 874ff4a7af Merge branch 'panel-edit-in-react' of github.com:grafana/grafana into panel-edit-in-react 2018-11-20 17:10:38 +01:00
Torkel Ödegaard 9baa54e98c added alert tab to new react panel editor 2018-11-20 17:09:47 +01:00
bergquist baba8a92ee update path to alerting for image 2018-11-20 17:09:21 +01:00
Peter Holmberg 6084275119 started on thresholds 2018-11-20 17:01:58 +01:00
Johannes Schill 97f7a7fbba react-panel: Add data source "options". Needs UX, WIP. 2018-11-20 16:33:26 +01:00
Marcus Efraimsson e421c387ea update release publish script links 2018-11-20 16:23:24 +01:00
Torkel Ödegaard 51e719493b Merge branch 'panel-edit-in-react' of github.com:grafana/grafana into panel-edit-in-react 2018-11-20 16:07:11 +01:00
Torkel Ödegaard 5ea34844ba fixes to view mode for panels, can now go back as before 2018-11-20 16:00:19 +01:00
Michael Huynh c7dc557e91 Add visibility toggle for explore graph series
The implemented toggling UX is similar to how the dashboard graph plugin
behaves. Also incorporates review feedback to persist series visibility
state by means of the alias property, with the limitation it carries
too.

Related: #13522
2018-11-20 21:52:42 +08:00
Marcus Efraimsson 8d75fcb6f7 what's new in v5.4 placeholder 2018-11-20 14:35:38 +01:00
Peter Holmberg ac94fc9341 fix label and default threshold 2018-11-20 14:27:23 +01:00
Johannes Schill bc9f3a33fe Merge branch 'panel-edit-in-react' of https://github.com/grafana/grafana into panel-edit-in-react 2018-11-20 14:17:46 +01:00
Johannes Schill ff87cbd4db react-panel: Add data source "help" 2018-11-20 14:17:03 +01:00
Torkel Ödegaard 5402a0e00d fixed menu to go to panel view mode 2018-11-20 13:18:48 +01:00
Torkel Ödegaard 3b76d9ee17 minor style update 2018-11-20 11:26:01 +01:00
Torkel Ödegaard 0575307786 added header section to legacy tabs 2018-11-20 11:06:36 +01:00
Torkel Ödegaard 7f46b75330 Merge branch 'develop' into panel-edit-in-react 2018-11-20 09:51:06 +01:00
Torkel Ödegaard 649d727805 Merge branch 'master' into develop 2018-11-20 09:47:23 +01:00
Torkel Ödegaard f44e634da4 switch slider changes 2018-11-20 09:39:56 +01:00
Torkel Ödegaard 571cfab923 added chekbox and other tweaks 2018-11-19 17:41:48 +01:00
Peter Holmberg 4e1f49f883 refactor options, show labels and markers 2018-11-19 17:11:17 +01:00
Torkel Ödegaard 808a0aa6f0 Merge branch 'develop' into switch-slider-test 2018-11-19 16:48:16 +01:00
Torkel Ödegaard 1e7a23b0f1 Merge remote-tracking branch 'origin/12759-description-n-links' into develop 2018-11-19 16:47:29 +01:00
Peter Holmberg e0064ed38e Revert "typo fix"
This reverts commit 9ded648bc5.
2018-11-19 16:05:46 +01:00
Peter Holmberg 9ded648bc5 typo fix 2018-11-19 16:05:15 +01:00
Peter Holmberg 22e64eb287 prefix and suffix 2018-11-19 16:00:18 +01:00
Peter Holmberg 37729bf9f1 decimals 2018-11-19 15:50:51 +01:00
Johannes Schill 00596f0afc react-panel: Finish the data source search on query tab and start moving switch-data-source-logic from angular 2018-11-19 14:35:16 +01:00
Peter Holmberg a8cf2dc501 some touch ups on unit 2018-11-19 14:03:32 +01:00
Peter Holmberg 5722773467 Merge branch 'unit-picker' into gauge-value-options 2018-11-19 13:13:32 +01:00
Peter Holmberg f72e751735 picker and functionaliy 2018-11-19 13:06:56 +01:00
Johannes Schill 295fefb2dc Tooltip should be able to take up space when used on an absolute positioned element 2018-11-19 09:29:21 +01:00
Torkel Ödegaard 5d1c5502f1 minor fixes 2018-11-19 09:16:35 +01:00
Johannes Schill 5069c7f6bb panel-header: Move the corner information in the panel header to its own component 2018-11-19 09:16:35 +01:00
Marcus Efraimsson 919b1cd36c changelog: add notes about closing #12550
[skip ci]
2018-11-19 09:16:35 +01:00
Marcus Efraimsson 38b44799a3 fix selected home dashboard should show as selected even though its not starred 2018-11-19 09:16:35 +01:00
Johannes Schill 04571b8214 panel-header: Move the panel description/links/error container outside of panel header to not interfere with the react-grid stuff 2018-11-19 09:16:35 +01:00
Marcus Efraimsson 3f1388f214 reload browser after preferences been updated 2018-11-19 09:16:35 +01:00
Johannes Schill 93586491f4 panel-header: Unmount popper when not needed. 2018-11-19 09:16:35 +01:00
Marcus Efraimsson 362ee89449 fix snapshot tests 2018-11-19 09:16:34 +01:00
Johannes Schill d6959c3b11 panel-header: Updated snapshots for popper 2018-11-19 09:16:34 +01:00
Johannes Schill 78e93a3a0f panel-header: Add fade in transition to tooltip 2018-11-19 09:16:34 +01:00
Torkel Ödegaard 32d72f345f Trying to reduce the amount of duplication with preferences 2018-11-19 09:16:34 +01:00
Johannes Schill 42154833cc panel-header: Make it possible to style the reference element and fix so panel description looks good 2018-11-19 09:15:08 +01:00
Torkel Ödegaard 1984f28f49 filter out alpha plugins in api call, fixes #14030 2018-11-19 09:15:08 +01:00
Johannes Schill e5ea176a98 panel-header: Simplify condition 2018-11-19 09:15:08 +01:00
Johannes Schill 48d1a574b9 panel-header: Avoid undefined classNames and use the real panel description 2018-11-19 09:15:08 +01:00
Johannes Schill 7d74ca4a8d panel-header: Updates for the new react-popper api and make it possible to hover the tooltip popper without it closing 2018-11-19 09:15:08 +01:00
Johannes Schill 1fa85937bb panel-header: Bump @types/react, @types/react-dom, react, react-dom, react-popper to latest versions 2018-11-19 09:15:08 +01:00
Johannes Schill b97e2c7240 panel-header: Display description in modal 2018-11-19 09:15:08 +01:00
Marcus Efraimsson 2d92d217eb update changelog
[skip ci]
2018-11-19 09:15:08 +01:00
Marcus Efraimsson 0652d8bbe2 changelog: add notes about closing #11977
[skip ci]
2018-11-19 09:15:08 +01:00
Marcus Efraimsson 63e817e7c8 changelog: add notes about closing #6367
[skip ci]
2018-11-19 09:15:07 +01:00
Marcus Efraimsson db6af9eed1 docs: team http api update 2018-11-19 09:15:07 +01:00
stop-cran ec19306260 [elasticsearch] Do not set a placeholder to index name, if it's already specified. 2018-11-19 09:15:07 +01:00
bergquist bb66661cc6 changelog: adds note about closing #14043 2018-11-19 09:15:07 +01:00
Peter Holmberg 7b66120122 fixed issue with save. 2018-11-19 09:15:07 +01:00
Peter Holmberg f6aab0fe4b fixed mutability issue in dashboard dropdowns 2018-11-19 09:15:07 +01:00
David Kaltschmidt a1fad2d8d4 Explore: Fix table pagination styles
- get rid of drop shadow
- get rid of top border
- add min height for better no-data placement
- add margins
2018-11-19 09:15:07 +01:00
Marcus Efraimsson a251461c62 team preferences ui 2018-11-19 09:15:07 +01:00
Marcus Efraimsson b00542e194 feat: team preferences 2018-11-19 09:15:06 +01:00
David Kaltschmidt b2e6b2485f Explore: Dont set datasource in state if navigated away
Datasource selection triggers a connection test, on success
the DS is set in the Explore state. If the test takes long and user
selects a different DS, and just after that the first test succeeds,
then the first DS overwrites the state.

* when test returns check if datasource is still the requested one
2018-11-19 09:15:06 +01:00
Marcus Efraimsson ac3e175e54 fix switching from es raw document metric breaks query editor 2018-11-19 09:15:06 +01:00
Patrick 2de5a7119b Merge branch 'master' into add_google_hangouts_chat_notifier 2018-11-18 22:00:53 +01:00
Victor Cinaglia 4ed0a3d29a Retain decimal precision when exporting CSV
Using `Number.prototype.toLocaleString()` has the unexpected behavior of truncating anything
exceeding 3 decimal digits on floats.

Additionally, it introduces inconsistencies (comma vs period separators) which could make processing the
output CSV harder than it could be.  The proposed solution here is to simply let numbers be cast
automatically via string concatenation.

Fixes #13929
2018-11-18 12:40:43 -05:00
Torkel Ödegaard 8d39ca76be switch style tweaks 2018-11-16 12:45:19 -08:00
Peter Holmberg 5916f76991 removing test page 2018-11-16 16:58:08 +01:00
Peter Holmberg cc7bf31c3e Merge remote-tracking branch 'origin/develop' into unit-picker 2018-11-16 16:54:02 +01:00
Peter Holmberg ee3b438269 format value 2018-11-16 16:41:01 +01:00
Peter Holmberg 02d8ffda5b default value 2018-11-16 16:35:42 +01:00
ijin08 ad8e9ae691 created classes for new checkbox and variables 2018-11-16 16:35:04 +01:00
Peter Holmberg 0f4131b8d7 handle default value 2018-11-16 15:26:51 +01:00
Torkel Ödegaard 57de2475b0 various fixes to angular loading 2018-11-16 15:09:14 +01:00
Peter Holmberg 8ab86c2ceb expand groups when searching 2018-11-16 14:40:24 +01:00
Peter Holmberg 2b8eab8c8c maxHeight and style overrides 2018-11-16 14:11:51 +01:00
ijin08 c505fc3783 moved slider into label to make it clickable, styled slider in dark and light theme, created variables for slider 2018-11-16 13:02:29 +01:00
Torkel Ödegaard 7c72f8e028 panel options now load even when changing type 2018-11-16 10:44:39 +01:00
Torkel Ödegaard f21fe65bb1 fixed issues when changing type, need to remove event listeners and cleanup props 2018-11-16 10:00:13 +01:00
Torkel Ödegaard dac02d3d73 React edit mode for angular panels progress 2018-11-16 08:31:29 +01:00
Torkel Ödegaard ad3e683739 Merge branch 'develop' into panel-edit-in-react 2018-11-16 07:43:37 +01:00
Torkel Ödegaard e21a140fcc minor fixes 2018-11-16 07:41:40 +01:00
Torkel Ödegaard c4ae05c5e5 Merge pull request #14078 from grafana/12759-description-n-links
12759 React-panel: description and links
2018-11-16 06:57:42 +01:00
Patrick Schuster 481dcb321d Update ReadMe. 2018-11-16 00:30:51 +01:00
Marcus Efraimsson 18810ca77f devenv: elasticsearch datasources and dashboards 2018-11-15 19:07:38 +01:00
Marcus Efraimsson 9a8ad70013 fix pipeline aggregations on doc count 2018-11-15 19:06:47 +01:00
Peter Holmberg 61a704a64e some progress on groups and options 2018-11-15 17:14:43 +01:00
Torkel Ödegaard a87035312d Merge branch 'develop' into panel-edit-in-react 2018-11-15 17:04:00 +01:00
Torkel Ödegaard 03040159ca Merge branch 'master' into develop 2018-11-15 17:00:03 +01:00
Torkel Ödegaard f5b63fc65d Merge branch 'master' into develop 2018-11-15 16:56:21 +01:00
Johannes Schill 83073dea2f panel-header: Move the corner information in the panel header to its own component 2018-11-15 16:52:39 +01:00
Johannes Schill 0fa8ae4fac panel-header: Move the panel description/links/error container outside of panel header to not interfere with the react-grid stuff 2018-11-15 14:30:59 +01:00
Johannes Schill e979ed140e panel-header: Unmount popper when not needed. 2018-11-15 14:16:26 +01:00
Johannes Schill 9e9ce80740 panel-header: Updated snapshots for popper 2018-11-15 13:49:48 +01:00
Johannes Schill 2a5f7d1e05 panel-header: Add fade in transition to tooltip 2018-11-15 13:44:15 +01:00
Johannes Schill e73466a80d panel-header: Make it possible to style the reference element and fix so panel description looks good 2018-11-15 12:47:32 +01:00
Torkel Ödegaard 911646f913 poc: handling panel edit mode in react even for angular panels poc 2018-11-15 09:46:21 +01:00
Johannes Schill 0430bb47c2 panel-header: Simplify condition 2018-11-15 09:17:39 +01:00
Torkel Ödegaard 487fd12d66 wip: minor update 2018-11-15 07:33:59 +01:00
Torkel Ödegaard bdf598ccb2 minor fix 2018-11-14 21:38:53 -08:00
Torkel Ödegaard 810e256787 css update to switch slider 2018-11-14 21:35:02 -08:00
Johannes Schill 0a5f920bf5 panel-header: Avoid undefined classNames and use the real panel description 2018-11-14 22:29:10 +01:00
Torkel Ödegaard bae4c8d2e6 wip: switch slider test 2018-11-14 13:29:09 -08:00
Johannes Schill af859b2f4d panel-header: Updates for the new react-popper api and make it possible to hover the tooltip popper without it closing 2018-11-14 22:28:00 +01:00
Johannes Schill 6cd5bca9ab panel-header: Bump @types/react, @types/react-dom, react, react-dom, react-popper to latest versions 2018-11-14 22:28:00 +01:00
Johannes Schill e20eea978a panel-header: Display description in modal 2018-11-14 22:18:48 +01:00
Torkel Ödegaard 330a5c6496 minor panel options type fix 2018-11-14 12:03:05 -08:00
Torkel Ödegaard 159c5cdb63 wip: adding general tab for react panel edit mode 2018-11-14 17:57:37 +01:00
Peter Holmberg 063a1acf94 started on options and groups 2018-11-14 17:00:26 +01:00
Torkel Ödegaard fade3c47ca Merge pull request #14071 from grafana/react-panels-query-editor-fixes
React panels query editor fixes
2018-11-14 16:37:50 +01:00
Torkel Ödegaard c0197bcb15 fix: added events to MetricsTabCtrl to closer mimic MetricsPanelCtrl 2018-11-14 16:04:34 +01:00
Torkel Ödegaard ebc5b3e693 minor css change 2018-11-14 15:17:28 +01:00
Torkel Ödegaard 18308bf584 Merge pull request #14069 from grafana/panel-focus-in-react
Panel focus in react
2018-11-14 14:40:18 +01:00
Torkel Ödegaard 1eecda48f8 Moved query manipulations from metrics controller to metrics tab so they are more easily shared between angular and react panels 2018-11-14 14:40:03 +01:00
Torkel Ödegaard 888eb9d94c fixed panel focus for react panels 2018-11-14 13:31:40 +01:00
Torkel Ödegaard 3ce7197c8e Merge pull request #14067 from grafana/react-panels-minor-changes
minor changes to react panels
2018-11-14 13:30:45 +01:00
Torkel Ödegaard 080d611004 minor changes to react panels 2018-11-14 13:20:19 +01:00
Torkel Ödegaard 604add078b Merge pull request #14066 from grafana/panel-size-refactor
Panel size refactor
2018-11-14 12:38:21 +01:00
Torkel Ödegaard 6d65432c8a Merge branch 'toggle-panel-menu-withreact' into develop 2018-11-14 12:24:30 +01:00
Torkel Ödegaard 90c41bb087 changed how size is calcualted and propagated and added proper interval calc to DataPanel 2018-11-14 12:03:25 +01:00
Peter Holmberg e4e41474b1 first stuff 2018-11-14 11:06:02 +01:00
Mario Trangoni 774ad3ff39 pkg/cmd/grafana-server/server.go: Check sendSystemdNotification return value.
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=errcheck ./...
server.go:165:25⚠️ error return value not checked (sendSystemdNotification("READY=1")) (errcheck)
2018-11-13 21:21:18 +01:00
Mario Trangoni dae7c11a5f pkg/cmd/grafana-server/server.go: check serviceGraph.Provide() errors
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=errcheck ./...
pkg/cmd/grafana-server/server.go:77:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: bus.GetBus()})) (errcheck)
pkg/cmd/grafana-server/server.go:78:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: g.cfg})) (errcheck)
pkg/cmd/grafana-server/server.go:79:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: routing.NewRouteRegister(middleware.RequestMetrics, middleware.RequestTracing)})) (errcheck)
pkg/cmd/grafana-server/server.go:80:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: cache.New(5*time.Minute, 10*time.Minute)})) (errcheck)
pkg/cmd/grafana-server/server.go:87:23⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: service.Instance})) (errcheck)
pkg/cmd/grafana-server/server.go:90:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: g})) (errcheck)
2018-11-13 20:02:55 +01:00
Mario Trangoni a6d54d5d9f pkg/cmd/grafana-server/main.go: Fix error value not checked
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=errcheck ./...
pkg/cmd/grafana-server/main.go:56:23⚠️ error return value not checked (http.ListenAndServe(fmt.Sprintf("localhost:%d", *profilePort), nil)) (errcheck)
2018-11-13 19:51:32 +01:00
Torkel Ödegaard dedeaf541e wip panel size handling 2018-11-13 18:50:12 +01:00
Torkel Ödegaard 8ad37ea926 Merge branch 'develop' of github.com:grafana/grafana into develop 2018-11-13 17:25:11 +01:00
Torkel Ödegaard b530b9ce7f Merge branch 'master' into develop 2018-11-13 17:24:51 +01:00
Peter Holmberg a9b5cbf381 adced clickoutside wrapper 2018-11-13 17:00:28 +01:00
Torkel Ödegaard 2c6963fc6f Merge branch 'master' of github.com:grafana/grafana into develop 2018-11-13 16:26:46 +01:00
Torkel Ödegaard 51a95963f3 Merge pull request #14020 from grafana/12759-timeshift
12759 timeshift and panelTimeOverrides
2018-11-13 16:26:30 +01:00
Torkel Ödegaard 6d91e06f4d refactoring back the interval calculation, needs to be different for react panels 2018-11-13 16:01:52 +01:00
Torkel Ödegaard f026be3790 fix case where timeshift and time override is used 2018-11-13 15:23:13 +01:00
Torkel Ödegaard f274195d81 wip: refactoring interval and time override handling 2018-11-13 15:05:07 +01:00
Torkel Ödegaard d49e857bc0 Merge branch 'develop' into 12759-timeshift 2018-11-13 09:56:58 +01:00
Torkel Ödegaard 700c9642db Merge pull request #14039 from grafana/minor-react-panels-refactor
minor react panels refafactor
2018-11-13 09:55:48 +01:00
Torkel Ödegaard 81a9a3a3c1 Merge branch 'develop' into 12759-timeshift 2018-11-13 08:51:48 +01:00
Torkel Ödegaard 7b805bdb81 minor react panels refafactor 2018-11-13 08:40:42 +01:00
Torkel Ödegaard 6b2a47f2af Merge pull request #14038 from grafana/plugin-not-found
Plugin not found
2018-11-13 08:25:47 +01:00
Torkel Ödegaard e331d24a38 removed console.log 2018-11-13 08:11:03 +01:00
Torkel Ödegaard 9820c7806c some cleanup of unused stuff and type fixes 2018-11-13 08:09:12 +01:00
Torkel Ödegaard 9dbb0db684 completed work on panel not found view 2018-11-13 07:54:02 +01:00
Torkel Ödegaard 119e94f745 wip: panel plugin not found 2018-11-12 17:54:44 +01:00
Torkel Ödegaard 7a30220d01 fixed scrollbar autohide prop 2018-11-12 17:48:10 +01:00
Torkel Ödegaard 727efa5a03 Merge branch 'pane-edit-ux-tabs' into develop 2018-11-12 16:25:13 +01:00
Torkel Ödegaard e0feb72637 Merge remote-tracking branch 'origin/data-source-settings-to-react' into develop 2018-11-12 16:17:05 +01:00
Johannes Schill 6d4d7c5032 wip: panel-header: On panel refresh, get new timeRange from timeSrv, not the old one from the state 2018-11-12 11:38:41 +01:00
Johannes Schill e045169094 wip: panel-header: Avoid null returning to get better code readability. High five @ peterholmberg 2018-11-12 11:31:33 +01:00
Johannes Schill a3f1a1c6b3 wip: panel-header: Remove the TimeData type 2018-11-12 11:31:33 +01:00
Johannes Schill 8117a7559f wip: panel-header: Add proper typings to maxDataPoints and interval + remove code in comment 2018-11-12 11:31:33 +01:00
Johannes Schill e55f3f883f wip: panel-header: Move getResolution and calculateInterval into utils-functions and use the same code from react and angular 2018-11-12 11:31:33 +01:00
Johannes Schill 9fd62b80d9 wip: panel-header: Start implementing the applyPanelTimeOverrides in the react panels by moving it to a util, make it pure and call it from angular and react. 2018-11-12 11:31:33 +01:00
Torkel Ödegaard a0620ac8f6 minor style fixes & polish 2018-11-11 17:46:40 +01:00
Torkel Ödegaard 2aef5fbc3b minor update 2018-11-10 12:17:40 -08:00
Torkel Ödegaard 02cbb4076e disable custom webkit scrollbar styles 2018-11-10 17:38:12 +01:00
Torkel Ödegaard c4ad069083 refactoring & cleaning up css 2018-11-10 17:28:28 +01:00
Torkel Ödegaard f74f7b017f Minor progress on edit mode 2018-11-10 07:34:09 -08:00
Torkel Ödegaard c54ae5d124 improve dropdown pane connetion to tab toolbar 2018-11-09 11:33:33 -08:00
Torkel Ödegaard 1bad8db94c data source picker demo state 2018-11-09 15:50:09 +01:00
Torkel Ödegaard a7daf58bb9 wip: progress on edit mode ux with tabs 2018-11-09 13:17:41 +01:00
Torkel Ödegaard 8a9d721c00 panel-edit-ux-tabs on top alternative 2018-11-08 12:25:22 +01:00
Torkel Ödegaard 964a21b091 Merge branch 'master' into panel-edit-ux 2018-11-08 11:46:04 +01:00
Peter Holmberg 7799ad8108 added loading state 2018-11-08 09:34:14 +01:00
Torkel Ödegaard 29e18fddd0 refactored how testing state was handled, using redux for this felt way to require way to much code 2018-11-07 14:28:44 -08:00
Torkel Ödegaard 8ff6bb07bc Merge branch 'data-source-settings-to-react' of github.com:grafana/grafana into data-source-settings-to-react 2018-11-07 11:51:02 -08:00
Peter Holmberg 682697e2cd clear test box if success 2018-11-07 16:14:55 +01:00
Peter Holmberg b7d494551c Added testing state in reducer 2018-11-07 15:38:53 +01:00
Peter Holmberg e25b2d0ab6 Merge branch 'master' into data-source-settings-to-react 2018-11-07 09:50:17 +01:00
Torkel Ödegaard 7d87f57367 experimental option boxes 2018-11-06 18:55:35 +01:00
Torkel Ödegaard 5975c4a737 ux: changed panel selection ux 2018-11-06 18:34:37 +01:00
Torkel Ödegaard b372b4323d Merge branch 'master' into panel-edit-ux 2018-11-06 15:01:16 +01:00
Torkel Ödegaard 932ace299a drag handle css 2018-11-06 08:33:49 +01:00
Torkel Ödegaard b60ebf92b2 moved drag handle 2018-11-06 08:01:00 +01:00
Peter Holmberg ffc06e9962 extract store from configurestore 2018-11-05 16:54:48 +01:00
Peter Holmberg 6dc3e0399d added actions 2018-11-05 16:33:43 +01:00
Peter Holmberg 52232f98b9 Exposing digest from angular component 2018-11-05 13:39:57 +01:00
Torkel Ödegaard c9802c283e minor fix 2018-11-05 12:33:40 +01:00
Torkel Ödegaard 3e7cd5fa99 Merge branch 'panel-edit-ux' of github.com:grafana/grafana into panel-edit-ux 2018-11-05 10:49:44 +01:00
Torkel Ödegaard 2f4ae1e2d8 Merge branch 'master' into panel-edit-ux 2018-11-05 10:17:09 +01:00
Torkel Ödegaard 0e26fad30b minor tweak to back to dashboard buttons 2018-11-01 19:25:54 +01:00
Torkel Ödegaard 1bc3d8dad8 Merge branch 'master' into panel-edit-ux 2018-11-01 18:45:15 +01:00
Peter Holmberg e37fa486ed remove replaced components 2018-11-01 14:31:14 +01:00
Peter Holmberg 16d4109599 reverting babel change 2018-11-01 14:03:02 +01:00
Peter Holmberg f95b80b7e1 remove this 2018-11-01 14:01:06 +01:00
Peter Holmberg f5966b44af removed these unused components 2018-11-01 13:59:12 +01:00
Peter Holmberg 6d5f5b644b reverting script change 2018-11-01 13:58:18 +01:00
Peter Holmberg f15ed848f9 Merge branch 'master' into data-source-settings-to-react 2018-11-01 13:52:53 +01:00
Peter Holmberg 6493f96ac7 updated snap 2018-11-01 13:47:40 +01:00
Peter Holmberg 2837fd515f tests 2018-11-01 13:45:52 +01:00
Peter Holmberg 7fc4b1934b updating state and save 2018-11-01 11:19:40 +01:00
Torkel Ödegaard 74a0c0e618 update angular state on props update 2018-10-31 10:03:03 -07:00
Torkel Ödegaard 7885453bcd listen for changes in angular land and propagate that back to react 2018-10-31 09:19:08 -07:00
Peter Holmberg 2342f60a31 added actions 2018-10-31 14:28:16 +01:00
Peter Holmberg 1656f03acd cleaned up render 2018-10-31 13:29:02 +01:00
Peter Holmberg 5140325a0d renders angular component 2018-10-31 13:23:05 +01:00
Peter Holmberg a7bd944098 updated view to use angular loader 2018-10-30 16:40:08 +01:00
David Kaltschmidt c1347e4ecb WIP babel 7 2018-10-29 12:20:10 +01:00
Torkel Ödegaard e24dc37966 minor update 2018-10-28 12:44:47 -07:00
Torkel Ödegaard 5dd9247762 Merge branch 'master' into panel-edit-ux 2018-10-28 12:11:47 -07:00
Torkel Ödegaard 6bf0531f81 fixed width of panel edit mode 2018-10-28 10:26:49 -07:00
Torkel Ödegaard 60b6bd10a4 fixes to angular panel edit mode 2018-10-28 11:31:42 +01:00
Torkel Ödegaard 3da62f1083 Merge branch 'master' into panel-edit-ux 2018-10-27 17:44:04 +02:00
Torkel Ödegaard 4d4369b77f Merge branch 'master' into panel-edit-ux 2018-10-27 15:14:19 +02:00
Torkel Ödegaard b1b534a005 more ux progress 2018-10-27 15:09:36 +02:00
Torkel Ödegaard a4674ecaa1 panel edit mode changes 2018-10-27 10:14:38 +02:00
Torkel Ödegaard bcf669fab5 ux experiments 2018-10-26 16:29:08 +02:00
Torkel Ödegaard 94c35e2577 testing panel edit ux idea 2018-10-26 13:20:10 +02:00
Peter Holmberg 596a83407e fixed routes and page 2018-10-24 16:17:25 +02:00
Peter Holmberg 8c742a9530 Merge branch 'master' into data-source-settings-to-react 2018-10-24 14:50:33 +02:00
Peter Holmberg c92813f313 Merge branch 'master' into data-source-settings-to-react 2018-10-22 14:49:41 +02:00
Peter Holmberg 8ef705f2b5 pausing for now 2018-10-16 09:59:03 +02:00
Peter Holmberg 7c3d101253 rendering settings 2018-10-15 16:45:39 +02:00
Peter Holmberg e642fce4a5 created component for http settings 2018-10-12 16:16:06 +02:00
Peter Holmberg c5946ebd27 Merge branch 'data-source-instance-to-react' into data-source-settings-to-react 2018-10-12 09:20:43 +02:00
Benjamin Schweizer 4bf8f80657 Merge remote-tracking branch 'upstream/master' 2018-09-04 17:42:15 +02:00
Benjamin Schweizer f4b29b5782 fixed testcase 2018-09-03 16:08:52 +02:00
Benjamin Schweizer 82554ffd67 Merge remote-tracking branch 'upstream/master' 2018-09-03 15:55:44 +02:00
Simon Podlipsky e67d3df14c Fix array display from url 2018-09-01 14:13:48 +02:00
Benjamin Schweizer a653b277f3 switched to lowercase 2018-08-06 22:04:33 +02:00
Benjamin Schweizer 9220f83b3d replaced escape() call, renamed formatter to be more expressive 2018-08-06 21:54:12 +02:00
Benjamin Schweizer 7da9c33ae4 fixed test result 2018-07-30 17:28:50 +02:00
Benjamin Schweizer a2967565de added urlescape formatting option 2018-07-30 17:19:41 +02:00
Patrick Schuster 3091aece2b Add Google Hangouts Chat notifier. 2018-03-28 11:56:54 +02:00
1182 changed files with 61682 additions and 18481 deletions
+11
View File
@@ -0,0 +1,11 @@
{
"presets": [
[
"@babel/preset-env",
{
"targets": { "browsers": "last 3 versions" },
"useBuiltIns": "entry"
}
]
]
}
+63 -54
View File
@@ -19,7 +19,7 @@ version: 2
jobs:
mysql-integration-test:
docker:
- image: circleci/golang:1.11
- image: circleci/golang:1.11.5
- image: circleci/mysql:5.6-ram
environment:
MYSQL_ROOT_PASSWORD: rootpass
@@ -39,7 +39,7 @@ jobs:
postgres-integration-test:
docker:
- image: circleci/golang:1.11
- image: circleci/golang:1.11.5
- image: circleci/postgres:9.3-ram
environment:
POSTGRES_USER: grafanatest
@@ -74,27 +74,16 @@ jobs:
gometalinter:
docker:
- image: circleci/golang:1.11
- image: circleci/golang:1.11.5
environment:
# we need CGO because of go-sqlite3
CGO_ENABLED: 1
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run: 'go get -u github.com/alecthomas/gometalinter'
- run: 'go get -u github.com/tsenart/deadcode'
- run: 'go get -u github.com/jgautheron/goconst/cmd/goconst'
- run: 'go get -u github.com/gordonklaus/ineffassign'
- run: 'go get -u honnef.co/go/tools/cmd/megacheck'
- run: 'go get -u github.com/opennota/check/cmd/structcheck'
- run: 'go get -u github.com/mdempsky/unconvert'
- run: 'go get -u github.com/opennota/check/cmd/varcheck'
- run:
name: run linters
command: 'gometalinter --enable-gc --vendor --deadline 10m --disable-all --enable=deadcode --enable=goconst --enable=gofmt --enable=ineffassign --enable=megacheck --enable=structcheck --enable=unconvert --enable=varcheck ./...'
- run:
name: run go vet
command: 'go vet ./pkg/...'
name: Gometalinter tests
command: './scripts/gometalinter.sh'
test-frontend:
docker:
@@ -117,7 +106,7 @@ jobs:
test-backend:
docker:
- image: circleci/golang:1.11
- image: circleci/golang:1.11.5
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -127,7 +116,7 @@ jobs:
build-all:
docker:
- image: grafana/build-container:1.2.1
- image: grafana/build-container:1.2.3
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -159,23 +148,19 @@ jobs:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: Build Grafana.com master publisher
command: 'go build -o scripts/publish scripts/build/publish.go'
- run:
name: Build Grafana.com release publisher
command: 'cd scripts/build/release_publisher && go build -o release_publisher .'
name: Test and build Grafana.com release publisher
command: 'cd scripts/build/release_publisher && go test . && go build -o release_publisher .'
- persist_to_workspace:
root: .
paths:
- dist/grafana*
- scripts/*.sh
- scripts/publish
- scripts/build/release_publisher/release_publisher
- scripts/build/publish.sh
build:
docker:
- image: grafana/build-container:1.2.1
- image: grafana/build-container:1.2.3
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -191,57 +176,60 @@ jobs:
- run:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: Test Grafana.com release publisher
command: 'cd scripts/build/release_publisher && go test .'
- persist_to_workspace:
root: .
paths:
- dist/grafana*
grafana-docker-master:
docker:
- image: docker:stable-git
machine:
image: circleci/classic:201808-01
steps:
- checkout
- attach_workspace:
at: .
- setup_remote_docker
- run: docker info
- run: cp dist/grafana-latest.linux-x64.tar.gz packaging/docker
- run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build-deploy.sh "master-${CIRCLE_SHA1}"
- run: rm packaging/docker/grafana-latest.linux-x64.tar.gz
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh "master"
grafana-docker-pr:
docker:
- image: docker:stable-git
machine:
image: circleci/classic:201808-01
steps:
- checkout
- attach_workspace:
at: .
- setup_remote_docker
- run: docker info
- run: cp dist/grafana-latest.linux-x64.tar.gz packaging/docker
- run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build.sh "${CIRCLE_SHA1}"
grafana-docker-release:
docker:
- image: docker:stable-git
steps:
- checkout
- attach_workspace:
at: .
- setup_remote_docker
- run: docker info
- run: cp dist/grafana-latest.linux-x64.tar.gz packaging/docker
- run: cd packaging/docker && ./build-deploy.sh "${CIRCLE_TAG}"
- run: rm packaging/docker/grafana-latest.linux-x64.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh "${CIRCLE_TAG}"
machine:
image: circleci/classic:201808-01
steps:
- checkout
- attach_workspace:
at: .
- run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build-deploy.sh "${CIRCLE_TAG}"
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh "${CIRCLE_TAG}"
build-enterprise:
docker:
- image: grafana/build-container:1.2.1
- image: grafana/build-container:1.2.3
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -273,7 +261,7 @@ jobs:
build-all-enterprise:
docker:
- image: grafana/build-container:1.2.1
- image: grafana/build-container:1.2.3
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -320,7 +308,7 @@ jobs:
deploy-enterprise-master:
docker:
- image: grafana/grafana-ci-deploy:1.0.0
- image: grafana/grafana-ci-deploy:1.2.0
steps:
- attach_workspace:
at: .
@@ -343,7 +331,7 @@ jobs:
deploy-enterprise-release:
docker:
- image: grafana/grafana-ci-deploy:1.0.0
- image: grafana/grafana-ci-deploy:1.2.0
steps:
- attach_workspace:
at: .
@@ -362,10 +350,20 @@ jobs:
- run:
name: Deploy to Grafana.com
command: './scripts/build/publish.sh --enterprise'
- run:
name: Load GPG private key
command: './scripts/build/load-signing-key.sh'
- run:
name: Update Debian repository
command: './scripts/build/update_repo/update-deb.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
- run:
name: Update RPM repository
command: './scripts/build/update_repo/update-rpm.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
deploy-master:
docker:
- image: grafana/grafana-ci-deploy:1.0.0
- image: grafana/grafana-ci-deploy:1.2.0
steps:
- attach_workspace:
at: .
@@ -391,12 +389,14 @@ jobs:
name: Publish to Grafana.com
command: |
rm dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
./scripts/publish -apiKey ${GRAFANA_COM_API_KEY}
rm dist/*latest*
cd dist && ../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -from-local
deploy-release:
docker:
- image: grafana/grafana-ci-deploy:1.0.0
- image: grafana/grafana-ci-deploy:1.2.0
steps:
- checkout
- attach_workspace:
at: .
- run:
@@ -414,6 +414,15 @@ jobs:
- run:
name: Deploy to Grafana.com
command: './scripts/build/publish.sh'
- run:
name: Load GPG private key
command: './scripts/build/load-signing-key.sh'
- run:
name: Update Debian repository
command: './scripts/build/update_repo/update-deb.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
- run:
name: Update RPM repository
command: './scripts/build/update_repo/update-rpm.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
workflows:
version: 2
+1
View File
@@ -76,3 +76,4 @@ debug.test
/devenv/bulk_alerting_dashboards/*.json
/scripts/build/release_publisher/release_publisher
*.patch
+110 -10
View File
@@ -1,4 +1,104 @@
# 5.4.0 (unreleased)
# 6.0.0-beta1 (unreleased)
### New Features
* **Alerting**: Adds support for Google Hangouts Chat notifications [#11221](https://github.com/grafana/grafana/issues/11221), thx [@PatrickSchuster](https://github.com/PatrickSchuster)
* **Elasticsearch**: Support bucket script pipeline aggregations [#5968](https://github.com/grafana/grafana/issues/5968)
* **Influxdb**: Add support for time zone (`tz`) clause [#10322](https://github.com/grafana/grafana/issues/10322), thx [@cykl](https://github.com/cykl)
* **Snapshots**: Enable deletion of public snapshot [#14109](https://github.com/grafana/grafana/issues/14109)
* **Provisioning**: Provisioning support for alert notifiers [#10487](https://github.com/grafana/grafana/issues/10487), thx [@pbakulev](https://github.com/pbakulev)
* **Explore**: A whole new way to do ad-hoc metric queries and exploration. Split view in half and compare metrics & logs and much much more. [Read more here](http://docs.grafana.org/features/explore/)
### Minor
* **Alerting**: Use separate timeouts for alert evals and notifications [#14701](https://github.com/grafana/grafana/issues/14701), thx [@sharkpc0813](https://github.com/sharkpc0813)
* **Elasticsearch**: Add support for offset in date histogram aggregation [#12653](https://github.com/grafana/grafana/issues/12653), thx [@mattiarossi](https://github.com/mattiarossi)
* **Elasticsearch**: Add support for moving average and derivative using doc count (metric count) [#8843](https://github.com/grafana/grafana/issues/8843) [#11175](https://github.com/grafana/grafana/issues/11175)
* **Elasticsearch**: Add support for template variable interpolation in alias field [#4075](https://github.com/grafana/grafana/issues/4075), thx [@SamuelToh](https://github.com/SamuelToh)
* **Influxdb**: Fix autocomplete of measurements does not escape search string properly [#11503](https://github.com/grafana/grafana/issues/11503), thx [@SamuelToh](https://github.com/SamuelToh)
* **Stackdriver**: Aggregating series returns more than one series [#14581](https://github.com/grafana/grafana/issues/14581) and [#13914](https://github.com/grafana/grafana/issues/13914), thx [@kinok](https://github.com/kinok)
* **Cloudwatch**: Fix Assume Role Arn [#14722](https://github.com/grafana/grafana/issues/14722), thx [@jaken551](https://github.com/jaken551)
* **Postgres/MySQL/MSSQL**: Nanosecond timestamp support (`$__unixEpochNanoFilter`, `$__unixEpochNanoFrom`, `$__unixEpochNanoTo`) [#14711](https://github.com/grafana/grafana/pull/14711), thx [@ander26](https://github.com/ander26)
* **Provisioning**: Fixes bug causing infinite growth in dashboard_version table. [#12864](https://github.com/grafana/grafana/issues/12864)
* **Auth**: Prevent password reset when login form is disabled or either LDAP or Auth Proxy is enabled [#14246](https://github.com/grafana/grafana/issues/14246), thx [@SilverFire](https://github.com/SilverFire)
* **Admin**: Fix prevent removing last grafana admin permissions [#11067](https://github.com/grafana/grafana/issues/11067), thx [@danielbh](https://github.com/danielbh)
* **Admin**: When multiple user invitations, all links are the same as the first user who was invited [#14483](https://github.com/grafana/grafana/issues/14483)
* **LDAP**: Upgrade go-ldap to v3 [#14548](https://github.com/grafana/grafana/issues/14548)
* **OAuth**: Support OAuth providers that are not RFC6749 compliant [#14562](https://github.com/grafana/grafana/issues/14562), thx [@tdabasinskas](https://github.com/tdabasinskas)
* **Proxy whitelist**: Add CIDR capability to auth_proxy whitelist [#14546](https://github.com/grafana/grafana/issues/14546), thx [@jacobrichard](https://github.com/jacobrichard)
* **Dashboard**: `Min width` changed to `Max per row` for repeating panels. This lets you specify the maximum number of panels to show per row and by that repeated panels will always take up full width of row [#12991](https://github.com/grafana/grafana/pull/12991), thx [@pgiraud](https://github.com/pgiraud)
* **Dashboard**: Retain decimal precision when exporting CSV [#13929](https://github.com/grafana/grafana/issues/13929), thx [@cinaglia](https://github.com/cinaglia)
* **Templating**: Escaping "Custom" template variables [#13754](https://github.com/grafana/grafana/issues/13754), thx [@IntegersOfK](https://github.com/IntegersOfK)
* **Templating**: Add percentencode formatting to variable interpolation to be used mainly for url escaping [#12764](https://github.com/grafana/grafana/issues/12764), thx [@cxcv](https://github.com/cxcv)
* **Units**: Add blood glucose level units mg/dL and mmol/L [#14519](https://github.com/grafana/grafana/issues/14519), thx [@kjedamzik](https://github.com/kjedamzik)
* **Units**: Add Floating Point Operations per Second units [#14558](https://github.com/grafana/grafana/pull/14558), thx [@hahnjo](https://github.com/hahnjo)
* **Table**: Renders epoch string as date if date column style [#14484](https://github.com/grafana/grafana/issues/14484)
* **Dataproxy**: Override incoming Authorization header [#13815](https://github.com/grafana/grafana/issues/13815), thx [@kornholi](https://github.com/kornholi)
* **Dataproxy**: Add global datasource 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 datasources [#13711](https://github.com/grafana/grafana/issues/13711), thx [@ellisvlad](https://github.com/ellisvlad)
* **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
* **Search**: Fix for issue with scrolling the "tags filter" dropdown, fixes [#14486](https://github.com/grafana/grafana/issues/14486)
* **Prometheus**: Query for annotation always uses 60s step regardless of dashboard range, fixes [#14795](https://github.com/grafana/grafana/issues/14795)
* **Annotations**: Fix creating annotation when graph panel has no data points position the popup outside viewport [#13765](https://github.com/grafana/grafana/issues/13765), thx [@banjeremy](https://github.com/banjeremy)
* **Piechart/Flot**: Fixes multiple piechart instances with donut bug [#15062](https://github.com/grafana/grafana/pull/15062)
### Breaking changes
* **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.3 (2019-01-14)
### Tech
* **Docker**: Build and publish docker images for armv7 and arm64 [#14617](https://github.com/grafana/grafana/pull/14617), thx [@johanneswuerbach](https://github.com/johanneswuerbach)
* **Backend**: Upgrade to golang 1.11.4 [#14580](https://github.com/grafana/grafana/issues/14580)
* **MySQL** only update session in mysql database when required [#14540](https://github.com/grafana/grafana/pull/14540)
### Bug fixes
* **Alerting** Invalid frequency causes division by zero in alert scheduler [#14810](https://github.com/grafana/grafana/issues/14810)
* **Dashboard** Dashboard links do not update when time range changes [#14493](https://github.com/grafana/grafana/issues/14493)
* **Limits** Support more than 1000 datasources per org [#13883](https://github.com/grafana/grafana/issues/13883)
* **Backend** fix signed in user for orgId=0 result should return active org id [#14574](https://github.com/grafana/grafana/pull/14574)
* **Provisioning** Adds orgId to user dto for provisioned dashboards [#14678](https://github.com/grafana/grafana/pull/14678)
# 5.4.2 (2018-12-13)
* **Datasource admin**: Fix for issue creating new data source when same name exists [#14467](https://github.com/grafana/grafana/issues/14467)
* **OAuth**: Fix for oauth auto login setting, can now be set using env variable [#14435](https://github.com/grafana/grafana/issues/14435)
* **Dashboard search**: Fix for searching tags in tags filter dropdown.
# 5.4.1 (2018-12-10)
* **Stackdriver**: Fixes issue with data proxy and Authorization header [#14262](https://github.com/grafana/grafana/issues/14262)
* **Units**: fixedUnit for Flow:l/min and mL/min [#14294](https://github.com/grafana/grafana/issues/14294), thx [@flopp999](https://github.com/flopp999).
* **Logging**: Fix for issue where data proxy logged a secret when debug logging was enabled, now redacted. [#14319](https://github.com/grafana/grafana/issues/14319)
* **InfluxDB**: Add support for alerting on InfluxDB queries that use the cumulative_sum function. [#14314](https://github.com/grafana/grafana/pull/14314), thx [@nitti](https://github.com/nitti)
* **Plugins**: Panel plugins should no receive the panel-initialized event again as usual.
* **Embedded Graphs**: Iframe graph panels should now work as usual. [#14284](https://github.com/grafana/grafana/issues/14284)
* **Postgres**: Improve PostgreSQL Query Editor if using different Schemas, [#14313](
https://github.com/grafana/grafana/pull/14313)
* **Quotas**: Fixed for updating org & user quotas. [#14347](https://github.com/grafana/grafana/pull/14347), thx [#moznion](https://github.com/moznion)
* **Cloudwatch**: Add the AWS/SES Cloudwatch metrics of BounceRate and ComplaintRate to auto complete list. [#14401](https://github.com/grafana/grafana/pull/14401), thx [@sglajchEG](https://github.com/sglajchEG)
* **Dashboard Search**: Fixed filtering by tag issues.
* **Graph**: Fixed time region issues, [#14425](https://github.com/grafana/grafana/issues/14425), [#14280](https://github.com/grafana/grafana/issues/14280)
* **Graph**: Fixed issue with series color picker popover being placed outside window.
# 5.4.0 (2018-12-03)
* **Cloudwatch**: Fix invalid time range causes segmentation fault [#14150](https://github.com/grafana/grafana/issues/14150)
* **Cloudwatch**: AWS/CodeBuild metrics and dimensions [#14167](https://github.com/grafana/grafana/issues/14167), thx [@mmcoltman](https://github.com/mmcoltman)
* **MySQL**: Fix `$__timeFrom()` and `$__timeTo()` should respect local time zone [#14228](https://github.com/grafana/grafana/issues/14228)
### 5.4.0-beta1 fixes
* **Graph**: Fix legend always visible even if configured to be hidden [#14144](https://github.com/grafana/grafana/issues/14144)
* **Elasticsearch**: Fix regression when using datasource version 6.0+ and alerting [#14175](https://github.com/grafana/grafana/pull/14175)
# 5.4.0-beta1 (2018-11-20)
### New Features
@@ -152,7 +252,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-3-3-and-4-
* **Alerting**: Fix rendering timeout which could cause notifications to not be sent due to rendering timing out [#12151](https://github.com/grafana/grafana/issues/12151)
* **Docker**: Make it possible to set a specific plugin url [#12861](https://github.com/grafana/grafana/pull/12861), thx [ClementGautier](https://github.com/ClementGautier)
* **GrafanaCli**: Fixed issue with grafana-cli install plugin resulting in corrupt http response from source error. Fixes [#13079](https://github.com/grafana/grafana/issues/13079)
* **Provisioning**: Should allow one default datasource per organisation [#12229](https://github.com/grafana/grafana/issues/12229)
* **Provisioning**: Should allow one default datasource per organization [#12229](https://github.com/grafana/grafana/issues/12229)
* **Github OAuth**: Allow changes of user info at Github to be synched to Grafana when signing in [#11818](https://github.com/grafana/grafana/issues/11818), thx [@rwaweber](https://github.com/rwaweber)
* **OAuth**: Fix overriding tls_skip_verify_insecure using environment variable [#12747](https://github.com/grafana/grafana/issues/12747), thx [@jangaraj](https://github.com/jangaraj)
* **Prometheus**: Fix graph panel bar width issue in aligned prometheus queries [#12379](https://github.com/grafana/grafana/issues/12379)
@@ -275,7 +375,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-2-3-and-4-
* **Dashboard**: Prevent double-click when saving dashboard [#11963](https://github.com/grafana/grafana/issues/11963)
* **Dashboard**: AutoFocus the add-panel search filter [#12189](https://github.com/grafana/grafana/pull/12189) thx [@ryantxu](https://github.com/ryantxu)
* **Units**: W/m2 (energy), l/h (flow) and kPa (pressure) [#11233](https://github.com/grafana/grafana/pull/11233), thx [@flopp999](https://github.com/flopp999)
* **Units**: Litre/min (flow) and milliLitre/min (flow) [#12282](https://github.com/grafana/grafana/pull/12282), thx [@flopp999](https://github.com/flopp999)
* **Units**: Liter/min (flow) and milliLiter/min (flow) [#12282](https://github.com/grafana/grafana/pull/12282), thx [@flopp999](https://github.com/flopp999)
* **Alerting**: Fix mobile notifications for Microsoft Teams alert notifier [#11484](https://github.com/grafana/grafana/pull/11484), thx [@manacker](https://github.com/manacker)
* **Influxdb**: Add support for mode function [#12286](https://github.com/grafana/grafana/issues/12286)
* **Cloudwatch**: Fixes panic caused by bad timerange settings [#12199](https://github.com/grafana/grafana/issues/12199)
@@ -410,7 +510,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-2-3-and-4-
* **Units**: Use B/s instead Bps for Bytes per second [#9342](https://github.com/grafana/grafana/pull/9342), thx [@mayli](https://github.com/mayli)
* **Units**: Radiation units [#11001](https://github.com/grafana/grafana/issues/11001), thx [@victorclaessen](https://github.com/victorclaessen)
* **Units**: Timeticks unit [#11183](https://github.com/grafana/grafana/pull/11183), thx [@jtyr](https://github.com/jtyr)
* **Units**: Concentration units and "Normal cubic metre" [#11211](https://github.com/grafana/grafana/issues/11211), thx [@flopp999](https://github.com/flopp999)
* **Units**: Concentration units and "Normal cubic meter" [#11211](https://github.com/grafana/grafana/issues/11211), thx [@flopp999](https://github.com/flopp999)
* **Units**: New currency - Czech koruna [#11384](https://github.com/grafana/grafana/pull/11384), thx [@Rohlik](https://github.com/Rohlik)
* **Avatar**: Fix DISABLE_GRAVATAR option [#11095](https://github.com/grafana/grafana/issues/11095)
* **Heatmap**: Disable log scale when using time time series buckets [#10792](https://github.com/grafana/grafana/issues/10792)
@@ -727,7 +827,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-2-3-and-4-
## Enhancements
* **GitHub OAuth**: Support for GitHub organizations with 100+ teams. [#8846](https://github.com/grafana/grafana/issues/8846), thx [@skwashd](https://github.com/skwashd)
* **Graphite**: Calls to Graphite api /metrics/find now include panel or dashboad time range (from & until) in most cases, [#8055](https://github.com/grafana/grafana/issues/8055)
* **Graphite**: Calls to Graphite api /metrics/find now include panel or dashboard time range (from & until) in most cases, [#8055](https://github.com/grafana/grafana/issues/8055)
* **Graphite**: Added new graphite 1.0 functions, available if you set version to 1.0.x in data source settings. New Functions: mapSeries, reduceSeries, isNonNull, groupByNodes, offsetToZero, grep, weightedAverage, removeEmptySeries, aggregateLine, averageOutsidePercentile, delay, exponentialMovingAverage, fallbackSeries, integralByInterval, interpolate, invert, linearRegression, movingMin, movingMax, movingSum, multiplySeriesWithWildcards, pow, powSeries, removeBetweenPercentile, squareRoot, timeSlice, closes [#8261](https://github.com/grafana/grafana/issues/8261)
- **Elasticsearch**: Ad-hoc filters now use query phrase match filters instead of term filters, works on non keyword/raw fields [#9095](https://github.com/grafana/grafana/issues/9095).
@@ -892,7 +992,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
* **InfluxDB**: Influxb Datasource test passes even if the Database doesn't exist [#7864](https://github.com/grafana/grafana/issues/7864)
* **Prometheus**: Displaying Prometheus annotations is incredibly slow [#7750](https://github.com/grafana/grafana/issues/7750), thx [@mtanda](https://github.com/mtanda)
* **Graphite**: grafana generates empty find query to graphite -> 422 Unprocessable Entity [#7740](https://github.com/grafana/grafana/issues/7740)
* **Admin**: make organisation filter case insensitive [#8194](https://github.com/grafana/grafana/issues/8194), thx [@Alexander-N](https://github.com/Alexander-N)
* **Admin**: make organization filter case insensitive [#8194](https://github.com/grafana/grafana/issues/8194), thx [@Alexander-N](https://github.com/Alexander-N)
## Changes
* **Elasticsearch**: Changed elasticsearch Terms aggregation to default to Min Doc Count to 1, and sort order to Top [#8321](https://github.com/grafana/grafana/issues/8321)
@@ -1020,7 +1120,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
* **CLI**: Make it possible to reset the admin password using the grafana-cli. [#5479](https://github.com/grafana/grafana/issues/5479)
* **Influxdb**: Support multiple tags in InfluxDB annotations. [#4550](https://github.com/grafana/grafana/pull/4550), thx [@adrianlzt](https://github.com/adrianlzt)
* **LDAP**: Basic Auth now supports LDAP username and password, [#6940](https://github.com/grafana/grafana/pull/6940), thx [@utkarshcmu](https://github.com/utkarshcmu)
* **LDAP**: Now works with Auth Proxy, role and organisation mapping & sync will regularly be performed. [#6895](https://github.com/grafana/grafana/pull/6895), thx [@Seuf](https://github.com/seuf)
* **LDAP**: Now works with Auth Proxy, role and organization mapping & sync will regularly be performed. [#6895](https://github.com/grafana/grafana/pull/6895), thx [@Seuf](https://github.com/seuf)
* **Alerting**: Adds OK as no data option. [#6866](https://github.com/grafana/grafana/issues/6866)
* **Alert list**: Order alerts based on state. [#6676](https://github.com/grafana/grafana/issues/6676)
* **Alerting**: Add api endpoint for pausing all alerts. [#6589](https://github.com/grafana/grafana/issues/6589)
@@ -1159,7 +1259,7 @@ due to too many connections/file handles on the data source backend. This proble
* **Scripts**: Use restart instead of start for deb package script, closes [#5282](https://github.com/grafana/grafana/pull/5282)
* **Logging**: Moved to structured logging lib, and moved to component specific level filters via config file, closes [#4590](https://github.com/grafana/grafana/issues/4590)
* **OpenTSDB**: Support nested template variables in tag_values function, closes [#4398](https://github.com/grafana/grafana/issues/4398)
* **Datasource**: Pending data source requests are cancelled before new ones are issues (Graphite & Prometheus), closes [#5321](https://github.com/grafana/grafana/issues/5321)
* **Datasource**: Pending data source requests are canceled before new ones are issues (Graphite & Prometheus), closes [#5321](https://github.com/grafana/grafana/issues/5321)
### Breaking changes
* **Logging** : Changed default logging output format (now structured into message, and key value pairs, with logger key acting as component). You can also no change in config to json log output.
@@ -1863,7 +1963,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
#### Fixes
- [Issue #126](https://github.com/grafana/grafana/issues/126). Graphite query lexer change, can now handle regex parameters for aliasSub function
- [Issue #447](https://github.com/grafana/grafana/issues/447). Filter option loading when having muliple nested filters now works better. Options are now reloaded correctly and there are no multiple renders/refresh in between.
- [Issue #447](https://github.com/grafana/grafana/issues/447). Filter option loading when having multiple nested filters now works better. Options are now reloaded correctly and there are no multiple renders/refresh in between.
- [Issue #412](https://github.com/grafana/grafana/issues/412). After a filter option is changed and a nested template param is reloaded, if the current value exists after the options are reloaded the current selected value is kept.
- [Issue #460](https://github.com/grafana/grafana/issues/460). Legend Current value did not display when value was zero
- [Issue #328](https://github.com/grafana/grafana/issues/328). Fix to series toggling bug that caused annotations to be hidden when toggling/hiding series.
@@ -1898,7 +1998,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
- Graphite errors are now much easier to see and troubleshoot with the new inspector ([Issue #265](https://github.com/grafana/grafana/issues/265))
- Use influxdb aliases to distinguish between multiple columns ([Issue #283](https://github.com/grafana/grafana/issues/283))
- Correction to ms axis formater, now formats days correctly. ([Issue #189](https://github.com/grafana/grafana/issues/189))
- Css fix for Firefox and using top menu dropdowns in panel fullscren / edit mode ([Issue #106](https://github.com/grafana/grafana/issues/106))
- Css fix for Firefox and using top menu dropdowns in panel fullscreen / edit mode ([Issue #106](https://github.com/grafana/grafana/issues/106))
- Browser page title is now Grafana - {{dashboard title}} ([Issue #294](https://github.com/grafana/grafana/issues/294))
- Disable auto refresh zooming in (every time you change to an absolute time range), refresh will be restored when you change time range back to relative ([Issue #282](https://github.com/grafana/grafana/issues/282))
- More graphite functions
+1 -1
View File
@@ -2,7 +2,7 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
+4 -2
View File
@@ -1,5 +1,5 @@
# Golang build container
FROM golang:1.11
FROM golang:1.11.5
WORKDIR $GOPATH/src/github.com/grafana/grafana
@@ -19,11 +19,13 @@ COPY package.json package.json
RUN go run build.go build
# Node build container
FROM node:8
FROM node:10.14.2
WORKDIR /usr/src/app/
COPY package.json yarn.lock ./
COPY packages packages
RUN yarn install --pure-lockfile --no-progress
COPY Gruntfile.js tsconfig.json tslint.json ./
Generated
+29 -275
View File
@@ -2,39 +2,30 @@
[[projects]]
digest = "1:f8ad8a53fa865a70efbe215b0ca34735523f50ea39e0efde319ab6fc80089b44"
name = "cloud.google.com/go"
packages = ["compute/metadata"]
pruneopts = "NUT"
revision = "056a55f54a6cc77b440b31a56a5e7c3982d32811"
version = "v0.22.0"
[[projects]]
digest = "1:167b6f65a6656de568092189ae791253939f076df60231fdd64588ac703892a1"
name = "github.com/BurntSushi/toml"
packages = ["."]
pruneopts = "NUT"
revision = "b26d9c308763d68093482582cea63d69be07a0f0"
version = "v0.3.0"
[[projects]]
branch = "master"
digest = "1:7d23e6e1889b8bb4bbb37a564708fdab4497ce232c3a99d66406c975b642a6ff"
name = "github.com/Unknwon/com"
packages = ["."]
pruneopts = "NUT"
revision = "7677a1d7c1137cd3dd5ba7a076d0c898a1ef4520"
[[projects]]
branch = "master"
digest = "1:1610787cd9726e29d8fecc2a80e43e4fced008a1f560fec6688fc4d946f17835"
name = "github.com/VividCortex/mysqlerr"
packages = ["."]
pruneopts = "NUT"
revision = "6c6b55f8796f578c870b7e19bafb16103bc40095"
[[projects]]
digest = "1:58294d68772aab5a8941b7d5d228eff7cccf63f895e914bc9bc38fda80471ea5"
name = "github.com/aws/aws-sdk-go"
packages = [
"aws",
@@ -70,523 +61,399 @@
"service/ec2",
"service/ec2/ec2iface",
"service/s3",
"service/sts",
"service/sts"
]
pruneopts = "NUT"
revision = "fde4ded7becdeae4d26bf1212916aabba79349b4"
version = "v1.14.12"
[[projects]]
branch = "master"
digest = "1:79cad073c7be02632d3fa52f62486848b089f560db1e94536de83a408c0f4726"
name = "github.com/benbjohnson/clock"
packages = ["."]
pruneopts = "NUT"
revision = "7dc76406b6d3c05b5f71a86293cbcf3c4ea03b19"
[[projects]]
branch = "master"
digest = "1:707ebe952a8b3d00b343c01536c79c73771d100f63ec6babeaed5c79e2b8a8dd"
name = "github.com/beorn7/perks"
packages = ["quantile"]
pruneopts = "NUT"
revision = "3a771d992973f24aa725d07868b467d1ddfceafb"
[[projects]]
branch = "master"
digest = "1:433a2ff0ef4e2f8634614aab3174783c5ff80120b487712db96cc3712f409583"
name = "github.com/bmizerany/assert"
packages = ["."]
pruneopts = "NUT"
revision = "b7ed37b82869576c289d7d97fb2bbd8b64a0cb28"
[[projects]]
branch = "master"
digest = "1:d8f9145c361920507a4f85ffb7f70b96beaedacba2ce8c00aa663adb08689d3e"
name = "github.com/bradfitz/gomemcache"
packages = ["memcache"]
pruneopts = "NUT"
revision = "1952afaa557dc08e8e0d89eafab110fb501c1a2b"
[[projects]]
branch = "master"
digest = "1:8ecb89af7dfe3ac401bdb0c9390b134ef96a97e85f732d2b0604fb7b3977839f"
name = "github.com/codahale/hdrhistogram"
packages = ["."]
pruneopts = "NUT"
revision = "3a0bb77429bd3a61596f5e8a3172445844342120"
[[projects]]
digest = "1:5dba68a1600a235630e208cb7196b24e58fcbb77bb7a6bec08fcd23f081b0a58"
name = "github.com/codegangsta/cli"
packages = ["."]
pruneopts = "NUT"
revision = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1"
version = "v1.20.0"
[[projects]]
digest = "1:a2c1d0e43bd3baaa071d1b9ed72c27d78169b2b269f71c105ac4ba34b1be4a39"
name = "github.com/davecgh/go-spew"
packages = ["spew"]
pruneopts = "NUT"
revision = "346938d642f2ec3594ed81d874461961cd0faa76"
version = "v1.1.0"
[[projects]]
digest = "1:1b318d2dd6cea8a1a8d8ec70348852303bd3e491df74e8bca6e32eb5a4d06970"
name = "github.com/denisenkom/go-mssqldb"
packages = [
".",
"internal/cp",
"internal/cp"
]
pruneopts = "NUT"
revision = "270bc3860bb94dd3a3ffd047377d746c5e276726"
[[projects]]
branch = "master"
digest = "1:2da5f11ad66ff01a27a5c3dba4620b7eee2327be75b32c9ee9f87c9a8001ecbf"
name = "github.com/facebookgo/inject"
packages = ["."]
pruneopts = "NUT"
revision = "cc1aa653e50f6a9893bcaef89e673e5b24e1e97b"
[[projects]]
branch = "master"
digest = "1:1108df7f658c90db041e0d6174d55be689aaeb0585913b9c3c7aab51a3a6b2b1"
name = "github.com/facebookgo/structtag"
packages = ["."]
pruneopts = "NUT"
revision = "217e25fb96916cc60332e399c9aa63f5c422ceed"
[[projects]]
digest = "1:ade392a843b2035effb4b4a2efa2c3bab3eb29b992e98bacf9c898b0ecb54e45"
name = "github.com/fatih/color"
packages = ["."]
pruneopts = "NUT"
revision = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4"
version = "v1.7.0"
[[projects]]
digest = "1:e05711632e1515319b014e8fe4cbe1d30ab024c473403f60cf0fdeb4c586a474"
name = "github.com/go-ini/ini"
packages = ["."]
pruneopts = "NUT"
revision = "6529cf7c58879c08d927016dde4477f18a0634cb"
version = "v1.36.0"
[[projects]]
digest = "1:7e1c00b9959544fa1ccca7cf0407a5b29ac6d5201059c4fac6f599cb99bfd24d"
name = "github.com/go-ldap/ldap"
packages = ["."]
pruneopts = "NUT"
revision = "bb7a9ca6e4fbc2129e3db588a34bc970ffe811a9"
version = "v2.5.1"
[[projects]]
branch = "master"
digest = "1:682a0aca743a1a4a36697f3d7f86c0ed403c4e3a780db9935f633242855eac9c"
name = "github.com/go-macaron/binding"
packages = ["."]
pruneopts = "NUT"
revision = "ac54ee249c27dca7e76fad851a4a04b73bd1b183"
[[projects]]
branch = "master"
digest = "1:6326b27f8e0c8e135c8674ddbc619fae879664ac832e8e6fa6a23ce0d279ed4d"
name = "github.com/go-macaron/gzip"
packages = ["."]
pruneopts = "NUT"
revision = "cad1c6580a07c56f5f6bc52d66002a05985c5854"
[[projects]]
branch = "master"
digest = "1:fb8711b648d1ff03104fc1d9593a13cb1d5120be7ba2b01641c14ccae286a9e3"
name = "github.com/go-macaron/inject"
packages = ["."]
pruneopts = "NUT"
revision = "d8a0b8677191f4380287cfebd08e462217bac7ad"
[[projects]]
branch = "master"
digest = "1:21577aafe885f088e8086a3415f154c63c0b7ce956a6994df2ac5776bc01b7e3"
name = "github.com/go-macaron/session"
packages = [
".",
"memcache",
"postgres",
"redis",
"redis"
]
pruneopts = "NUT"
revision = "068d408f9c54c7fa7fcc5e2bdd3241ab21280c9e"
[[projects]]
digest = "1:fddd4bada6100d6fc49a9f32f18ba5718db45a58e4b00aa6377e1cfbf06af34f"
name = "github.com/go-sql-driver/mysql"
packages = ["."]
pruneopts = "NUT"
revision = "2cc627ac8defc45d65066ae98f898166f580f9a4"
[[projects]]
digest = "1:a1efdbc2762667c8a41cbf02b19a0549c846bf2c1d08cad4f445e3344089f1f0"
name = "github.com/go-stack/stack"
packages = ["."]
pruneopts = "NUT"
revision = "259ab82a6cad3992b4e21ff5cac294ccb06474bc"
version = "v1.7.0"
[[projects]]
digest = "1:b9d4f09cdaaa9e7dca5ed0b501ca5519eb2168dd01fc5d174c54edfe42a7d5ed"
name = "github.com/go-xorm/builder"
packages = ["."]
pruneopts = "NUT"
revision = "bad0a612f0d6277b953910822ab5dfb30dd18237"
version = "v0.2.0"
[[projects]]
digest = "1:30fb106b0cd6d64ea6fccded579c8f7d788460092f885fcc8f3edd02fc2085a4"
name = "github.com/go-xorm/core"
packages = ["."]
pruneopts = "NUT"
revision = "da1adaf7a28ca792961721a34e6e04945200c890"
version = "v0.5.7"
[[projects]]
digest = "1:007d1354e4f44e6a393337e7623bcf911dfe75d6ef30fb767a6a0b65d302f5ed"
name = "github.com/go-xorm/xorm"
packages = ["."]
pruneopts = "NUT"
revision = "1933dd69e294c0a26c0266637067f24dbb25770c"
version = "v0.6.4"
[[projects]]
branch = "master"
digest = "1:ffbb19fb66f140b5ea059428d1f84246a055d1bc3d9456c1e5c3d143611f03d0"
name = "github.com/golang/protobuf"
packages = [
"proto",
"ptypes",
"ptypes/any",
"ptypes/duration",
"ptypes/timestamp",
"ptypes/timestamp"
]
pruneopts = "NUT"
revision = "927b65914520a8b7d44f5c9057611cfec6b2e2d0"
[[projects]]
branch = "master"
digest = "1:f14d1b50e0075fb00177f12a96dd7addf93d1e2883c25befd17285b779549795"
name = "github.com/gopherjs/gopherjs"
packages = ["js"]
pruneopts = "NUT"
revision = "8dffc02ea1cb8398bb73f30424697c60fcf8d4c5"
[[projects]]
digest = "1:3b708ebf63bfa9ba3313bedb8526bc0bb284e51474e65e958481476a9d4a12aa"
name = "github.com/gorilla/websocket"
packages = ["."]
pruneopts = "NUT"
revision = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b"
version = "v1.2.0"
[[projects]]
digest = "1:4e771d1c6e15ca4516ad971c34205c822b5cff2747179679d7b321e4e1bfe431"
name = "github.com/gosimple/slug"
packages = ["."]
pruneopts = "NUT"
revision = "e9f42fa127660e552d0ad2b589868d403a9be7c6"
version = "v1.1.1"
[[projects]]
branch = "master"
digest = "1:08e53c69cd267ef7d71eeae5d953153d0d2bc1b8e0b498731fe9acaead7001b6"
name = "github.com/grafana/grafana-plugin-model"
packages = [
"go/datasource",
"go/renderer",
"go/renderer"
]
pruneopts = "NUT"
revision = "84176c64269d8060f99e750ee8aba6f062753336"
[[projects]]
branch = "master"
digest = "1:58ba5285227b0f635652cd4aa82c4cfd00b590191eadd823462f0c9f64e3ae07"
name = "github.com/hashicorp/go-hclog"
packages = ["."]
pruneopts = "NUT"
revision = "69ff559dc25f3b435631604f573a5fa1efdb6433"
[[projects]]
digest = "1:532090ffc3b05a7e4c0229dd2698d79149f2e0683df993224a8b202f607fb605"
name = "github.com/hashicorp/go-plugin"
packages = ["."]
pruneopts = "NUT"
revision = "e8d22c780116115ae5624720c9af0c97afe4f551"
[[projects]]
branch = "master"
digest = "1:8925116d1edcd85fc0c014e1aa69ce12892489b48ee633a605c46d893b8c151f"
name = "github.com/hashicorp/go-version"
packages = ["."]
pruneopts = "NUT"
revision = "23480c0665776210b5fbbac6eaaee40e3e6a96b7"
[[projects]]
branch = "master"
digest = "1:8deb0c5545c824dfeb0ac77ab8eb67a3d541eab76df5c85ce93064ef02d44cd0"
name = "github.com/hashicorp/yamux"
packages = ["."]
pruneopts = "NUT"
revision = "7221087c3d281fda5f794e28c2ea4c6e4d5c4558"
[[projects]]
digest = "1:efbe016b6d198cf44f1db0ed2fbdf1b36ebf1f6956cc9b76d6affa96f022d368"
name = "github.com/inconshreveable/log15"
packages = ["."]
pruneopts = "NUT"
revision = "0decfc6c20d9ca0ad143b0e89dcaa20f810b4fb3"
version = "v2.13"
[[projects]]
digest = "1:ac6d01547ec4f7f673311b4663909269bfb8249952de3279799289467837c3cc"
name = "github.com/jmespath/go-jmespath"
packages = ["."]
pruneopts = "NUT"
revision = "0b12d6b5"
[[projects]]
digest = "1:6ddab442e52381bab82fb6c07ef3f4b565ff7ec4b8fae96d8dd4b8573a460597"
name = "github.com/jtolds/gls"
packages = ["."]
pruneopts = "NUT"
revision = "77f18212c9c7edc9bd6a33d383a7b545ce62f064"
version = "v4.2.1"
[[projects]]
digest = "1:1da1796a71eb70f1e3e085984d044f67840bb0326816ec8276231aa87b1b9fc3"
name = "github.com/klauspost/compress"
packages = [
"flate",
"gzip",
"gzip"
]
pruneopts = "NUT"
revision = "6c8db69c4b49dd4df1fff66996cf556176d0b9bf"
version = "v1.2.1"
[[projects]]
digest = "1:5e55a8699c9ff7aba1e4c8952aeda209685d88d4cb63a8766c338e333b8e65d6"
name = "github.com/klauspost/cpuid"
packages = ["."]
pruneopts = "NUT"
revision = "ae7887de9fa5d2db4eaa8174a7eff2c1ac00f2da"
version = "v1.1"
[[projects]]
digest = "1:b95da1293525625ef6f07be79d537b9bf2ecd7901efcf9a92193edafbd55b9ef"
name = "github.com/klauspost/crc32"
packages = ["."]
pruneopts = "NUT"
revision = "cb6bfca970f6908083f26f39a79009d608efd5cd"
version = "v1.1"
[[projects]]
digest = "1:7b21c7fc5551b46d1308b4ffa9e9e49b66c7a8b0ba88c0130474b0e7a20d859f"
name = "github.com/kr/pretty"
packages = ["."]
pruneopts = "NUT"
revision = "73f6ac0b30a98e433b289500d779f50c1a6f0712"
version = "v0.1.0"
[[projects]]
digest = "1:c3a7836b5904db0f8b609595b619916a6831cb35b8b714aec39f96d00c6155d8"
name = "github.com/kr/text"
packages = ["."]
pruneopts = "NUT"
revision = "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f"
version = "v0.1.0"
[[projects]]
branch = "master"
digest = "1:7a1e592f0349d56fac8ce47f28469e4e7f4ce637cb26f40c88da9dff25db1c98"
name = "github.com/lib/pq"
packages = [
".",
"oid",
"oid"
]
pruneopts = "NUT"
revision = "d34b9ff171c21ad295489235aec8b6626023cd04"
[[projects]]
digest = "1:08c231ec84231a7e23d67e4b58f975e1423695a32467a362ee55a803f9de8061"
name = "github.com/mattn/go-colorable"
packages = ["."]
pruneopts = "NUT"
revision = "167de6bfdfba052fa6b2d3664c8f5272e23c9072"
version = "v0.0.9"
[[projects]]
digest = "1:bc4f7eec3b7be8c6cb1f0af6c1e3333d5bb71072951aaaae2f05067b0803f287"
name = "github.com/mattn/go-isatty"
packages = ["."]
pruneopts = "NUT"
revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39"
version = "v0.0.3"
[[projects]]
digest = "1:536979f1c56397dbf91c2785159b37dec37e35d3bffa3cd1cfe66d25f51f8088"
name = "github.com/mattn/go-sqlite3"
packages = ["."]
pruneopts = "NUT"
revision = "323a32be5a2421b8c7087225079c6c900ec397cd"
version = "v1.7.0"
[[projects]]
digest = "1:5985ef4caf91ece5d54817c11ea25f182697534f8ae6521eadcd628c142ac4b6"
name = "github.com/matttproud/golang_protobuf_extensions"
packages = ["pbutil"]
pruneopts = "NUT"
revision = "3247c84500bff8d9fb6d579d800f20b3e091582c"
version = "v1.0.0"
[[projects]]
branch = "master"
digest = "1:18b773b92ac82a451c1276bd2776c1e55ce057ee202691ab33c8d6690efcc048"
name = "github.com/mitchellh/go-testing-interface"
packages = ["."]
pruneopts = "NUT"
revision = "a61a99592b77c9ba629d254a693acffaeb4b7e28"
[[projects]]
digest = "1:3b517122f3aad1ecce45a630ea912b3092b4729f25532a911d0cb2935a1f9352"
name = "github.com/oklog/run"
packages = ["."]
pruneopts = "NUT"
revision = "4dadeb3030eda0273a12382bb2348ffc7c9d1a39"
version = "v1.0.0"
[[projects]]
digest = "1:7da29c22bcc5c2ffb308324377dc00b5084650348c2799e573ed226d8cc9faf0"
name = "github.com/opentracing/opentracing-go"
packages = [
".",
"ext",
"log",
"log"
]
pruneopts = "NUT"
revision = "1949ddbfd147afd4d964a9f00b24eb291e0e7c38"
version = "v1.0.2"
[[projects]]
digest = "1:748946761cf99c8b73cef5a3c0ee3e040859dd713a20cece0d0e0dc04e6ceca7"
name = "github.com/patrickmn/go-cache"
packages = ["."]
pruneopts = "NUT"
revision = "a3647f8e31d79543b2d0f0ae2fe5c379d72cedc0"
version = "v2.1.0"
[[projects]]
digest = "1:5cf3f025cbee5951a4ee961de067c8a89fc95a5adabead774f82822efabab121"
name = "github.com/pkg/errors"
packages = ["."]
pruneopts = "NUT"
revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
version = "v0.8.0"
[[projects]]
digest = "1:4759bed95e3a52febc18c071db28790a5c6e9e106ee201a37add6f6a056f8f9c"
name = "github.com/prometheus/client_golang"
packages = [
"api",
"api/prometheus/v1",
"prometheus",
"prometheus/promhttp",
"prometheus/promhttp"
]
pruneopts = "NUT"
revision = "967789050ba94deca04a5e84cce8ad472ce313c1"
version = "v0.9.0-pre1"
[[projects]]
branch = "master"
digest = "1:32d10bdfa8f09ecf13598324dba86ab891f11db3c538b6a34d1c3b5b99d7c36b"
name = "github.com/prometheus/client_model"
packages = ["go"]
pruneopts = "NUT"
revision = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"
[[projects]]
branch = "master"
digest = "1:768b555b86742de2f28beb37f1dedce9a75f91f871d75b5717c96399c1a78c08"
name = "github.com/prometheus/common"
packages = [
"expfmt",
"internal/bitbucket.org/ww/goautoneg",
"model",
"model"
]
pruneopts = "NUT"
revision = "d811d2e9bf898806ecfb6ef6296774b13ffc314c"
[[projects]]
branch = "master"
digest = "1:c4a213a8d73fbb0b13f717ba7996116602ef18ecb42b91d77405877914cb0349"
name = "github.com/prometheus/procfs"
packages = [
".",
"internal/util",
"nfs",
"xfs",
"xfs"
]
pruneopts = "NUT"
revision = "8b1c2da0d56deffdbb9e48d4414b4e674bd8083e"
[[projects]]
branch = "master"
digest = "1:16e2136a67ec44aa2d1d6b0fd65394b3c4a8b2a1b6730c77967f7b7b06b179b2"
name = "github.com/rainycape/unidecode"
packages = ["."]
pruneopts = "NUT"
revision = "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c"
[[projects]]
digest = "1:d917313f309bda80d27274d53985bc65651f81a5b66b820749ac7f8ef061fd04"
name = "github.com/sergi/go-diff"
packages = ["diffmatchpatch"]
pruneopts = "NUT"
revision = "1744e2970ca51c86172c8190fadad617561ed6e7"
version = "v1.0.0"
[[projects]]
digest = "1:1f0b284a6858827de4c27c66b49b2b25df3e16b031c2b57b7892273131e7dd2b"
name = "github.com/smartystreets/assertions"
packages = [
".",
"internal/go-render/render",
"internal/oglematchers",
"internal/oglematchers"
]
pruneopts = "NUT"
revision = "7678a5452ebea5b7090a6b163f844c133f523da2"
version = "1.8.3"
[[projects]]
digest = "1:7efd0b2309cdd6468029fa30c808c50a820c9344df07e1a4bbdaf18f282907aa"
name = "github.com/smartystreets/goconvey"
packages = [
"convey",
"convey/gotest",
"convey/reporting",
"convey/reporting"
]
pruneopts = "NUT"
revision = "9e8dc3f972df6c8fcc0375ef492c24d0bb204857"
version = "1.6.3"
[[projects]]
branch = "master"
digest = "1:a66add8dd963bfc72649017c1b321198f596cb4958cb1a11ff91a1be8691020b"
name = "github.com/teris-io/shortid"
packages = ["."]
pruneopts = "NUT"
revision = "771a37caa5cf0c81f585d7b6df4dfc77e0615b5c"
[[projects]]
digest = "1:3d48c38e0eca8c66df62379c5ae7a83fb5cd839b94f241354c07ba077da7bc45"
name = "github.com/uber/jaeger-client-go"
packages = [
".",
@@ -604,55 +471,45 @@
"thrift-gen/jaeger",
"thrift-gen/sampling",
"thrift-gen/zipkincore",
"utils",
"utils"
]
pruneopts = "NUT"
revision = "b043381d944715b469fd6b37addfd30145ca1758"
version = "v2.14.0"
[[projects]]
digest = "1:0f09db8429e19d57c8346ad76fbbc679341fa86073d3b8fb5ac919f0357d8f4c"
name = "github.com/uber/jaeger-lib"
packages = ["metrics"]
pruneopts = "NUT"
revision = "ed3a127ec5fef7ae9ea95b01b542c47fbd999ce5"
version = "v1.5.0"
[[projects]]
digest = "1:4c7d12ad3ef47bb03892a52e2609dc9a9cff93136ca9c7d31c00b79fcbc23c7b"
name = "github.com/yudai/gojsondiff"
packages = [
".",
"formatter",
"formatter"
]
pruneopts = "NUT"
revision = "7b1b7adf999dab73a6eb02669c3d82dbb27a3dd6"
version = "1.0.0"
[[projects]]
branch = "master"
digest = "1:e50cbf8eba568d59b71e08c22c2a77809ed4646ae06ef4abb32b3d3d3fdb1a77"
name = "github.com/yudai/golcs"
packages = ["."]
pruneopts = "NUT"
revision = "ecda9a501e8220fae3b4b600c3db4b0ba22cfc68"
[[projects]]
branch = "master"
digest = "1:758f363e0dff33cf00b234be2efb12f919d79b42d5ae3909ff9eb69ef2c3cca5"
name = "golang.org/x/crypto"
packages = [
"ed25519",
"ed25519/internal/edwards25519",
"md4",
"pbkdf2",
"pbkdf2"
]
pruneopts = "NUT"
revision = "1a580b3eff7814fc9b40602fd35256c63b50f491"
[[projects]]
branch = "master"
digest = "1:0b3fee9c4472022a0982ee0d81e08b3cc3e595f50befd7a4b358b48540d9d8c5"
name = "golang.org/x/net"
packages = [
"context",
@@ -662,43 +519,35 @@
"http2/hpack",
"idna",
"internal/timeseries",
"trace",
"trace"
]
pruneopts = "NUT"
revision = "2491c5de3490fced2f6cff376127c667efeed857"
[[projects]]
branch = "master"
digest = "1:46bd4e66bfce5e77f08fc2e8dcacc3676e679241ce83d9c150ff0397d686dd44"
name = "golang.org/x/oauth2"
packages = [
".",
"google",
"internal",
"jws",
"jwt",
"jwt"
]
pruneopts = "NUT"
revision = "cdc340f7c179dbbfa4afd43b7614e8fcadde4269"
[[projects]]
branch = "master"
digest = "1:39ebcc2b11457b703ae9ee2e8cca0f68df21969c6102cb3b705f76cca0ea0239"
name = "golang.org/x/sync"
packages = ["errgroup"]
pruneopts = "NUT"
revision = "1d60e4601c6fd243af51cc01ddf169918a5407ca"
[[projects]]
branch = "master"
digest = "1:ec21c5bf0572488865b93e30ffd9132afbf85bec0b20c2d6cbcf349cf2031ed5"
name = "golang.org/x/sys"
packages = ["unix"]
pruneopts = "NUT"
revision = "7c87d13f8e835d2fb3a70a2912c811ed0c1d241b"
[[projects]]
digest = "1:e7071ed636b5422cc51c0e3a6cebc229d6c9fffc528814b519a980641422d619"
name = "golang.org/x/text"
packages = [
"collate",
@@ -714,14 +563,12 @@
"unicode/bidi",
"unicode/cldr",
"unicode/norm",
"unicode/rangetable",
"unicode/rangetable"
]
pruneopts = "NUT"
revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
version = "v0.3.0"
[[projects]]
digest = "1:dbd5568923513ee74aa626d027e2a8a352cf8f35df41d19f4e34491d1858c38b"
name = "google.golang.org/appengine"
packages = [
".",
@@ -734,22 +581,18 @@
"internal/modules",
"internal/remote_api",
"internal/urlfetch",
"urlfetch",
"urlfetch"
]
pruneopts = "NUT"
revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a"
version = "v1.0.0"
[[projects]]
branch = "master"
digest = "1:3c24554c312721e98fa6b76403e7100cf974eb46b1255ea7fc6471db9a9ce498"
name = "google.golang.org/genproto"
packages = ["googleapis/rpc/status"]
pruneopts = "NUT"
revision = "7bb2a897381c9c5ab2aeb8614f758d7766af68ff"
[[projects]]
digest = "1:840b77b6eb539b830bb760b6e30b688ed2ff484bd83466fce2395835ed9367fe"
name = "google.golang.org/grpc"
packages = [
".",
@@ -776,167 +619,78 @@
"stats",
"status",
"tap",
"transport",
"transport"
]
pruneopts = "NUT"
revision = "1e2570b1b19ade82d8dbb31bba4e65e9f9ef5b34"
version = "v1.11.1"
[[projects]]
branch = "v3"
digest = "1:1244a9b3856f70d5ffb74bbfd780fc9d47f93f2049fa265c6fb602878f507bf8"
name = "gopkg.in/alexcesaro/quotedprintable.v3"
packages = ["."]
pruneopts = "NUT"
revision = "2caba252f4dc53eaf6b553000885530023f54623"
[[projects]]
digest = "1:aea6e9483c167cc6fdf1274c442558c5dda8fd3373372be04d98c79100868da1"
name = "gopkg.in/asn1-ber.v1"
packages = ["."]
pruneopts = "NUT"
revision = "379148ca0225df7a432012b8df0355c2a2063ac0"
version = "v1.2"
[[projects]]
digest = "1:24bfc2e8bf971485cb5ba0f0e5b08a1b806cca5828134df76b32d1ea50f2ab49"
name = "gopkg.in/bufio.v1"
packages = ["."]
pruneopts = "NUT"
revision = "567b2bfa514e796916c4747494d6ff5132a1dfce"
version = "v1"
[[projects]]
digest = "1:e05711632e1515319b014e8fe4cbe1d30ab024c473403f60cf0fdeb4c586a474"
name = "gopkg.in/ini.v1"
packages = ["."]
pruneopts = "NUT"
revision = "6529cf7c58879c08d927016dde4477f18a0634cb"
version = "v1.36.0"
[[projects]]
digest = "1:3b0cf3a465fd07f76e5fc1a9d0783c662dac0de9fc73d713ebe162768fd87b5f"
name = "gopkg.in/ldap.v3"
packages = ["."]
revision = "5c2c0f997205c29de14cb6c35996370c2c5dfab1"
version = "v3"
[[projects]]
name = "gopkg.in/macaron.v1"
packages = ["."]
pruneopts = "NUT"
revision = "c1be95e6d21e769e44e1ec33cec9da5837861c10"
version = "v1.3.1"
[[projects]]
branch = "v2"
digest = "1:d52332f9e9f2c6343652e13aa3fd40cfd03353520c9a48d90f21215d3012d50f"
name = "gopkg.in/mail.v2"
packages = ["."]
pruneopts = "NUT"
revision = "5bc5c8bb07bd8d2803831fbaf8cbd630fcde2c68"
[[projects]]
digest = "1:00126f697efdcab42f07c89ac8bf0095fb2328aef6464e070055154088cea859"
name = "gopkg.in/redis.v2"
packages = ["."]
pruneopts = "NUT"
revision = "e6179049628164864e6e84e973cfb56335748dea"
version = "v2.3.2"
[[projects]]
digest = "1:a50fabe7a46692dc7c656310add3d517abe7914df02afd151ef84da884605dc8"
name = "gopkg.in/square/go-jose.v2"
packages = [
".",
"cipher",
"json",
"json"
]
pruneopts = "NUT"
revision = "ef984e69dd356202fd4e4910d4d9c24468bdf0b8"
version = "v2.1.9"
[[projects]]
branch = "v2"
digest = "1:7c95b35057a0ff2e19f707173cc1a947fa43a6eb5c4d300d196ece0334046082"
name = "gopkg.in/yaml.v2"
packages = ["."]
pruneopts = "NUT"
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
input-imports = [
"github.com/BurntSushi/toml",
"github.com/Unknwon/com",
"github.com/VividCortex/mysqlerr",
"github.com/aws/aws-sdk-go/aws",
"github.com/aws/aws-sdk-go/aws/awserr",
"github.com/aws/aws-sdk-go/aws/awsutil",
"github.com/aws/aws-sdk-go/aws/credentials",
"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
"github.com/aws/aws-sdk-go/aws/credentials/endpointcreds",
"github.com/aws/aws-sdk-go/aws/defaults",
"github.com/aws/aws-sdk-go/aws/ec2metadata",
"github.com/aws/aws-sdk-go/aws/endpoints",
"github.com/aws/aws-sdk-go/aws/request",
"github.com/aws/aws-sdk-go/aws/session",
"github.com/aws/aws-sdk-go/service/cloudwatch",
"github.com/aws/aws-sdk-go/service/ec2",
"github.com/aws/aws-sdk-go/service/ec2/ec2iface",
"github.com/aws/aws-sdk-go/service/s3",
"github.com/aws/aws-sdk-go/service/sts",
"github.com/benbjohnson/clock",
"github.com/bmizerany/assert",
"github.com/codegangsta/cli",
"github.com/davecgh/go-spew/spew",
"github.com/denisenkom/go-mssqldb",
"github.com/facebookgo/inject",
"github.com/fatih/color",
"github.com/go-ldap/ldap",
"github.com/go-macaron/binding",
"github.com/go-macaron/gzip",
"github.com/go-macaron/session",
"github.com/go-macaron/session/memcache",
"github.com/go-macaron/session/postgres",
"github.com/go-macaron/session/redis",
"github.com/go-sql-driver/mysql",
"github.com/go-stack/stack",
"github.com/go-xorm/core",
"github.com/go-xorm/xorm",
"github.com/gorilla/websocket",
"github.com/gosimple/slug",
"github.com/grafana/grafana-plugin-model/go/datasource",
"github.com/grafana/grafana-plugin-model/go/renderer",
"github.com/hashicorp/go-hclog",
"github.com/hashicorp/go-plugin",
"github.com/hashicorp/go-version",
"github.com/inconshreveable/log15",
"github.com/lib/pq",
"github.com/mattn/go-isatty",
"github.com/mattn/go-sqlite3",
"github.com/opentracing/opentracing-go",
"github.com/opentracing/opentracing-go/ext",
"github.com/opentracing/opentracing-go/log",
"github.com/patrickmn/go-cache",
"github.com/pkg/errors",
"github.com/prometheus/client_golang/api",
"github.com/prometheus/client_golang/api/prometheus/v1",
"github.com/prometheus/client_golang/prometheus",
"github.com/prometheus/client_golang/prometheus/promhttp",
"github.com/prometheus/client_model/go",
"github.com/prometheus/common/expfmt",
"github.com/prometheus/common/model",
"github.com/smartystreets/goconvey/convey",
"github.com/teris-io/shortid",
"github.com/uber/jaeger-client-go/config",
"github.com/yudai/gojsondiff",
"github.com/yudai/gojsondiff/formatter",
"golang.org/x/net/context/ctxhttp",
"golang.org/x/oauth2",
"golang.org/x/oauth2/google",
"golang.org/x/oauth2/jwt",
"golang.org/x/sync/errgroup",
"gopkg.in/ini.v1",
"gopkg.in/macaron.v1",
"gopkg.in/mail.v2",
"gopkg.in/square/go-jose.v2",
"gopkg.in/yaml.v2",
]
inputs-digest = "88f0eb826b9c154ba46ea3bb64767707d86db75449ec75199eb2b8cf2b337fd4"
solver-name = "gps-cdcl"
solver-version = 1
+4 -4
View File
@@ -58,10 +58,6 @@ ignored = [
name = "github.com/fatih/color"
version = "1.5.0"
[[constraint]]
name = "github.com/go-ldap/ldap"
version = "2.5.1"
[[constraint]]
branch = "master"
name = "github.com/go-macaron/binding"
@@ -211,3 +207,7 @@ ignored = [
[[constraint]]
name = "gopkg.in/square/go-jose.v2"
version = "2.1.9"
[[constraint]]
name = "gopkg.in/ldap.v3"
version = "3.0.0"
+2 -2
View File
@@ -1,7 +1,7 @@
# Plugin Development
This document is not meant as complete guide for developing plugins but more as a changelog for changes in
Grafana that can impact plugin development. When ever you as plugin author encounter an issue with your plugin after
This document is not meant as a complete guide for developing plugins but more as a changelog for changes in
Grafana that can impact plugin development. Whenever you as a plugin author encounter an issue with your plugin after
upgrading Grafana please check here before creating an issue.
## Links
+11 -7
View File
@@ -19,13 +19,13 @@ If you have any problems please read the [troubleshooting guide](http://docs.gra
Be sure to read the [getting started guide](http://docs.grafana.org/guides/gettingstarted/) and the other feature guides.
## Run from master
If you want to build a package yourself, or contribute - Here is a guide for how to do that. You can always find
If you want to build a package yourself, or contribute - here is a guide for how to do that. You can always find
the latest master builds [here](https://grafana.com/grafana/download)
### Dependencies
- Go (Latest Stable)
- NodeJS LTS
- Node.js LTS
### Building the backend
```bash
@@ -37,7 +37,7 @@ go run build.go build
### Building frontend assets
For this you need nodejs (v.6+).
For this you need Node.js (LTS version).
To build the assets, rebuild on file change, and serve them by Grafana's webserver (http://localhost:3000):
```bash
@@ -71,7 +71,7 @@ Open grafana in your browser (default: `http://localhost:3000`) and login with a
### Building a Docker image
There are two different ways to build a Grafana docker image. If you're machine is setup for Grafana development and you run linux/amd64 you can build just the image. Otherwise, there is the option to build Grafana completely within Docker.
There are two different ways to build a Grafana docker image. If your machine is setup for Grafana development and you run linux/amd64 you can build just the image. Otherwise, there is the option to build Grafana completely within Docker.
Run the image you have built using: `docker run --rm -p 3000:3000 grafana/grafana:dev`
@@ -90,6 +90,8 @@ Choose this option to build on platforms other than linux/amd64 and/or not have
The resulting image will be tagged as `grafana/grafana:dev`
Notice: If you are using Docker for MacOS, be sure to set the memory limit to be larger than 2 GiB (at docker -> Preferences -> Advanced), otherwise `grunt build` may fail.
### Dev config
Create a custom.ini in the conf directory to override default configuration options.
@@ -127,9 +129,11 @@ GRAFANA_TEST_DB=postgres go test ./pkg/...
## Contribute
If you have any idea for an improvement or found a bug, do not hesitate to open an issue.
And if you have time clone this repo and submit a pull request and help me make Grafana
the kickass metrics & devops dashboard we all dream about!
If you have any ideas for improvement or have found a bug, do not hesitate to open an issue.
And if you have time, clone this repo and submit a pull request to help me make Grafana
the kickass metrics & devops dashboard we all dream about!
Read the [contributing](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guide then check the [`beginner friendly`](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22) label to find issues that are easy and that we would like help with.
## Plugin development
+11 -7
View File
@@ -5,18 +5,22 @@ But it will give you an idea of our current vision and plan.
### Short term (1-2 months)
- PRs & Bugs
- Multi-Stat panel
- React Panel Support
- React Query Editor Support
- Metrics & Log Explore UI
- Grafana UI library shared between grafana & plugins
- Seperate visualization from panels
- More reuse between Explore & dashboard
- Explore logging support for more data sources
### Mid term (2-4 months)
- React Panels
- Change visualization (panel type) on the fly.
- Templating Query Editor UI Plugin hook
- Backend plugins
- Drilldown links
- Dashboards as code workflows
- React migration
- New panels
### Long term (4 - 8 months)
- Alerting improvements (silence, per series tracking, etc)
- Progress on React migration
### In a distant future far far away
- Meta queries
+2 -2
View File
@@ -47,7 +47,7 @@ Our builds run on CircleCI through our build script.
### grafana/build-container
The main build step (in CircleCI) is built using a custom build container that comes pre-baked with some of the neccesary dependencies.
The main build step (in CircleCI) is built using a custom build container that comes pre-baked with some of the necessary dependencies.
Link: [grafana-build-container](https://github.com/grafana/grafana-build-container)
@@ -86,4 +86,4 @@ There is a Docker build for Grafana in the root of the project that allows anyon
### Local developer environments
Please send out a notice in the grafana-dev slack channel when updating Go or Node.js to make it easier for everyone to update their local developer environments.
Please send out a notice in the grafana-dev slack channel when updating Go or Node.js to make it easier for everyone to update their local developer environments.
+1 -1
View File
@@ -7,7 +7,7 @@ clone_folder: c:\gopath\src\github.com\grafana\grafana
environment:
nodejs_version: "8"
GOPATH: C:\gopath
GOVERSION: 1.11
GOVERSION: 1.11.5
install:
- rmdir c:\go /s /q
+16 -2
View File
@@ -46,6 +46,8 @@ var (
binaries []string = []string{"grafana-server", "grafana-cli"}
isDev bool = false
enterprise bool = false
skipRpmGen bool = false
skipDebGen bool = false
)
func main() {
@@ -67,6 +69,8 @@ func main() {
flag.BoolVar(&enterprise, "enterprise", enterprise, "Build enterprise version of Grafana")
flag.StringVar(&buildIdRaw, "buildId", "0", "Build ID from CI system")
flag.BoolVar(&isDev, "dev", isDev, "optimal for development, skips certain steps")
flag.BoolVar(&skipRpmGen, "skipRpm", skipRpmGen, "skip rpm package generation (default: false)")
flag.BoolVar(&skipDebGen, "skipDeb", skipDebGen, "skip deb package generation (default: false)")
flag.Parse()
buildId = shortenBuildId(buildIdRaw)
@@ -164,6 +168,9 @@ func makeLatestDistCopies() {
"_amd64.deb": "dist/grafana_latest_amd64.deb",
".x86_64.rpm": "dist/grafana-latest-1.x86_64.rpm",
".linux-amd64.tar.gz": "dist/grafana-latest.linux-x64.tar.gz",
".linux-armv7.tar.gz": "dist/grafana-latest.linux-armv7.tar.gz",
".linux-armv6.tar.gz": "dist/grafana-latest.linux-armv6.tar.gz",
".linux-arm64.tar.gz": "dist/grafana-latest.linux-arm64.tar.gz",
}
for _, file := range files {
@@ -237,6 +244,8 @@ func createDebPackages() {
previousPkgArch := pkgArch
if pkgArch == "armv7" {
pkgArch = "armhf"
} else if pkgArch == "armv6" {
pkgArch = "armel"
}
createPackage(linuxPackageOptions{
packageType: "deb",
@@ -287,8 +296,13 @@ func createRpmPackages() {
}
func createLinuxPackages() {
createDebPackages()
createRpmPackages()
if !skipDebGen {
createDebPackages()
}
if !skipRpmGen {
createRpmPackages()
}
}
func createPackage(options linuxPackageOptions) {
+35 -10
View File
@@ -34,7 +34,7 @@ protocol = http
# The ip address to bind to, empty will bind to all interfaces
http_addr =
# The http port to use
# The http port to use
http_port = 3000
# The public facing domain name used to access grafana from a browser
@@ -103,6 +103,25 @@ server_cert_name =
# For "sqlite3" only, path relative to data_path setting
path = grafana.db
# For "sqlite3" only. cache mode setting used for connecting to the database
cache_mode = private
#################################### Login ###############################
[login]
# Login cookie name
cookie_name = grafana_session
# How many days an session can be unused before we inactivate it
login_remember_days = 7
# How often should the login token be rotated. default to '10m'
rotate_token_minutes = 10
# How long should Grafana keep expired tokens before deleting them
delete_expired_token_after_days = 30
#################################### Session #############################
[session]
# Either "memory", "file", "redis", "mysql", "postgres", "memcache", default is "file"
@@ -140,6 +159,9 @@ conn_max_lifetime = 14400
# This enables data proxy logging, default is false
logging = false
# How long the data proxy should wait before timing out default is 30 (seconds)
timeout = 30
#################################### Analytics ###########################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -166,17 +188,12 @@ google_tag_manager_id =
# default admin user, created on startup
admin_user = admin
# default admin password, can be changed before first start of grafana, or in profile settings
# default admin password, can be changed before first start of grafana, or in profile settings
admin_password = admin
# used for signing
secret_key = SW2YcwTIb9zpOOhoPsMm
# Auto-login remember days
login_remember_days = 7
cookie_username = grafana_user
cookie_remember_name = grafana_remember
# disable gravatar profile images
disable_gravatar = false
@@ -186,6 +203,9 @@ data_source_proxy_whitelist =
# disable protection against brute force login attempts
disable_brute_force_login_protection = false
# set cookies as https only. default is false
https_flag_cookies = false
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -246,6 +266,10 @@ disable_signout_menu = false
# URL to redirect the user to after sign out
signout_redirect_url =
# Set to true to attempt login with OAuth automatically, skipping the login screen.
# This setting is ignored if multiple OAuth providers are configured.
oauth_auto_login = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -331,6 +355,7 @@ tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
send_client_credentials_via_post = false
#################################### Basic Auth ##########################
[auth.basic]
@@ -372,7 +397,7 @@ templates_pattern = emails/*.html
#################################### Logging ##########################
[log]
# Either "console", "file", "syslog". Default is console and file
# Either "console", "file", "syslog". Default is console and file
# Use space to separate multiple modes, e.g. "console file"
mode = console file
@@ -482,7 +507,7 @@ concurrent_render_limit = 5
#################################### Explore #############################
[explore]
# Enable the Explore section
enabled = false
enabled = true
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP API Url /metrics
@@ -562,7 +587,7 @@ callback_url =
[panels]
enable_alpha = false
disable_sanitize_html = false
[enterprise]
license_path =
+1 -1
View File
@@ -7,7 +7,7 @@ apiVersion: 1
# orgId: 1
# # list of datasources to insert/update depending
# # on what's available in the datbase
# # on what's available in the database
#datasources:
# # <string, required> name of the datasource. Required
# - name: Graphite
+25
View File
@@ -0,0 +1,25 @@
# # config file version
apiVersion: 1
# notifiers:
# - name: default-slack-temp
# type: slack
# org_name: Main Org.
# is_default: true
# uid: notifier1
# settings:
# recipient: "XXX"
# token: "xoxb"
# uploadImage: true
# url: https://slack.com
# - name: default-email
# type: email
# org_id: 1
# uid: notifier2
# is_default: false
# settings:
# addresses: example11111@example.com
# delete_notifiers:
# - name: default-slack-temp
# org_name: Main Org.
# uid: notifier1
+42 -6
View File
@@ -99,6 +99,25 @@
# Set to true to log the sql calls and execution times.
log_queries =
# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
;cache_mode = private
#################################### Login ###############################
[login]
# Login cookie name
;cookie_name = grafana_session
# How many days an session can be unused before we inactivate it
;login_remember_days = 7
# How often should the login token be rotated. default to '10'
;rotate_token_minutes = 10
# How long should Grafana keep expired tokens before deleting them
;delete_expired_token_after_days = 30
#################################### Session ####################################
[session]
# Either "memory", "file", "redis", "mysql", "postgres", default is "file"
@@ -127,6 +146,9 @@ log_queries =
# This enables data proxy logging, default is false
;logging = false
# How long the data proxy should wait before timing out default is 30 (seconds)
;timeout = 30
#################################### Analytics ####################################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -145,6 +167,9 @@ log_queries =
# Google Analytics universal tracking code, only enabled if you specify an id here
;google_analytics_ua_id =
# Google Tag Manager ID, only enabled if you specify an id here
;google_tag_manager_id =
#################################### Security ####################################
[security]
# default admin user, created on startup
@@ -156,11 +181,6 @@ log_queries =
# used for signing
;secret_key = SW2YcwTIb9zpOOhoPsMm
# Auto-login remember days
;login_remember_days = 7
;cookie_username = grafana_user
;cookie_remember_name = grafana_remember
# disable gravatar profile images
;disable_gravatar = false
@@ -170,6 +190,9 @@ log_queries =
# disable protection against brute force login attempts
;disable_brute_force_login_protection = false
# set cookies as https only. default is false
;https_flag_cookies = false
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -223,6 +246,10 @@ log_queries =
# URL to redirect the user to after sign out
;signout_redirect_url =
# Set to true to attempt login with OAuth automatically, skipping the login screen.
# This setting is ignored if multiple OAuth providers are configured.
;oauth_auto_login = false
#################################### Anonymous Auth ##########################
[auth.anonymous]
# enable anonymous access
@@ -277,6 +304,10 @@ log_queries =
;tls_client_key =
;tls_client_ca =
; Set to true to enable sending client_id and client_secret via POST body instead of Basic authentication HTTP header
; This might be required if the OAuth provider is not RFC6749 compliant, only supporting credentials passed via POST payload
;send_client_credentials_via_post = false
#################################### Grafana.com Auth ####################
[auth.grafana_com]
;enabled = false
@@ -401,7 +432,7 @@ log_queries =
#################################### Explore #############################
[explore]
# Enable the Explore section
;enabled = false
;enabled = true
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP API Url /metrics
@@ -481,3 +512,8 @@ log_queries =
# Path to a valid Grafana Enterprise license.jwt file
;license_path =
[panels]
;enable_alpha = false
# If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities.
;disable_sanitize_html = false
+1 -1
View File
@@ -4,6 +4,6 @@ providers:
- name: 'gdev dashboards'
folder: 'gdev dashboards'
type: file
updateIntervalSeconds: 15
options:
path: devenv/dev-dashboards
+58 -1
View File
@@ -35,7 +35,7 @@ datasources:
tsdbResolution: 1
tsdbVersion: 1
- name: gdev-elasticsearch-metrics
- name: gdev-elasticsearch-v2-metrics
type: elasticsearch
access: proxy
database: "[metrics-]YYYY.MM.DD"
@@ -43,6 +43,57 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 2
- name: gdev-elasticsearch-v2-logs
type: elasticsearch
access: proxy
database: "[logs-]YYYY.MM.DD"
url: http://localhost:9200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 2
- name: gdev-elasticsearch-v5-metrics
type: elasticsearch
access: proxy
database: "[metrics-]YYYY.MM.DD"
url: http://localhost:10200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 5
- name: gdev-elasticsearch-v5-logs
type: elasticsearch
access: proxy
database: "[logs-]YYYY.MM.DD"
url: http://localhost:10200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 5
- name: gdev-elasticsearch-v6-metrics
type: elasticsearch
access: proxy
database: "[metrics-]YYYY.MM.DD"
url: http://localhost:11200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 60
- name: gdev-elasticsearch-v6-logs
type: elasticsearch
access: proxy
database: "[logs-]YYYY.MM.DD"
url: http://localhost:11200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 60
- name: gdev-mysql
type: mysql
@@ -101,4 +152,10 @@ datasources:
authType: credentials
defaultRegion: eu-west-2
- name: gdev-loki
type: loki
access: proxy
url: http://localhost:3100
editable: false
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,510 @@
{
"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": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"fill": 2,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenarioId": "random_walk",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [
{
"colorMode": "gray",
"fill": true,
"fillColor": "rgba(255, 255, 255, 0.03)",
"from": "08:30",
"fromDayOfWeek": 1,
"line": false,
"lineColor": "rgba(255, 255, 255, 0.2)",
"op": "time",
"to": "16:45",
"toDayOfWeek": 5
}
],
"timeShift": null,
"title": "Business Hours",
"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
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"fill": 2,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 8
},
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "random_walk",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [
{
"colorMode": "red",
"fill": true,
"fillColor": "rgba(255, 255, 255, 0.03)",
"from": "20:00",
"fromDayOfWeek": 7,
"line": false,
"lineColor": "rgba(255, 255, 255, 0.2)",
"op": "time",
"to": "23:00",
"toDayOfWeek": 7
}
],
"timeShift": null,
"title": "Sunday's 20-23",
"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
}
},
{
"aliasColors": {
"A-series": "#d683ce"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"fill": 2,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 16
},
"id": 3,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 0.5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenarioId": "random_walk",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [
{
"colorMode": "custom",
"fill": true,
"fillColor": "rgba(255, 0, 0, 0.22)",
"from": "",
"fromDayOfWeek": 1,
"line": true,
"lineColor": "rgba(255, 0, 0, 0.32)",
"op": "time",
"to": "",
"toDayOfWeek": 1
},
{
"colorMode": "custom",
"fill": true,
"fillColor": "rgba(255, 127, 0, 0.22)",
"fromDayOfWeek": 2,
"line": true,
"lineColor": "rgba(255, 127, 0, 0.32)",
"op": "time",
"toDayOfWeek": 2
},
{
"colorMode": "custom",
"fill": true,
"fillColor": "rgba(255, 255, 0, 0.22)",
"fromDayOfWeek": 3,
"line": true,
"lineColor": "rgba(255, 255, 0, 0.22)",
"op": "time",
"toDayOfWeek": 3
},
{
"colorMode": "custom",
"fill": true,
"fillColor": "rgba(0, 255, 0, 0.22)",
"fromDayOfWeek": 4,
"line": true,
"lineColor": "rgba(0, 255, 0, 0.32)",
"op": "time",
"toDayOfWeek": 4
},
{
"colorMode": "custom",
"fill": true,
"fillColor": "rgba(0, 0, 255, 0.22)",
"fromDayOfWeek": 5,
"line": true,
"lineColor": "rgba(0, 0, 255, 0.32)",
"op": "time",
"toDayOfWeek": 5
},
{
"colorMode": "custom",
"fill": true,
"fillColor": "rgba(75, 0, 130, 0.22)",
"fromDayOfWeek": 6,
"line": true,
"lineColor": "rgba(75, 0, 130, 0.32)",
"op": "time",
"toDayOfWeek": 6
},
{
"colorMode": "custom",
"fill": true,
"fillColor": "rgba(148, 0, 211, 0.22)",
"fromDayOfWeek": 7,
"line": true,
"lineColor": "rgba(148, 0, 211, 0.32)",
"op": "time",
"toDayOfWeek": 7
}
],
"timeShift": null,
"title": "Each day of week",
"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
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"fill": 2,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 24
},
"id": 5,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "random_walk",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [
{
"colorMode": "red",
"fill": false,
"from": "05:00",
"line": true,
"op": "time"
}
],
"timeShift": null,
"title": "05:00",
"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,
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"panel-tests"
],
"templating": {
"list": []
},
"time": {
"from": "now-30d",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "browser",
"title": "Panel Tests - Graph (Time Regions)",
"version": 1
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,649 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": false,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"limit": 100,
"name": "Annotations & Alerts",
"showIn": 0,
"type": "dashboard"
},
{
"datasource": "Elastic 5 Logs",
"enable": false,
"iconColor": "rgba(255, 96, 96, 1)",
"limit": 100,
"name": "test",
"query": "",
"showIn": 0,
"textField": "description",
"type": "alert"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1542303970887,
"links": [
{
"icon": "external link",
"tags": [
"gdev",
"elasticsearch"
],
"type": "dashboards"
}
],
"panels": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v2-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "3",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "1",
"size": "5"
},
"type": "terms"
},
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "max"
}
],
"query": "*",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Top 5 servers",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v2-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 7
},
"id": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "5m",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {
"percents": [
25,
50,
75,
95,
99
]
},
"type": "percentiles"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Percentiles & Metric filter",
"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",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v2-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 7
},
"id": 3,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {
"std_deviation_bounds_lower": true,
"std_deviation_bounds_upper": true
},
"settings": {},
"type": "extended_stats"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Standard dev",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"columns": [
{
"text": "@hostname",
"value": "@hostname"
},
{
"text": "Average",
"value": "Average"
},
{
"text": "Max",
"value": "Max"
},
{
"text": "Sum",
"value": "Sum"
}
],
"datasource": "gdev-elasticsearch-v2-metrics",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 13
},
"id": 6,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
},
{
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "2",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "_term",
"size": "0"
},
"type": "terms"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
},
{
"field": "@value",
"id": "3",
"meta": {},
"settings": {},
"type": "max"
},
{
"field": "@value",
"id": "4",
"meta": {},
"settings": {},
"type": "sum"
}
],
"refId": "B",
"timeField": "@timestamp"
}
],
"title": "ES Metrics",
"transform": "table",
"type": "table"
},
{
"columns": [
{
"text": "@timestamp",
"value": "@timestamp"
},
{
"text": "@message",
"value": "@message"
},
{
"text": "tags",
"value": "tags"
},
{
"text": "description",
"value": "description"
}
],
"datasource": "gdev-elasticsearch-v2-logs",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 20
},
"id": 5,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
}
],
"targets": [
{
"bucketAggs": [],
"dsType": "elasticsearch",
"metrics": [
{
"field": "select field",
"id": "1",
"meta": {},
"settings": {
"size": 500
},
"type": "raw_document"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"title": "ES Log query",
"transform": "json",
"type": "table"
}
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"elasticsearch",
"gdev"
],
"templating": {
"list": [
{
"datasource": "gdev-elasticsearch-v2-metrics",
"filters": [],
"hide": 0,
"label": "",
"name": "Filters",
"skipUrlSync": false,
"type": "adhoc"
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - Elasticsearch v2",
"uid": "RlqLq2fiz",
"version": 2
}
@@ -0,0 +1,651 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": false,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"limit": 100,
"name": "Annotations & Alerts",
"showIn": 0,
"type": "dashboard"
},
{
"datasource": "Elastic 5 Logs",
"enable": false,
"iconColor": "rgba(255, 96, 96, 1)",
"limit": 100,
"name": "test",
"query": "",
"showIn": 0,
"textField": "description",
"type": "alert"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1542303896062,
"links": [
{
"asDropdown": false,
"icon": "external link",
"tags": [
"gdev",
"elasticsearch"
],
"title": "Dashboard",
"type": "dashboards"
}
],
"panels": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v5-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "3",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "1",
"size": "5"
},
"type": "terms"
},
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "max"
}
],
"query": "*",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Top 5 servers",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v5-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 7
},
"id": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "5m",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {
"percents": [
25,
50,
75,
95,
99
]
},
"type": "percentiles"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Percentiles & Metric filter",
"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",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v5-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 7
},
"id": 3,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {
"std_deviation_bounds_lower": true,
"std_deviation_bounds_upper": true
},
"settings": {},
"type": "extended_stats"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Standard dev",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"columns": [
{
"text": "@hostname",
"value": "@hostname"
},
{
"text": "Average",
"value": "Average"
},
{
"text": "Max",
"value": "Max"
},
{
"text": "Sum",
"value": "Sum"
}
],
"datasource": "gdev-elasticsearch-v5-metrics",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 13
},
"id": 6,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
},
{
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "2",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "_term",
"size": "0"
},
"type": "terms"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
},
{
"field": "@value",
"id": "3",
"meta": {},
"settings": {},
"type": "max"
},
{
"field": "@value",
"id": "4",
"meta": {},
"settings": {},
"type": "sum"
}
],
"refId": "B",
"timeField": "@timestamp"
}
],
"title": "ES Metrics",
"transform": "table",
"type": "table"
},
{
"columns": [
{
"text": "@timestamp",
"value": "@timestamp"
},
{
"text": "@message",
"value": "@message"
},
{
"text": "tags",
"value": "tags"
},
{
"text": "description",
"value": "description"
}
],
"datasource": "gdev-elasticsearch-v5-logs",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 20
},
"id": 5,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
}
],
"targets": [
{
"bucketAggs": [],
"dsType": "elasticsearch",
"metrics": [
{
"field": "select field",
"id": "1",
"meta": {},
"settings": {
"size": 500
},
"type": "raw_document"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"title": "ES Log query",
"transform": "json",
"type": "table"
}
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"elasticsearch",
"gdev"
],
"templating": {
"list": [
{
"datasource": "gdev-elasticsearch-v5-metrics",
"filters": [],
"hide": 0,
"label": "",
"name": "Filters",
"skipUrlSync": false,
"type": "adhoc"
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - Elasticsearch v5",
"uid": "8HjT32Bmz",
"version": 27
}
@@ -0,0 +1,649 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": false,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"limit": 100,
"name": "Annotations & Alerts",
"showIn": 0,
"type": "dashboard"
},
{
"datasource": "Elastic 5 Logs",
"enable": false,
"iconColor": "rgba(255, 96, 96, 1)",
"limit": 100,
"name": "test",
"query": "",
"showIn": 0,
"textField": "description",
"type": "alert"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1542303999511,
"links": [
{
"icon": "external link",
"tags": [
"gdev",
"elasticsearch"
],
"type": "dashboards"
}
],
"panels": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v6-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "3",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "1",
"size": "5"
},
"type": "terms"
},
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "max"
}
],
"query": "*",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Top 5 servers",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v6-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 7
},
"id": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "5m",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {
"percents": [
25,
50,
75,
95,
99
]
},
"type": "percentiles"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Percentiles & Metric filter",
"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",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v6-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 7
},
"id": 3,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {
"std_deviation_bounds_lower": true,
"std_deviation_bounds_upper": true
},
"settings": {},
"type": "extended_stats"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Standard dev",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"columns": [
{
"text": "@hostname",
"value": "@hostname"
},
{
"text": "Average",
"value": "Average"
},
{
"text": "Max",
"value": "Max"
},
{
"text": "Sum",
"value": "Sum"
}
],
"datasource": "gdev-elasticsearch-v6-metrics",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 13
},
"id": 6,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
},
{
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "2",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "_term",
"size": "0"
},
"type": "terms"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
},
{
"field": "@value",
"id": "3",
"meta": {},
"settings": {},
"type": "max"
},
{
"field": "@value",
"id": "4",
"meta": {},
"settings": {},
"type": "sum"
}
],
"refId": "B",
"timeField": "@timestamp"
}
],
"title": "ES Metrics",
"transform": "table",
"type": "table"
},
{
"columns": [
{
"text": "@timestamp",
"value": "@timestamp"
},
{
"text": "@message",
"value": "@message"
},
{
"text": "tags",
"value": "tags"
},
{
"text": "description",
"value": "description"
}
],
"datasource": "gdev-elasticsearch-v6-logs",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 20
},
"id": 5,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
}
],
"targets": [
{
"bucketAggs": [],
"dsType": "elasticsearch",
"metrics": [
{
"field": "select field",
"id": "1",
"meta": {},
"settings": {
"size": 500
},
"type": "raw_document"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"title": "ES Log query",
"transform": "json",
"type": "table"
}
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"elasticsearch",
"gdev"
],
"templating": {
"list": [
{
"datasource": "gdev-elasticsearch-v6-metrics",
"filters": [],
"hide": 0,
"label": "",
"name": "Filters",
"skipUrlSync": false,
"type": "adhoc"
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - Elasticsearch v6",
"uid": "NF8Pq2Biz",
"version": 2
}
File diff suppressed because it is too large Load Diff
+137 -2
View File
@@ -104,6 +104,7 @@
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Always OK",
"tooltip": {
@@ -232,6 +233,7 @@
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Always Alerting",
"tooltip": {
@@ -362,6 +364,7 @@
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "No data",
"tooltip": {
@@ -432,7 +435,7 @@
"for": "1m",
"frequency": "1m",
"handler": 1,
"name": "TestData - Always Alerting with For",
"name": "TestData - Always Pending",
"noDataState": "no_data",
"notifications": []
},
@@ -492,6 +495,138 @@
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Always Alerting with For",
"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": "",
"logBase": 1,
"max": null,
"min": "0",
"show": true
},
{
"format": "short",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [
100
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "900000h",
"frequency": "1m",
"handler": 1,
"name": "Always Pending",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 14
},
"id": 7,
"isNew": true,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenario": "random_walk",
"scenarioId": "csv_metric_values",
"stringInput": "200,445,100,150,200,220,190",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 100
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Always Alerting with For",
"tooltip": {
@@ -573,5 +708,5 @@
"timezone": "browser",
"title": "Alerting with TestData",
"uid": "7MeksYbmk",
"version": 1
"version": 7
}
@@ -0,0 +1,7 @@
FROM golang:latest
ADD main.go /
WORKDIR /
RUN go build -o main .
EXPOSE 3010
ENTRYPOINT ["/main"]
@@ -0,0 +1,5 @@
alert_webhook_listener:
build: docker/blocks/alert_webhook_listener
network_mode: host
ports:
- "3010:3010"
@@ -0,0 +1,24 @@
package main
import (
"fmt"
"io"
"io/ioutil"
"net/http"
)
func hello(w http.ResponseWriter, r *http.Request) {
body, err := ioutil.ReadAll(r.Body)
if err != nil {
return
}
line := fmt.Sprintf("webbhook: -> %s", string(body))
fmt.Println(line)
io.WriteString(w, line)
}
func main() {
http.HandleFunc("/", hello)
http.ListenAndServe(":3010", nil)
}
@@ -5,7 +5,7 @@
- "9200:9200"
- "9300:9300"
volumes:
- ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./docker/blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
fake-elastic-data:
image: grafana/fake-data-gen
@@ -1,15 +1,18 @@
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
version: '2'
services:
elasticsearch5:
image: elasticsearch:5
command: elasticsearch
ports:
- "10200:9200"
- "10300:9300"
- '10200:9200'
- '10300:9300'
fake-elastic5-data:
image: grafana/fake-data-gen
network_mode: bridge
links:
- elasticsearch5
# network_mode: bridge
environment:
FD_DATASOURCE: elasticsearch
FD_PORT: 10200
@@ -1,17 +1,19 @@
version: '2'
services:
influxdb:
image: influxdb:latest
container_name: influxdb
ports:
- "2004:2004"
- "8083:8083"
- "8086:8086"
- '2004:2004'
- '8083:8083'
- '8086:8086'
volumes:
- ./docker/blocks/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
fake-influxdb-data:
image: grafana/fake-data-gen
network_mode: bridge
links:
- influxdb
environment:
FD_DATASOURCE: influxdb
FD_PORT: 8086
@@ -69,6 +69,7 @@ reporting-disabled = false
unix-socket-enabled = false # enable http service over unix domain socket
# bind-socket = "/var/run/influxdb.sock"
flux-enabled = true
[subscriber]
enabled = true
@@ -0,0 +1,22 @@
version: "3"
networks:
loki:
services:
loki:
image: grafana/loki:master
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
promtail:
image: grafana/promtail:master
volumes:
- /var/log:/var/log
command:
-config.file=/etc/promtail/docker-config.yaml
networks:
- loki
+2 -1
View File
@@ -54,7 +54,8 @@ services:
# - GF_DATABASE_SSL_MODE=disable
# - GF_SESSION_PROVIDER=postgres
# - GF_SESSION_PROVIDER_CONFIG=user=grafana password=password host=db port=5432 dbname=grafana sslmode=disable
- GF_LOG_FILTERS=alerting.notifier:debug,alerting.notifier.slack:debug
- GF_LOG_FILTERS=alerting.notifier:debug,alerting.notifier.slack:debug,auth:debug
- GF_LOGIN_ROTATE_TOKEN_MINUTES=2
ports:
- 3000
depends_on:
+69
View File
@@ -0,0 +1,69 @@
# Grafana load test
Runs load tests and checks using [k6](https://k6.io/).
## Prerequisites
Docker
## Run
Run load test for 15 minutes:
```bash
$ ./run.sh
```
Run load test for custom duration:
```bash
$ ./run.sh -d 10s
```
Example output:
```bash
/\ |‾‾| /‾‾/ /‾/
/\ / \ | |_/ / / /
/ \/ \ | | / ‾‾\
/ \ | |\ \ | (_) |
/ __________ \ |__| \__\ \___/ .io
execution: local
output: -
script: src/auth_token_test.js
duration: 15m0s, iterations: -
vus: 2, max: 2
done [==========================================================] 15m0s / 15m0s
█ user auth token test
█ user authenticates thru ui with username and password
✓ response status is 200
✓ response has cookie 'grafana_session' with 32 characters
█ batch tsdb requests
✓ response status is 200
checks.....................: 100.00% ✓ 328440
data_received..............: 411 MB 457 kB/s
data_sent..................: 12 MB 14 kB/s
group_duration.............: avg=95.64ms min=16.42ms med=94.35ms max=307.52ms p(90)=137.78ms p(95)=146.75ms
http_req_blocked...........: avg=1.27ms min=942ns med=610.08µs max=48.32ms p(90)=2.92ms p(95)=4.25ms
http_req_connecting........: avg=1.06ms min=0s med=456.79µs max=47.19ms p(90)=2.55ms p(95)=3.78ms
http_req_duration..........: avg=58.16ms min=1ms med=52.59ms max=293.35ms p(90)=109.53ms p(95)=120.19ms
http_req_receiving.........: avg=38.98µs min=6.43µs med=32.55µs max=16.2ms p(90)=64.63µs p(95)=78.8µs
http_req_sending...........: avg=328.66µs min=8.09µs med=110.77µs max=44.13ms p(90)=552.65µs p(95)=1.09ms
http_req_tls_handshaking...: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
http_req_waiting...........: avg=57.79ms min=935.02µs med=52.15ms max=293.06ms p(90)=109.04ms p(95)=119.71ms
http_reqs..................: 34486 38.317775/s
iteration_duration.........: avg=1.09s min=1.81µs med=1.09s max=1.3s p(90)=1.13s p(95)=1.14s
iterations.................: 1642 1.824444/s
vus........................: 2 min=2 max=2
vus_max....................: 2 min=2 max=2
```
+71
View File
@@ -0,0 +1,71 @@
import { sleep, check, group } from 'k6';
import { createClient, createBasicAuthClient } from './modules/client.js';
import { createTestOrgIfNotExists, createTestdataDatasourceIfNotExists } from './modules/util.js';
export let options = {
noCookiesReset: true
};
let endpoint = __ENV.URL || 'http://localhost:3000';
const client = createClient(endpoint);
export const setup = () => {
const basicAuthClient = createBasicAuthClient(endpoint, 'admin', 'admin');
const orgId = createTestOrgIfNotExists(basicAuthClient);
const datasourceId = createTestdataDatasourceIfNotExists(basicAuthClient);
client.withOrgId(orgId);
return {
orgId: orgId,
datasourceId: datasourceId,
};
}
export default (data) => {
group("user auth token test", () => {
if (__ITER === 0) {
group("user authenticates thru ui with username and password", () => {
let res = client.ui.login('admin', 'admin');
check(res, {
'response status is 200': (r) => r.status === 200,
'response has cookie \'grafana_session\' with 32 characters': (r) => r.cookies.grafana_session[0].value.length === 32,
});
});
}
if (__ITER !== 0) {
group("batch tsdb requests", () => {
const batchCount = 20;
const requests = [];
const payload = {
from: '1547765247624',
to: '1547768847624',
queries: [{
refId: 'A',
scenarioId: 'random_walk',
intervalMs: 10000,
maxDataPoints: 433,
datasourceId: data.datasourceId,
}]
};
requests.push({ method: 'GET', url: '/api/annotations?dashboardId=2074&from=1548078832772&to=1548082432772' });
for (let n = 0; n < batchCount; n++) {
requests.push({ method: 'POST', url: '/api/tsdb/query', body: payload });
}
let responses = client.batch(requests);
for (let n = 0; n < batchCount; n++) {
check(responses[n], {
'response status is 200': (r) => r.status === 200,
});
}
});
}
});
sleep(1)
}
export const teardown = (data) => {}
+187
View File
@@ -0,0 +1,187 @@
import http from "k6/http";
import encoding from 'k6/encoding';
export const UIEndpoint = class UIEndpoint {
constructor(httpClient) {
this.httpClient = httpClient;
}
login(username, pwd) {
const payload = { user: username, password: pwd };
return this.httpClient.formPost('/login', payload);
}
}
export const DatasourcesEndpoint = class DatasourcesEndpoint {
constructor(httpClient) {
this.httpClient = httpClient;
}
getById(id) {
return this.httpClient.get(`/datasources/${id}`);
}
getByName(name) {
return this.httpClient.get(`/datasources/name/${name}`);
}
create(payload) {
return this.httpClient.post(`/datasources`, JSON.stringify(payload));
}
delete(id) {
return this.httpClient.delete(`/datasources/${id}`);
}
}
export const OrganizationsEndpoint = class OrganizationsEndpoint {
constructor(httpClient) {
this.httpClient = httpClient;
}
getById(id) {
return this.httpClient.get(`/orgs/${id}`);
}
getByName(name) {
return this.httpClient.get(`/orgs/name/${name}`);
}
create(name) {
let payload = {
name: name,
};
return this.httpClient.post(`/orgs`, JSON.stringify(payload));
}
delete(id) {
return this.httpClient.delete(`/orgs/${id}`);
}
}
export const GrafanaClient = class GrafanaClient {
constructor(httpClient) {
httpClient.onBeforeRequest = this.onBeforeRequest;
this.raw = httpClient;
this.ui = new UIEndpoint(httpClient);
this.orgs = new OrganizationsEndpoint(httpClient.withUrl('/api'));
this.datasources = new DatasourcesEndpoint(httpClient.withUrl('/api'));
}
batch(requests) {
return this.raw.batch(requests);
}
withOrgId(orgId) {
this.orgId = orgId;
}
onBeforeRequest(params) {
if (this.orgId && this.orgId > 0) {
params = params.headers || {};
params.headers["X-Grafana-Org-Id"] = this.orgId;
}
}
}
export const BaseClient = class BaseClient {
constructor(url, subUrl) {
if (url.endsWith('/')) {
url = url.substring(0, url.length - 1);
}
if (subUrl.endsWith('/')) {
subUrl = subUrl.substring(0, subUrl.length - 1);
}
this.url = url + subUrl;
this.onBeforeRequest = () => {};
}
withUrl(subUrl) {
let c = new BaseClient(this.url, subUrl);
c.onBeforeRequest = this.onBeforeRequest;
return c;
}
beforeRequest(params) {
}
get(url, params) {
params = params || {};
this.beforeRequest(params);
this.onBeforeRequest(params);
return http.get(this.url + url, params);
}
formPost(url, body, params) {
params = params || {};
this.beforeRequest(params);
this.onBeforeRequest(params);
return http.post(this.url + url, body, params);
}
post(url, body, params) {
params = params || {};
params.headers = params.headers || {};
params.headers['Content-Type'] = 'application/json';
this.beforeRequest(params);
this.onBeforeRequest(params);
return http.post(this.url + url, body, params);
}
delete(url, params) {
params = params || {};
this.beforeRequest(params);
this.onBeforeRequest(params);
return http.del(this.url + url, null, params);
}
batch(requests) {
for (let n = 0; n < requests.length; n++) {
let params = requests[n].params || {};
params.headers = params.headers || {};
params.headers['Content-Type'] = 'application/json';
this.beforeRequest(params);
this.onBeforeRequest(params);
requests[n].params = params;
requests[n].url = this.url + requests[n].url;
if (requests[n].body) {
requests[n].body = JSON.stringify(requests[n].body);
}
}
return http.batch(requests);
}
}
export class BasicAuthClient extends BaseClient {
constructor(url, subUrl, username, password) {
super(url, subUrl);
this.username = username;
this.password = password;
}
withUrl(subUrl) {
let c = new BasicAuthClient(this.url, subUrl, this.username, this.password);
c.onBeforeRequest = this.onBeforeRequest;
return c;
}
beforeRequest(params) {
params = params || {};
params.headers = params.headers || {};
let token = `${this.username}:${this.password}`;
params.headers['Authorization'] = `Basic ${encoding.b64encode(token)}`;
}
}
export const createClient = (url) => {
return new GrafanaClient(new BaseClient(url, ''));
}
export const createBasicAuthClient = (url, username, password) => {
return new GrafanaClient(new BasicAuthClient(url, '', username, password));
}
+35
View File
@@ -0,0 +1,35 @@
export const createTestOrgIfNotExists = (client) => {
let orgId = 0;
let res = client.orgs.getByName('k6');
if (res.status === 404) {
res = client.orgs.create('k6');
if (res.status !== 200) {
throw new Error('Expected 200 response status when creating org');
}
orgId = res.json().orgId;
} else {
orgId = res.json().id;
}
client.withOrgId(orgId);
return orgId;
}
export const createTestdataDatasourceIfNotExists = (client) => {
const payload = {
access: 'proxy',
isDefault: false,
name: 'k6-testdata',
type: 'testdata',
};
let res = client.datasources.getByName(payload.name);
if (res.status === 404) {
res = client.datasources.create(payload);
if (res.status !== 200) {
throw new Error('Expected 200 response status when creating datasource');
}
}
return res.json().id;
}
+24
View File
@@ -0,0 +1,24 @@
#/bin/bash
PWD=$(pwd)
run() {
duration='15m'
url='http://localhost:3000'
while getopts ":d:u:" o; do
case "${o}" in
d)
duration=${OPTARG}
;;
u)
url=${OPTARG}
;;
esac
done
shift $((OPTIND-1))
docker run -t --network=host -v $PWD:/src -e URL=$url --rm -i loadimpact/k6:master run --vus 2 --duration $duration src/auth_token_test.js
}
run "$@"
+185 -1
View File
@@ -230,4 +230,188 @@ By default Grafana will delete dashboards in the database if the file is removed
> **Note.** Provisioning allows you to overwrite existing dashboards
> which leads to problems if you re-use settings that are supposed to be unique.
> Be careful not to re-use the same `title` multiple times within a folder
> or `uid` within the same installation as this will cause weird behaviours.
> or `uid` within the same installation as this will cause weird behaviors.
## Alert Notification Channels
Alert Notification Channels can be provisioned by adding one or more yaml config files in the [`provisioning/notifiers`](/installation/configuration/#provisioning) directory.
Each config file can contain the following top-level fields:
- `notifiers`, a list of alert notifications that will be added or updated during start up. If the notification channel already exists, Grafana will update it to match the configuration file.
- `delete_notifiers`, a list of alert notifications to be deleted before before inserting/updating those in the `notifiers` list.
Provisioning looks up alert notifications by uid, and will update any existing notification with the provided uid.
By default, exporting a dashboard as JSON will use a sequential identifier to refer to alert notifications. The field `uid` can be optionally specified to specify a string identifier for the alert name.
```json
{
...
"alert": {
...,
"conditions": [...],
"frequency": "24h",
"noDataState": "ok",
"notifications": [
{"uid": "notifier1"},
{"uid": "notifier2"},
]
}
...
}
```
### Example Alert Notification Channels Config File
```yaml
notifiers:
- name: notification-channel-1
type: slack
uid: notifier1
# either
org_id: 2
# or
org_name: Main Org.
is_default: true
# See `Supported Settings` section for settings supporter for each
# alert notification type.
settings:
recipient: "XXX"
token: "xoxb"
uploadImage: true
url: https://slack.com
delete_notifiers:
- name: notification-channel-1
uid: notifier1
# either
org_id: 2
# or
org_name: Main Org.
- name: notification-channel-2
# default org_id: 1
```
### Supported Settings
The following sections detail the supported settings for each alert notification type.
#### Alert notification `pushover`
| Name |
| ---- |
| apiToken |
| userKey |
| device |
| retry |
| expire |
#### Alert notification `slack`
| Name |
| ---- |
| url |
| recipient |
| username |
| iconEmoji |
| iconUrl |
| uploadImage |
| mention |
| token |
#### Alert notification `victorops`
| Name |
| ---- |
| url |
#### Alert notification `kafka`
| Name |
| ---- |
| kafkaRestProxy |
| kafkaTopic |
#### Alert notification `LINE`
| Name |
| ---- |
| token |
#### Alert notification `pagerduty`
| Name |
| ---- |
| integrationKey |
#### Alert notification `sensu`
| Name |
| ---- |
| url |
| source |
| handler |
| username |
| password |
#### Alert notification `prometheus-alertmanager`
| Name |
| ---- |
| url |
#### Alert notification `teams`
| Name |
| ---- |
| url |
#### Alert notification `dingding`
| Name |
| ---- |
| url |
#### Alert notification `email`
| Name |
| ---- |
| addresses |
#### Alert notification `hipchat`
| Name |
| ---- |
| url |
| apikey |
| roomid |
#### Alert notification `opsgenie`
| Name |
| ---- |
| apiKey |
| apiUrl |
#### Alert notification `telegram`
| Name |
| ---- |
| bottoken |
| chatid |
#### Alert notification `threema`
| Name |
| ---- |
| gateway_id |
| recipient_id |
| api_secret |
#### Alert notification `webhook`
| Name |
| ---- |
| url |
| username |
| password |
+25 -19
View File
@@ -55,6 +55,10 @@ Alert rule evaluation interval | Send reminders every | Reminder sent every (aft
<div class="clearfix"></div>
### Disable resolve message
When checked, this option will disable resolve message [OK] that is sent when alerting state returns to false.
## Supported Notification Types
Grafana ships with the following set of notification types:
@@ -132,7 +136,7 @@ In DingTalk PC Client:
2. Click "Robot Manage" item in the pop menu, there will be a new panel call "Robot Manage".
3. In the "Robot Manage" panel, select "customised: customised robot with Webhook".
3. In the "Robot Manage" panel, select "customized: customized robot with Webhook".
4. In the next new panel named "robot detail", click "Add" button.
@@ -153,27 +157,29 @@ There are a couple of configuration options which need to be set up in Grafana U
Once these two properties are set, you can send the alerts to Kafka for further processing or throttling.
### All supported notifiers
### Google Hangouts Chat
Name | Type |Support images | Support reminders
-----|------------ | ------ | ------ |
Slack | `slack` | yes | yes
Pagerduty | `pagerduty` | yes | yes
Email | `email` | yes | yes
Webhook | `webhook` | link | yes
Kafka | `kafka` | no | yes
Hipchat | `hipchat` | yes | yes
VictorOps | `victorops` | yes | yes
Sensu | `sensu` | yes | yes
OpsGenie | `opsgenie` | yes | yes
Threema | `threema` | yes | yes
Pushover | `pushover` | no | yes
Telegram | `telegram` | no | yes
Line | `line` | no | yes
Microsoft Teams | `teams` | yes | yes
Prometheus Alertmanager | `prometheus-alertmanager` | no | no
Notifications can be sent by setting up an incoming webhook in Google Hangouts chat. Configuring such a webhook is described [here](https://developers.google.com/hangouts/chat/how-tos/webhooks).
### All supported notifier
Name | Type |Support images
-----|------------ | ------
Slack | `slack` | yes
Pagerduty | `pagerduty` | yes
Email | `email` | yes
Webhook | `webhook` | link
Kafka | `kafka` | no
Google Hangouts Chat | `googlechat` | yes
Hipchat | `hipchat` | yes
VictorOps | `victorops` | yes
Sensu | `sensu` | yes
OpsGenie | `opsgenie` | yes
Threema | `threema` | yes
Pushover | `pushover` | no
Telegram | `telegram` | no
Line | `line` | no
Prometheus Alertmanager | `prometheus-alertmanager` | no
# Enable images in notifications {#external-image-store}
+5 -2
View File
@@ -54,7 +54,10 @@ Here you can specify the name of the alert rule and how often the scheduler shou
If an alert rule has a configured `For` and the query violates the configured threshold it will first go from `OK` to `Pending`. Going from `OK` to `Pending` Grafana will not send any notifications. Once the alert rule has been firing for more than `For` duration, it will change to `Alerting` and send alert notifications.
Typically, it's always a good idea to use this setting since its often worse to get false positive than wait a few minutes before the alert notification triggers.
Typically, it's always a good idea to use this setting since it's often worse to get false positive than wait a few minutes before the alert notification triggers. Looking at the `Alert list` or `Alert list panels` you will be able to see alerts in pending state.
Below you can see an example timeline of an alert using the `For` setting. At ~16:04 the alert state changes to `Pending` and after 4 minutes it changes to `Alerting` which is when alert notifications are sent. Once the series falls back to normal the alert rule goes back to `OK`.
{{< imgbox img="/img/docs/v54/alerting-for-dark-theme.png" caption="Alerting For" >}}
{{< imgbox max-width="40%" img="/img/docs/v4/alerting_conditions.png" caption="Alerting Conditions" >}}
@@ -71,7 +74,7 @@ avg() OF query(A, 15m, now) IS BELOW 14
```
- `avg()` Controls how the values for **each** series should be reduced to a value that can be compared against the threshold. Click on the function to change it to another aggregation function.
- `query(A, 15m, now)` The letter defines what query to execute from the **Metrics** tab. The second two parameters define the time range, `15m, now` means 5 minutes ago to now. You can also do `10m, now-2m` to define a time range that will be 10 minutes ago to 2 minutes ago. This is useful if you want to ignore the last 2 minutes of data.
- `query(A, 15m, now)` The letter defines what query to execute from the **Metrics** tab. The second two parameters define the time range, `15m, now` means 15 minutes ago to now. You can also do `10m, now-2m` to define a time range that will be 10 minutes ago to 2 minutes ago. This is useful if you want to ignore the last 2 minutes of data.
- `IS BELOW 14` Defines the type of threshold and the threshold value. You can click on `IS BELOW` to change the type of threshold.
The query used in an alert rule cannot contain any template variables. Currently we only support `AND` and `OR` operators between conditions and they are executed serially.
+2 -1
View File
@@ -31,9 +31,10 @@ auto_sign_up = true
ldap_sync_ttl = 60
# Limit where auth proxy requests come from by configuring a list of IP addresses.
# This can be used to prevent users spoofing the X-WEBAUTH-USER header.
# Example `whitelist = 192.168.1.1, 192.168.1.0/24, 2001::23, 2001::0/120`
whitelist =
# Optionally define more headers to sync other user attributes
# Example `headers = Name:X-WEBAUTH-NAME Email:X-WEBAUTH-EMAIL``
# Example `headers = Name:X-WEBAUTH-NAME Email:X-WEBAUTH-EMAIL`
headers =
```
+12 -1
View File
@@ -17,7 +17,7 @@ can find examples using Okta, BitBucket, OneLogin and Azure.
This callback URL must match the full HTTP address that you use in your browser to access Grafana, but with the prefix path of `/login/generic_oauth`.
You may have to set the `root_url` option of `[server]` for the callback URL to be
You may have to set the `root_url` option of `[server]` for the callback URL to be
correct. For example in case you are serving Grafana behind a proxy.
Example config:
@@ -209,6 +209,17 @@ allowed_organizations =
token_url = https://<your domain>.my.centrify.com/OAuth2/Token/<Application ID>
```
## Set up OAuth2 with non-compliant providers
Some OAuth2 providers might not support `client_id` and `client_secret` passed via Basic Authentication HTTP header, which
results in `invalid_client` error. To allow Grafana to authenticate via these type of providers, the client identifiers must be
send via POST body, which can be enabled via the following settings:
```bash
[auth.generic_oauth]
send_client_credentials_via_post = true
```
<hr>
+1 -1
View File
@@ -1,5 +1,5 @@
+++
title = "Google OAuth2 Authentication"
title = "GitHub OAuth2 Authentication"
description = "Grafana OAuthentication Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
+2 -2
View File
@@ -1,5 +1,5 @@
+++
title = "Google OAuth2 Authentication"
title = "GitLab OAuth2 Authentication"
description = "Grafana OAuthentication Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
@@ -47,7 +47,7 @@ authentication:
```bash
[auth.gitlab]
enabled = false
enabled = true
allow_sign_up = false
client_id = GITLAB_APPLICATION_ID
client_secret = GITLAB_SECRET
+3 -2
View File
@@ -3,6 +3,7 @@ title = "LDAP Authentication"
description = "Grafana LDAP Authentication Guide "
keywords = ["grafana", "configuration", "documentation", "ldap", "active directory"]
type = "docs"
aliases = ["/installation/ldap/"]
[menu.docs]
name = "LDAP"
identifier = "ldap"
@@ -162,9 +163,9 @@ org_role = "Viewer"
Setting | Required | Description | Default
------------ | ------------ | ------------- | -------------
`group_dn` | Yes | LDAP distinguished name (DN) of LDAP group. If you want to match all (or no LDAP groups) then you can use wildcard (`"*"`) |
`org_role` | Yes | Assign users of `group_dn` the organisation role `"Admin"`, `"Editor"` or `"Viewer"` |
`org_role` | Yes | Assign users of `group_dn` the organization role `"Admin"`, `"Editor"` or `"Viewer"` |
`org_id` | No | The Grafana organization database id. Setting this allows for multiple group_dn's to be assigned to the same `org_role` provided the `org_id` differs | `1` (default org id)
`grafana_admin` | No | When `true` makes user of `group_dn` Grafana server admin. A Grafana server admin has admin access over all organisations and users. Available in Grafana v5.3 and above | `false`
`grafana_admin` | No | When `true` makes user of `group_dn` Grafana server admin. A Grafana server admin has admin access over all organizations and users. Available in Grafana v5.3 and above | `false`
### Nested/recursive group membership
+11 -2
View File
@@ -78,8 +78,8 @@ disable_login_form = true
### Automatic OAuth login
Set to true to attempt login with OAuth automatically, skipping the login screen.
This setting is ignored if multiple OAuth providers are configured.
Set to true to attempt login with OAuth automatically, skipping the login screen.
This setting is ignored if multiple OAuth providers are configured.
Defaults to `false`.
```bash
@@ -95,3 +95,12 @@ Set to the option detailed below to true to hide sign-out menu link. Useful if y
[auth]
disable_signout_menu = true
```
### URL redirect after signing out
URL to redirect the user to after signing out from Grafana. This can for example be used to enable signout from oauth provider.
```bash
[auth]
signout_redirect_url =
```
+2 -2
View File
@@ -1,6 +1,6 @@
+++
title = "Contributor Licence Agreement (CLA)"
description = "Contributor Licence Agreement (CLA)"
title = "Contributor License Agreement (CLA)"
description = "Contributor License Agreement (CLA)"
type = "docs"
aliases = ["/project/cla", "docs/contributing/cla.html"]
[menu.docs]
+1 -1
View File
@@ -31,7 +31,7 @@ Datasource permissions allow you to restrict query access to only specific Teams
### Premium Plugins
With a Grafana Enterprise licence you will get access to premium plugins, including:
With a Grafana Enterprise license you will get access to premium plugins, including:
* [Splunk](https://grafana.com/plugins/grafana-splunk-datasource)
* [AppDynamics](https://grafana.com/plugins/dlopes7-appdynamics-datasource)
@@ -38,7 +38,7 @@ Name | Description
### IAM Roles
Currently all access to CloudWatch is done server side by the Grafana backend using the official AWS SDK. If you grafana
Currently all access to CloudWatch is done server side by the Grafana backend using the official AWS SDK. If your Grafana
server is running on AWS you can use IAM Roles and authentication will be handled automatically.
Checkout AWS docs on [IAM Roles](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
@@ -110,6 +110,9 @@ Macro example | Description
*$__unixEpochFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as unix timestamp. For example, *dateColumn > 1494410783 AND dateColumn < 1494497183*
*$__unixEpochFrom()* | Will be replaced by the start of the currently active time selection as unix timestamp. For example, *1494410783*
*$__unixEpochTo()* | Will be replaced by the end of the currently active time selection as unix timestamp. For example, *1494497183*
*$__unixEpochNanoFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as nanosecond timestamp. For example, *dateColumn > 1494410783152415214 AND dateColumn < 1494497183142514872*
*$__unixEpochNanoFrom()* | Will be replaced by the start of the currently active time selection as nanosecond timestamp. For example, *1494410783152415214*
*$__unixEpochNanoTo()* | Will be replaced by the end of the currently active time selection as nanosecond timestamp. For example, *1494497183142514872*
*$__unixEpochGroup(dateColumn,'5m', [fillmode])* | Same as $__timeGroup but for times stored as unix timestamp (only available in Grafana 5.3+).
*$__unixEpochGroupAlias(dateColumn,'5m', [fillmode])* | Same as above but also adds a column alias (only available in Grafana 5.3+).
@@ -144,6 +144,9 @@ Macro example | Description
*$__unixEpochFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as unix timestamp. For example, *dateColumn > 1494410783 AND dateColumn < 1494497183*
*$__unixEpochFrom()* | Will be replaced by the start of the currently active time selection as unix timestamp. For example, *1494410783*
*$__unixEpochTo()* | Will be replaced by the end of the currently active time selection as unix timestamp. For example, *1494497183*
*$__unixEpochNanoFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as nanosecond timestamp. For example, *dateColumn > 1494410783152415214 AND dateColumn < 1494497183142514872*
*$__unixEpochNanoFrom()* | Will be replaced by the start of the currently active time selection as nanosecond timestamp. For example, *1494410783152415214*
*$__unixEpochNanoTo()* | Will be replaced by the end of the currently active time selection as nanosecond timestamp. For example, *1494497183142514872*
*$__unixEpochGroup(dateColumn,'5m', [fillmode])* | Same as $__timeGroup but for times stored as unix timestamp (only available in Grafana 5.3+).
*$__unixEpochGroupAlias(dateColumn,'5m', [fillmode])* | Same as above but also adds a column alias (only available in Grafana 5.3+).
@@ -154,6 +154,9 @@ Macro example | Description
*$__unixEpochFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as unix timestamps. For example, *dateColumn >= 1494410783 AND dateColumn <= 1494497183*
*$__unixEpochFrom()* | Will be replaced by the start of the currently active time selection as unix timestamp. For example, *1494410783*
*$__unixEpochTo()* | Will be replaced by the end of the currently active time selection as unix timestamp. For example, *1494497183*
*$__unixEpochNanoFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as nanosecond timestamps. For example, *dateColumn >= 1494410783152415214 AND dateColumn <= 1494497183142514872*
*$__unixEpochNanoFrom()* | Will be replaced by the start of the currently active time selection as nanosecond timestamp. For example, *1494410783152415214*
*$__unixEpochNanoTo()* | Will be replaced by the end of the currently active time selection as unix timestamp. For example, *1494497183142514872*
*$__unixEpochGroup(dateColumn,'5m', [fillmode])* | Same as $__timeGroup, but for times stored as unix timestamp (only available in Grafana 5.3+).
*$__unixEpochGroupAlias(dateColumn,'5m', [fillmode])* | Same as above, but also adds a column alias (only available in Grafana 5.3+).
@@ -12,8 +12,8 @@ weight = 11
# Using Google Stackdriver in Grafana
> Only available in Grafana v5.3+.
> The datasource is currently a beta feature and is subject to change.
> Available as a beta feature in Grafana v5.3.x and v5.4.x.
> Officially released in Grafana v6.0.0
Grafana ships with built-in support for Google Stackdriver. Just add it as a datasource and you are ready to build dashboards for your Stackdriver metrics.
+150
View File
@@ -0,0 +1,150 @@
+++
title = "Explore"
keywords = ["explore", "loki", "logs"]
type = "docs"
[menu.docs]
name = "Explore"
identifier = "explore"
parent = "features"
weight = 5
+++
# Explore
> Explore is only available in Grafana 6.0 and above.
## Introduction
One of the major new features of Grafana 6.0 is the new query-focused Explore workflow for troubleshooting and/or for data exploration.
Grafana's dashboard UI is all about building dashboards for visualization. Explore strips away all the dashboard and panel options so that you can focus on the query. Iterate until you have a working query and then think about building a dashboard.
For infrastructure monitoring and incident response, you no longer need to switch to other tools to debug what went wrong. Explore allows you to dig deeper into your metrics and logs to find the cause. Grafana's new logging datasource, [Loki](https://github.com/grafana/loki) is tightly integrated into Explore and allows you to correlate metrics and logs by viewing them side-by-side. This creates a new debugging workflow where you can:
1. Receive an alert
2. Drill down and examine metrics
3. Drill down again and search logs related to the metric and time interval (and in the future, distributed traces).
If you just want to explore your data and do not want to create a dashboard then Explore makes this much easier. Explore will show the results as both a graph and a table enabling you to see trends in the data and more detail at the same time (if the datasource supports both graph and table data).
## How to Start Exploring
There is a new Explore icon on the menu bar to the left. This opens a new empty Explore tab.
{{< docs-imagebox img="/img/docs/v60/explore_menu.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore Icon" >}}
If you want to start with an existing query in a panel then choose the Explore option from the Panel menu. This opens an Explore tab with the query from the panel and allows you to tweak or iterate in the query outside of your dashboard.
{{< docs-imagebox img="/img/docs/v60/explore_panel_menu.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore option in the panel menu" >}}
Choose your datasource in the dropdown in the top left. Prometheus has a custom Explore implementation, the other datasources (for now) use their standard query editor.
The query field is where you can write your query and explore your data. There are three buttons beside the query field, a clear button (X), an add query button (+) and the remove query button (-). Just like the normal query editor, you can add and remove multiple queries.
## Split and Compare
The Split feature is an easy way to compare graphs and tables side-by-side or to look at related data together on one page. Click the split button to duplicate the current query and split the page into two side-by-side queries. It is possible to select another datasource for the new query which for example, allows you to compare the same query for two different servers or to compare the staging environment to the production environment.
{{< docs-imagebox img="/img/docs/v60/explore_split.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore option in the panel menu" >}}
You can close the newly created query by clicking on the Close Split button.
## Prometheus-specific Features
The first version of Explore features a custom querying experience for Prometheus. When a query is executed, it actually executes two queries, a normal Prometheus query for the graph and an Instant Query for the table. An Instant Query returns the last value for each time series which shows a good summary of the data shown in the graph.
### Metrics Explorer
On the left-hand side of the query field is a `Metrics` button, clicking on this opens the Metric Explorer. This shows a hierarchical menu with metrics grouped by their prefix. For example, all the Alert Manager metrics will be grouped under the `alertmanager` prefix. This is a good starting point if you just want to explore which metrics are available.
{{< docs-imagebox img="/img/docs/v60/explore_metric_explorer.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore option in the panel menu" >}}
### Query Field
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 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.
- For counters (monotonously increasing metrics), a rate function will be suggested.
- For buckets, a histogram function will be suggested.
- For recording rules, possible to expand the rules.
### Table Filters
Click on the filter button <span title="Filter for label" class="logs-label__icon fa fa-search-plus"></span> in a labels column in the Table panel to add filters to the query expression. This works with multiple queries too - the filter will be added for all the queries.
## Logs Integration - Loki-specific Features
For Grafana 6.0, the first log integration is for the new open source log aggregation system from Grafana Labs - [Loki](https://github.com/grafana/loki). Loki is designed to be very cost effective, as it does not index the contents of the logs, but rather a set of labels for each log stream. The logs from Loki are queried in a similar way to querying with label selectors in Prometheus. It uses labels to group log streams which can be made to match up with your Prometheus labels. Read more about Grafana Loki [here](https://github.com/grafana/loki) or the Grafana Labs hosted variant: [Grafana Cloud Logs](https://grafana.com/loki).
### Switching from Metrics to Logs
If you switch from a Prometheus query to a logs query (you can do a split first to have your metrics and logs side by side) then it will keep the labels from your query that exist in the logs and use those to query the log streams. For example, the following Prometheus query:
`grafana_alerting_active_alerts{job="grafana"}`
after switching to the Logs datasource, the query changes to:
`{job="grafana"}`
This will return a chunk of logs in the selected time range that can be grepped/text searched.
### Log Queries
A log query consists of two parts: **log stream selector**, and a **search expression**. For performance reasons you need to start by choosing a log stream by selecting a log label.
The Logs Explorer (the `Log labels` button) next to the query field shows a list of labels of available log streams. An alternative way to write a query is to use the query field's autocomplete - you start by typing a left curly brace `{` and the autocomplete menu will suggest a list of labels. Press the `enter` key to execute the query.
Once the result is returned, the log panel shows a list of log rows and a bar chart where the x-axis shows the time and the y-axis shows the frequency/count.
{{< docs-imagebox img="/img/docs/v60/explore_loki.png" class="docs-image--no-shadow" caption="Explore Loki Log Streams" >}}
#### Log Stream Selector
For the label part of the query expression, wrap it in curly braces `{}` and then use the key value syntax for selecting labels. Multiple label expressions are separated by a comma:
`{app="mysql",name="mysql-backup"}`
The following label matching operators are currently supported:
- `=` exactly equal.
- `!=` not equal.
- `=~` regex-match.
- `!~` do not regex-match.
Examples:
- `{name=~"mysql.+"}`
- `{name!~"mysql.+"}`
The [same rules that apply for Prometheus Label Selectors](https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors) apply for Loki Log Stream Selectors.
Another way to add a label selector, is in the table section, clicking on the **Filter** button beside a label will add the label to the query expression. This even works for multiple queries and will the label selector to each query.
#### Search Expression
After writing the Log Stream Selector, you can filter the results further by writing a search expression. The search expression can be just text or a regex expression.
Example queries:
- `{job="mysql"} error`
- `{name="kafka"} tsdb-ops.*io:2003`
- `{instance=~"kafka-[23]",name="kafka"} kafka.server:type=ReplicaManager`
### Deduping
Log data can be very repetitive and Explore can help by hiding duplicate log lines. There are a few different deduplication algorithms that you can use:
- `exact` Exact matches are done on the whole line, except for date fields.
- `numbers` Matches on the line after stripping out numbers (durations, IP addresses etc.).
- `signature` The most aggressive deduping - strips all letters and numbers, and matches on the remaining whitespace and punctuation.
### Timestamp, Local time and Labels
There are some other check boxes under the logging graph apart from the Deduping options.
- Timestamp: shows/hides the Timestamp column
- Local time: shows/hides the Local time column
- Labels: shows/hides the label filters column
+1 -1
View File
@@ -134,7 +134,7 @@ continue work on a `build mode` for a future release.
The new row menu automatically slides out when you mouse over the edge of the row. You no longer need
to hover over the small green icon and then click it to expand the row menu.
There are some minor improvements to drag and drop behaviour. Now when dragging a panel from one row
There are some minor improvements to drag and drop behavior. Now when dragging a panel from one row
to another you will insert the panel and Grafana will automatically make room for it.
When you drag a panel within a row you will simply reorder the panels.
+1 -1
View File
@@ -26,7 +26,7 @@ Grafana v5.3 brings new features, many enhancements and bug fixes. This article
{{< docs-imagebox img="/img/docs/v53/stackdriver-with-heatmap.png" max-width= "600px" class="docs-image--no-shadow docs-image--right" >}}
Grafana v5.3 ships with built-in support for [Google Stackdriver](https://cloud.google.com/stackdriver/) and enables you to visualize your Stackdriver metrics in Grafana.
Grafana v5.3 ships with built-in support for [Google Stackdriver](https://cloud.google.com/stackdriver/) and enables you to visualize your Stackdriver metrics in Grafana.
Getting started with the plugin is easy. Simply create a GCE Service account that has access to the Stackdriver API scope, download the Service Account key file from Google and upload it on the Stackdriver datasource config page in Grafana and you should have a secure server-to-server authentication setup. Like other core plugins, Stackdriver has built-in support for alerting. It also comes with support for heatmaps and basic variables.
+83
View File
@@ -0,0 +1,83 @@
+++
title = "What's New in Grafana v5.4"
description = "Feature & improvement highlights for Grafana v5.4"
keywords = ["grafana", "new", "documentation", "5.4"]
type = "docs"
[menu.docs]
name = "Version 5.4"
identifier = "v5.4"
parent = "whatsnew"
weight = -10
+++
# What's New in Grafana v5.4
Grafana v5.4 brings new features, many enhancements and bug fixes. This article will detail the major new features and enhancements.
- [Alerting]({{< relref "#alerting" >}}) Limit false positives with the new `For` setting
- [Google Stackdriver]({{< relref "#google-stackdriver" >}}) Now with support for templating queries
- [MySQL]({{< relref "#mysql-query-builder" >}}) gets a new query builder!
- [Graph Panel]({{< relref "#graph-panel-enhancements" >}}) Highlight time regions and more
- [Team Preferences]({{< relref "#team-preferences" >}}) Give your teams their own home dashboard
## Alerting
{{< docs-imagebox img="/img/docs/v54/alerting-for-dark-theme.png" max-width="600px" class="docs-image--right" >}}
Grafana v5.4 ships with a new alert rule setting named `For` which is great for removing false positives. If an alert rule has a configured `For` and the query violates the configured threshold it will first go from `OK` to `Pending`. Going from `OK` to `Pending` Grafana will not send any notifications. Once the alert rule has been firing for more than `For` duration, it will change to `Alerting` and send alert notifications. Typically, it's always a good idea to use this setting since it's often worse to get false positive than wait a few minutes before the alert notification triggers.
In the screenshot you can see an example timeline of an alert using the `For` setting. At ~16:04 the alert state changes to `Pending` and after 4 minutes it changes to `Alerting` which is when alert notifications are sent. Once the series falls back to normal the alert rule goes back to `OK`. [Learn more](/alerting/rules/#for).
Additionally, there's now support for disable the sending of `OK` alert notifications. [Learn more](/alerting/notifications/#disable-resolve-message).
<div class="clearfix"></div>
## Google Stackdriver
{{< docs-imagebox img="/img/docs/v54/stackdriver_template_query.png" max-width="600px" class="docs-image--right" >}}
Grafana v5.3 included built-in support for [Google Stackdriver](https://cloud.google.com/stackdriver/) which enables you to visualize your Stackdriver metrics in Grafana.
One important feature missing was support for templating queries. This is now included together with a brand new templating query editor for Stackdriver.
The Stackdriver templating query editor lets you choose from a set of different Query Types. This will in turn reveal additional drop downs to help you
find, filter and select the templating values you're interested in, see screenshot for details. The templating query editor also supports chaining multiple variables
making it easy to define variables that's dependent on other variables.
Stackdriver is the first datasource which has support for a custom templating query editor. But starting from Grafana v5.4 it's now possible for all datasources, including plugin datasources, to
create their very own templating query editor.
Additionally, if Grafana is running on a Google Compute Engine (GCE) virtual machine, it is now possible for Grafana to automatically retrieve default credentials from the metadata server.
This has the advantage of not needing to generate a private key file for the service account and also not having to upload the file to Grafana. [Learn more](/features/datasources/stackdriver/#using-gce-default-service-account).
Please read [Using Google Stackdriver in Grafana](/features/datasources/stackdriver/) for more detailed information on how to get started and use it.
<div class="clearfix"></div>
## MySQL Query Builder
Grafana v5.4 comes with a new graphical query builder for MySQL. This brings MySQL integration more in line with some of the other datasources and makes it easier for both advanced users and beginners to work with timeseries in MySQL. Learn more about it in the [documentation](/features/datasources/mysql/#query-editor).
{{< docs-imagebox img="/img/docs/v54/mysql_query_still.png" animated-gif="/img/docs/v54/mysql_query.gif" >}}
## Graph Panel Enhancements
Grafana v5.4 adds support for highlighting weekdays and/or certain timespans in the graph panel. This should make it easier to compare for example weekends, business hours and/or off work hours.
{{< docs-imagebox img="/img/docs/v54/graph_time_regions.png" max-width= "800px" >}}
Additionally, when rendering series as lines in the graph panel, should there be only one data point available for one series so that a connecting line cannot be established, a point will
automatically be rendered for that data point. This should make it easier to understand what's going on when only receiving a single data point.
{{< docs-imagebox img="/img/docs/v54/graph_dot_single_point.png" max-width= "800px" >}}
## Team Preferences
Grafana v5.4 adds support for customizing home dashboard, timezone and theme for teams, in addition to the existing customization on Organization and user Profile level.
1. Specifying a preference on User Profile level will override preference on Team and/or Organization level
2. Specifying a preference on Team level will override preference on Organization level.
## Changelog
Checkout the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) file for a complete list
of new features, changes, and bug fixes.
+142
View File
@@ -0,0 +1,142 @@
+++
title = "What's New in Grafana v6.0"
description = "Feature & improvement highlights for Grafana v6.0"
keywords = ["grafana", "new", "documentation", "6.0"]
type = "docs"
[menu.docs]
name = "Version 6.0"
identifier = "v6.0"
parent = "whatsnew"
weight = -11
+++
# What's New in Grafana v6.0
This update to Grafana introduces a new way of exploring your data, support for log data and tons of other features.
The main highlights are:
- [Explore]({{< relref "#explore" >}}) - A new query focused workflow for ad hoc data exploration and troubleshooting.
- [Grafana Loki]({{< relref "#explore-and-grafana-loki" >}}) - Integration with the new open source log aggregation system from Grafana Labs.
- [Gauge Panel]({{< relref "#gauge-panel" >}}) - A new standalone panel for gauges.
- [New Panel Editor UX]({{< relref "#easily-switch-visualization-with-panel-edit-ux-update" >}}) improves panel editing
and enables easy switch between different visualizations.
- [Google Stackdriver Datasource]({{< relref "#google-stackdriver-datasource" >}}) is out of beta and is officially released.
- [Azure Monitor]({{< relref "#azure-monitor-datasource" >}}) plugin is ported from being an external plugin to being a core datasource
## Explore
{{< docs-imagebox img="/img/docs/v60/explore_prometheus.png" max-width="800px" class="docs-image--right" caption="Screenshot of the new Explore option in the panel menu" >}}
Grafana's dashboard UI is all about building dashboards for visualization. **Explore** strips away all the dashboard and panel options so that you can focus on the query & metric exploration. Iterate until you have a working query and then think about building a dashboard. You can also jump from a dashboard panel into **Explore** and from there do some ad-hoc query exporation with the panel queries as a starting point.
For infrastructure monitoring and incident response, you no longer need to switch to other tools to debug what went wrong. **Explore** allows you to dig deeper into your metrics and logs to find the cause. Grafana's new logging datasource, [Loki](https://github.com/grafana/loki) is tightly integrated into Explore and allows you to correlate metrics and logs by viewing them side-by-side.
**Explore** is a new paradigm for Grafana. It creates a new interactive debugging workflow that integrates two pillars
of observability - metrics and logs. Explore works with every datasource but for Prometheus we have customized the
query editor and the experience to provide the best possible exploration UX.
#### Explore and Prometheus
Explore features a new [Prometheus query editor](/features/explore/#prometheus-specific-features). This new editor has improved autocomplete, metric tree selector,
integrations with the Explore table view for easy label filtering and useful query hints that can automatically apply
functions to your query. There is also integration between Prometheus and Grafana Loki (see more about Loki below) that
enabled jumping between metrics query and logs query with preserved label filters.
### Explore splits
Explore supports splitting the view so you can compare different queries, different datasources and metrics & logs side by side!
{{< docs-imagebox img="/img/docs/v60/explore_split.png" max-width="800px" caption="Screenshot of the new Explore option in the panel menu" >}}
### Explore and Grafana Loki
The log exploration & visualization features in Explore are available to any data source but are currently only implemented by the new open source log
aggregation system from Grafana Lab called [Grafana Loki](https://github.com/grafana/loki).
Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective, as it does not index the contents of the logs, but rather a set of labels for each log stream. The logs from Loki are queried in a similar way to querying with label selectors in Prometheus. It uses labels to group log streams which can be made to match up with your Prometheus labels.
Read more about Grafana Loki [here](https://github.com/grafana/loki) or [Grafana Labs hosted Loki](https://grafana.com/loki).
The Explore feature allows you to query logs and features a new log panel. In the near future, we will be adding support
for other log sources to Explore and the next planned integration is Elasticsearch.
<div class="medium-6 columns">
<video width="800" height="500" controls>
<source src="/assets/videos/explore_loki.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
## New Panel Editor
Grafana v6.0 has a completely redesigned UX around editing panels. You can now resize the visualization area if you want
more space for queries & options and vice versa. You can now also change visualization (panel type) from within the new
panel edit mode. No need to add a new panel to try out different visualizations! Checkout the
video below to see the new Panel Editor in action.
<div class="medium-6 columns">
<video width="800" height="500" controls>
<source src="/assets/videos/panel_change_viz.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<br>
### Gauge Panel
We have created a new separate Gauge panel as we felt having this visualization be a hidden option in the Singlestat panel
was not ideal. When it supports 100% of the Singlestat Gauge features we plan to add a migration so all
singlestats that use it become Gauge panels instead. This new panel contains a new **Threshold** editor that we will
continue to refine and start using in other panels.
{{< docs-imagebox img="/img/docs/v60/gauge_panel.png" max-width="600px" caption="Gauge Panel" >}}
<br>
### React Panels & Query Editors
A major part of all the work that has gone into Grafana v6.0 has been on the migration to React. This investment
is part of the future proofing of Grafana and it's code base and ecosystem. Starting in v6.0 **Panels** and **Data
source** plugins can be written in React using our published `@grafana/ui` sdk library. More information on this
will be shared closer to or just after release.
{{< docs-imagebox img="/img/docs/v60/react_panels.png" max-width="600px" caption="React Panel" >}}
### Google Stackdriver Datasource
Built-in support for [Google Stackdriver](https://cloud.google.com/stackdriver/) is officially released in Grafana 6.0. Beta support was added in Grafana 5.3 and we have added lots of improvements since then.
To get started read the guide: [Using Google Stackdriver in Grafana](/features/datasources/stackdriver/).
### Azure Monitor Datasource
One of the goals of the Grafana v6.0 release is to add support for the three major clouds. Amazon Cloudwatch has been a core datasource for years and Google Stackdriver is also now supported. We developed an external plugin for Azure Monitor last year and for this release the [plugin](https://grafana.com/plugins/grafana-azure-monitor-datasource) is being moved into Grafana to be one of the built-in datasources. For users of the external plugin, Grafana will automatically start using the built-in version. As a core datasource, the Azure Monitor datasource will get alerting support for the official 6.0 release.
The Azure Monitor datasource integrates four Azure services with Grafana - Azure Monitor, Azure Log Analytics, Azure Application Insights and Azure Application Insights Analytics.
### Provisioning support for alert notifiers
Grafana now added support for provisioning alert notifiers from configuration files. Allowing operators to provision notifiers without using the UI or the API. A new field called `uid` has been introduced which is a string identifier that the administrator can set themselves. Same kind of identifier used for dashboards since v5.0. This feature makes it possible to use the same notifier configuration in multiple environments and refer to notifiers in dashboard json by a string identifier instead of the numeric id which depends on insert order and how many notifiers that exists in the instance.
### Auth and session token improvements
The previous session storage implementation in Grafana was causing problems in larger HA setups due to too many write requests to the database. The remember me token also have several security issues which is why we decided to rewrite auth middleware in Grafana and remove the session storage since most operations using the session storage could be rewritten to use cookies or data already made available earlier in the request.
If you are using `Auth proxy` for authentication the session storage will still be used but our goal is to remove this ASAP as well.
This release will force all users to log in again since their previous token is not valid anymore.
### Other features
- The ElasticSearch datasource now supports [bucket script pipeline aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline-bucket-script-aggregation.html). This gives the ability to do per bucket computations like the difference or ratio between two metrics.
- Support for Google Hangouts Chat alert notifications
#### Technical Work - moving from Angular to React
The Grafana team is putting a huge amount of work into converting the frontend code in Grafana from Angular to React. Currently, all external plugins for Grafana are written in Angular but we are planning to also support plugins written in React very soon.
## Changelog
Checkout the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) file for a complete list of new features, changes, and bug fixes.
+3 -3
View File
@@ -285,7 +285,7 @@ Content-Type: application/json
HTTP/1.1 200
Content-Type: application/json
{message: "User permissions updated"}
{"message": "User permissions updated"}
```
## Delete global User
@@ -308,7 +308,7 @@ Content-Type: application/json
HTTP/1.1 200
Content-Type: application/json
{message: "User deleted"}
{"message": "User deleted"}
```
## Pause all alerts
@@ -339,5 +339,5 @@ JSON Body schema:
HTTP/1.1 200
Content-Type: application/json
{state: "new state", message: "alerts pause/un paused", "alertsAffected": 100}
{"state": "new state", "message": "alerts pause/un paused", "alertsAffected": 100}
```
+4 -1
View File
@@ -160,11 +160,14 @@ Content-Type: application/json
## Create alert notification
You can find the full list of [supported notifiers](/alerting/notifications/#all-supported-notifier) at the alert notifiers page.
`POST /api/alert-notifications`
**Example Request**:
```http
POST /api/alert-notifications HTTP/1.1
POST /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
+2 -2
View File
@@ -188,8 +188,8 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```http
HTTP/1.1 200
Content-Type: application/json
Content-Type: application/json
```
## Data source proxy calls
+1 -1
View File
@@ -105,7 +105,7 @@ POST /api/folders/nErXDvCkzz/permissions
- **200** - Ok
- **401** - Unauthorized
- **403** - Access denied
- **404** - Dashboard not found
- **404** - Dashboard not found
"items": [
{
"role": "Viewer",
+1 -1
View File
@@ -26,7 +26,7 @@ dashboards, creating users and updating data sources.
* [Folder Permissions API]({{< relref "http_api/folder_permissions.md" >}})
* [Folder/dashboard search API]({{< relref "/http_api/folder_dashboard_search.md" >}})
* [Data Source API]({{< relref "http_api/data_source.md" >}})
* [Organisation API]({{< relref "http_api/org.md" >}})
* [Organization API]({{< relref "http_api/org.md" >}})
* [Snapshot API]({{< relref "http_api/snapshot.md" >}})
* [Annotations API]({{< relref "http_api/annotations.md" >}})
* [Alerting API]({{< relref "http_api/alerting.md" >}})
+39 -39
View File
@@ -1,24 +1,24 @@
+++
title = "Organisation HTTP API "
description = "Grafana Organisation HTTP API"
keywords = ["grafana", "http", "documentation", "api", "organisation"]
aliases = ["/http_api/organisation/"]
title = "Organization HTTP API "
description = "Grafana Organization HTTP API"
keywords = ["grafana", "http", "documentation", "api", "organization"]
aliases = ["/http_api/organization/"]
type = "docs"
[menu.docs]
name = "Organisation"
name = "Organization"
parent = "http_api"
+++
# Organisation API
# Organization API
The Organisation HTTP API is divided in two resources, `/api/org` (current organisation)
and `/api/orgs` (admin organisations). One big difference between these are that
the admin of all organisations API only works with basic authentication, see [Admin Organisations API](#admin-organisations-api) for more information.
The Organization HTTP API is divided in two resources, `/api/org` (current organization)
and `/api/orgs` (admin organizations). One big difference between these are that
the admin of all organizations API only works with basic authentication, see [Admin Organizations API](#admin-organizations-api) for more information.
## Current Organisation API
## Current Organization API
### Get current Organisation
### Get current Organization
`GET /api/org/`
@@ -43,7 +43,7 @@ Content-Type: application/json
`GET /api/org/users`
**Example Request**:
**Example Request**:
```http
GET /api/org/users HTTP/1.1
@@ -99,7 +99,7 @@ Content-Type: application/json
```http
HTTP/1.1 200
Content-Type: application/json
Content-Type: application/json
```
@@ -121,7 +121,7 @@ Content-Type: application/json
```http
HTTP/1.1 200
Content-Type: application/json
Content-Type: application/json
```
@@ -147,11 +147,11 @@ Content-Type: application/json
HTTP/1.1 200
Content-Type: application/json
```
```
## Admin Organizations API
The Admin Organisations HTTP API does not currently work with an API Token. API Tokens are currently
The Admin Organizations HTTP API does not currently work with an API Token. API Tokens are currently
only linked to an organization and an organization role. They cannot be given the permission of server
admin, only users can be given that permission. So in order to use these API calls you will have to
use Basic Auth and the Grafana user must have the Grafana Admin permission (The default admin user
@@ -176,19 +176,19 @@ Content-Type: application/json
```http
HTTP/1.1 200
Content-Type: application/json
```
### Get Organisation by Name
### Get Organization by Name
`GET /api/orgs/name/:orgName`
Only works with Basic Authentication (username and password), see [introduction](#admin-organizations-api).
**Example Request**:
**Example Request**:
```http
GET /api/orgs/name/Main%20Org%2E HTTP/1.1
Accept: application/json
Accept: application/json
Content-Type: application/json
```
@@ -217,11 +217,11 @@ Content-Type: application/json
Note: The api will work in the following two ways
1) Need to set GF_USERS_ALLOW_ORG_CREATE=true
2) Set the config users.allow_org_create to true in ini file
**Example Response**:
```http
HTTP/1.1 200
HTTP/1.1 200
Content-Type: application/json
```
@@ -251,11 +251,11 @@ Content-Type: application/json
```
### Update Organization
`PUT /api/orgs/:orgId`
Update Organization, fields *Address 1*, *Address 2*, *City* are not implemented yet.
Only works with Basic Authentication (username and password), see [introduction](#admin-organisations-api).
Only works with Basic Authentication (username and password), see [introduction](#admin-organizations-api).
**Example Request**:
@@ -284,11 +284,11 @@ Content-Type: application/json
```http
DELETE /api/orgs/1 HTTP/1.1
Accept: application/json
Accept: application/json
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
@@ -314,12 +314,12 @@ Content-Type: application/json
**Example Response**:
```http
```http
HTTP/1.1 200
Content-Type: application/json
[
```
```
### Add User in Organization
`POST /api/orgs/:orgId/users`
@@ -342,11 +342,11 @@ Content-Type: application/json
Content-Type: application/json
```
### Update Users in Organization
`PATCH /api/orgs/:orgId/users/:userId`
Only works with Basic Authentication (username and password), see [introduction](#admin-organizations-api).
**Example Request**:
@@ -364,11 +364,11 @@ Content-Type: application/json
HTTP/1.1 200
Content-Type: application/json
```
```
### Delete User in Organization
`DELETE /api/orgs/:orgId/users/:userId`
`DELETE /api/orgs/:orgId/users/:userId`
Only works with Basic Authentication (username and password), see [introduction](#admin-organizations-api).
@@ -397,11 +397,11 @@ Content-Type: application/json
]
```
### Add User in Organisation
### Add User in Organization
`POST /api/orgs/:orgId/users`
Only works with Basic Authentication (username and password), see [introduction](#admin-organisations-api).
Only works with Basic Authentication (username and password), see [introduction](#admin-organizations-api).
**Example Request**:
@@ -425,11 +425,11 @@ Content-Type: application/json
{"message":"User added to organization"}
```
### Update Users in Organisation
### Update Users in Organization
`PATCH /api/orgs/:orgId/users/:userId`
Only works with Basic Authentication (username and password), see [introduction](#admin-organisations-api).
Only works with Basic Authentication (username and password), see [introduction](#admin-organizations-api).
**Example Request**:
@@ -452,11 +452,11 @@ Content-Type: application/json
{"message":"Organization user updated"}
```
### Delete User in Organisation
### Delete User in Organization
`DELETE /api/orgs/:orgId/users/:userId`
Only works with Basic Authentication (username and password), see [introduction](#admin-organisations-api).
Only works with Basic Authentication (username and password), see [introduction](#admin-organizations-api).
**Example Request**:
+26 -1
View File
@@ -82,4 +82,29 @@ HTTP/1.1 200
```
{"message": "Logged in"}
```
```
# Health API
## Returns health information about Grafana
`GET /api/health`
**Example Request**
```http
GET /api/health
Accept: application/json
```
**Example Response**:
```http
HTTP/1.1 200 OK
{
"commit": "087143285",
"database": "ok",
"version": "5.1.3"
}
```
+3 -3
View File
@@ -196,7 +196,7 @@ Content-Type: application/json
GET /api/user HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
@@ -367,11 +367,11 @@ Content-Type: application/json
```
## Organisations of the actual User
## Organizations of the actual User
`GET /api/user/orgs`
Return a list of all organisations of the current user.
Return a list of all organizations of the current user.
**Example Request**:
+3 -3
View File
@@ -60,9 +60,9 @@ aliases = ["v1.1", "guides/reference/admin"]
<h4>Provisioning</h4>
<p>A guide to help you automate your Grafana setup & configuration.</p>
</a>
<a href="{{< relref "guides/whats-new-in-v5-3.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v5.3</h4>
<p>Article on all the new cool features and enhancements in v5.3</p>
<a href="{{< relref "guides/whats-new-in-v5-4.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v5.4</h4>
<p>Article on all the new cool features and enhancements in v5.4</p>
</a>
<a href="{{< relref "tutorials/screencasts.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>Screencasts</h4>
@@ -250,6 +250,12 @@ Sets the maximum amount of time a connection may be reused. The default is 14400
Set to `true` to log the sql calls and execution times.
### cache_mode
For "sqlite3" only. [Shared cache](https://www.sqlite.org/sharedcache.html) setting used for connecting to the database. (private, shared)
Defaults to private.
<hr />
## [security]
@@ -385,6 +391,12 @@ value is `true`.
If you want to track Grafana usage via Google analytics specify *your* Universal
Analytics ID here. By default this feature is disabled.
### check_for_updates
Set to false to disable all checks to https://grafana.com for new versions of Grafana and installed plugins. Check is used
in some UI views to notify that a Grafana or plugin update exists. This option does not cause any auto updates, nor
send any sensitive information.
<hr />
## [dashboards]
@@ -583,3 +595,14 @@ Default setting for how Grafana handles nodata or null values in alerting. (aler
Alert notifications can include images, but rendering many images at the same time can overload the server.
This limit will protect the server from render overloading and make sure notifications are sent out quickly. Default
value is `5`.
## [panels]
### enable_alpha
Set to true if you want to test panels that are not yet ready for general usage.
### disable_sanitize_html
If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities. Default
is false. This settings was introduced in Grafana v6.0.
+8 -11
View File
@@ -34,32 +34,29 @@ sudo dpkg -i grafana_<version>_amd64.deb
Example:
```bash
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.4_amd64.deb
wget https://dl.grafana.com/oss/release/grafana_5.4.2_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_5.1.4_amd64.deb
sudo dpkg -i grafana_5.4.2_amd64.deb
```
## APT Repository
Add the following line to your `/etc/apt/sources.list` file.
Create a file `/etc/apt/sources.list.d/grafana.list` and add the following to it.
```bash
deb https://packagecloud.io/grafana/stable/debian/ stretch main
deb https://packages.grafana.com/oss/deb stable main
```
Use the above line even if you are on Ubuntu or another Debian version.
There is also a testing repository if you want beta or release
candidates.
There is a separate repository if you want beta releases.
```bash
deb https://packagecloud.io/grafana/testing/debian/ stretch main
deb https://packages.grafana.com/oss/deb beta main
```
Then add the [Package Cloud](https://packagecloud.io/grafana) key. This
allows you to install signed packages.
Use the above line even if you are on Ubuntu or another Debian version. Then add our gpg key. This allows you to install signed packages.
```bash
curl https://packagecloud.io/gpg.key | sudo apt-key add -
curl https://packages.grafana.com/gpg.key | sudo apt-key add -
```
Update your Apt repositories and install Grafana
+15 -7
View File
@@ -32,7 +32,7 @@ $ sudo yum install <rpm package url>
Example:
```bash
$ sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.4-1.x86_64.rpm
$ sudo yum install https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm
```
Or install manually using `rpm`. First execute
@@ -44,7 +44,7 @@ $ wget <rpm package url>
Example:
```bash
$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.4-1.x86_64.rpm
$ wget https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm
```
### On CentOS / Fedora / Redhat:
@@ -67,19 +67,27 @@ Add the following to a new file at `/etc/yum.repos.d/grafana.repo`
```bash
[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
```
There is also a testing repository if you want beta or release candidates.
There is a separate repository if you want beta releases.
```bash
baseurl=https://packagecloud.io/grafana/testing/el/7/$basearch
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm-beta
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
```
Then install Grafana via the `yum` command.
@@ -91,7 +99,7 @@ $ sudo yum install grafana
### RPM GPG Key
The RPMs are signed, you can verify the signature with this [public GPG
key](https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana).
key](https://packages.grafana.com/gpg.key).
## Package details
+1 -1
View File
@@ -51,7 +51,7 @@ When a user creates a new dashboard, a new dashboard JSON object is initialized
"list": []
},
"refresh": "5s",
"schemaVersion": 16,
"schemaVersion": 17,
"version": 0,
"links": []
}
+2
View File
@@ -107,3 +107,5 @@ it as usual and then update the data source option in the metrics tab so that th
data source. Another alternative is to open the json file in a a text editor and update the data source properties
to value that matches a name of your data source.
## Note
In Grafana v5.3.4+ the export modal has new checkbox for sharing for external use (other instances). If the checkbox is not checked then the `__inputs` section will not be included in the exported JSON file.
+11 -3
View File
@@ -25,7 +25,7 @@ the value, using the dropdown at the top of the dashboard, your panel's metric q
Panel titles and metric queries can refer to variables using two different syntaxes:
- `$<varname>` Example: apps.frontend.$server.requests.count
- `$varname` Example: apps.frontend.$server.requests.count
- `[[varname]]` Example: apps.frontend.[[server]].requests.count
Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of word. Use
@@ -52,6 +52,7 @@ Filter Option | Example | Raw | Interpolated | Description
`csv`| ${servers:csv} | `'test1', 'test2'` | `test1,test2` | Formats multi-value variable as a comma-separated string
`distributed`| ${servers:distributed} | `'test1', 'test2'` | `test1,servers=test2` | Formats multi-value variable in custom format for OpenTSDB.
`lucene`| ${servers:lucene} | `'test', 'test2'` | `("test" OR "test2")` | Formats multi-value variable as a lucene expression.
`percentencode` | ${servers:percentencode} | `'foo()bar BAZ', 'test2'` | `{foo%28%29bar%20BAZ%2Ctest2}` | Formats multi-value variable into a glob, percent-encoded.
Test the formatting options on the [Grafana Play site](http://play.grafana.org/d/cJtIfcWiz/template-variable-formatting-options?orgId=1).
@@ -244,6 +245,11 @@ summarize($myinterval, sum, false)
Grafana has global built-in variables that can be used in expressions in the query editor.
### Time range variables
Grafana has two built in time range variables in `$__from` and `$__to`. They are currently always interpolated
as epoch milliseconds. These variables are only available in Grafana v6.0 and above.
### The $__interval Variable
This $__interval variable is similar to the `auto` interval variable that is described above. It can be used as a parameter to group by time (for InfluxDB, MySQL, Postgres, MSSQL), Date histogram interval (for Elasticsearch) or as a *summarize* function parameter (for Graphite).
@@ -292,9 +298,11 @@ The `direction` controls how the panels will be arranged.
By choosing `horizontal` the panels will be arranged side-by-side. Grafana will automatically adjust the width
of each repeated panel so that the whole row is filled. Currently, you cannot mix other panels on a row with a repeated
panel. Each panel will never be smaller that the provided `Min width` if you have many selected values.
panel.
By choosing `vertical` the panels will be arranged from top to bottom in a column. The `Min width` doesn't have any effect in this case. The width of the repeated panels will be the same as of the first panel (the original template) being repeated.
Set `Max per row` to tell grafana how many panels per row you want at most. It defaults to *4* if you don't set anything.
By choosing `vertical` the panels will be arranged from top to bottom in a column. The width of the repeated panels will be the same as of the first panel (the original template) being repeated.
Only make changes to the first panel (the original template). To have the changes take effect on all panels you need to trigger a dynamic dashboard re-build.
You can do this by either changing the variable value (that is the basis for the repeat) or reload the dashboard.
+2 -1
View File
@@ -1,5 +1,6 @@
[
{ "version": "v5.3", "path": "/", "archived": false, "current": true },
{ "version": "v5.4", "path": "/", "archived": false, "current": true },
{ "version": "v5.3", "path": "/v5.3", "archived": true },
{ "version": "v5.2", "path": "/v5.2", "archived": true },
{ "version": "v5.1", "path": "/v5.1", "archived": true },
{ "version": "v5.0", "path": "/v5.0", "archived": true },
+3 -1
View File
@@ -6,7 +6,9 @@ module.exports = {
},
"moduleDirectories": ["node_modules", "public"],
"roots": [
"<rootDir>/public"
"<rootDir>/public/app",
"<rootDir>/public/test",
"<rootDir>/packages"
],
"testRegex": "(\\.|/)(test)\\.(jsx?|tsx?)$",
"moduleFileExtensions": [
+2 -2
View File
@@ -1,4 +1,4 @@
{
"stable": "5.3.4",
"testing": "5.3.4"
"stable": "5.4.3",
"testing": "5.4.3"
}
+53 -26
View File
@@ -1,30 +1,40 @@
{
"private": true,
"author": {
"name": "Torkel Ödegaard",
"company": "Grafana Labs"
},
"name": "grafana",
"version": "5.4.0",
"version": "6.0.0-beta1",
"repository": {
"type": "git",
"url": "http://github.com/grafana/grafana.git"
},
"devDependencies": {
"@babel/core": "^7.1.2",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"@babel/preset-typescript": "^7.1.0",
"@rtsao/plugin-proposal-class-properties": "^7.0.1-patch.1",
"@types/classnames": "^2.2.6",
"@types/d3": "^4.10.1",
"@types/enzyme": "^3.1.13",
"@types/jest": "^23.3.2",
"@types/jquery": "^1.10.35",
"@types/node": "^8.0.31",
"@types/react": "^16.4.14",
"@types/react-custom-scrollbars": "^4.0.5",
"@types/react-dom": "^16.0.7",
"@types/react": "^16.7.6",
"@types/react-dom": "^16.0.9",
"@types/react-grid-layout": "^0.16.6",
"@types/react-select": "^2.0.4",
"@types/react-virtualized": "^9.18.12",
"angular-mocks": "1.6.6",
"autoprefixer": "^6.4.0",
"axios": "^0.17.1",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.4",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-preset-es2015": "^6.24.1",
"babel-core": "^7.0.0-bridge",
"babel-jest": "^23.6.0",
"babel-loader": "^8.0.4",
"babel-plugin-angularjs-annotate": "^0.9.0",
"clean-webpack-plugin": "^0.1.19",
"css-loader": "^0.28.7",
"enzyme": "^3.6.0",
@@ -43,15 +53,12 @@
"grunt-cli": "~1.2.0",
"grunt-contrib-clean": "~1.0.0",
"grunt-contrib-compress": "^1.3.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "~1.0.0",
"grunt-contrib-cssmin": "~1.0.2",
"grunt-exec": "^1.0.1",
"grunt-newer": "^1.3.0",
"grunt-notify": "^0.4.5",
"grunt-postcss": "^0.8.0",
"grunt-sass": "^2.0.0",
"grunt-sass-lint": "^0.2.2",
"grunt-sass-lint": "^0.2.4",
"grunt-usemin": "3.1.1",
"grunt-webpack": "^3.0.2",
"html-loader": "^0.5.1",
@@ -59,13 +66,16 @@
"html-webpack-plugin": "^3.2.0",
"husky": "^0.14.3",
"jest": "^23.6.0",
"jest-date-mock": "^1.0.6",
"lint-staged": "^6.0.0",
"load-grunt-tasks": "3.5.2",
"mini-css-extract-plugin": "^0.4.0",
"mocha": "^4.0.1",
"monaco-editor": "^0.15.6",
"ng-annotate-loader": "^0.6.1",
"ng-annotate-webpack-plugin": "^0.3.0",
"ngtemplate-loader": "^2.0.1",
"node-sass": "^4.11.0",
"npm": "^5.4.2",
"optimize-css-assets-webpack-plugin": "^4.0.2",
"phantomjs-prebuilt": "^2.1.15",
@@ -75,6 +85,7 @@
"prettier": "1.9.2",
"react-hot-loader": "^4.3.6",
"react-test-renderer": "^16.5.0",
"regexp-replace-loader": "^1.0.1",
"sass-lint": "^1.10.2",
"sass-loader": "^7.0.1",
"sinon": "1.17.6",
@@ -86,6 +97,7 @@
"tslib": "^1.9.3",
"tslint": "^5.8.0",
"tslint-loader": "^3.5.3",
"tslint-react": "^3.6.0",
"typescript": "^3.0.3",
"uglifyjs-webpack-plugin": "^1.2.7",
"webpack": "4.19.1",
@@ -102,10 +114,16 @@
"watch": "webpack --progress --colors --watch --mode development --config scripts/webpack/webpack.dev.js",
"build": "grunt build",
"test": "grunt test",
"lint": "tslint -c tslint.json --project tsconfig.json",
"tslint": "tslint -c tslint.json --project tsconfig.json",
"typecheck": "tsc --noEmit",
"jest": "jest --notify --watch",
"api-tests": "jest --notify --watch --config=tests/api/jest.js",
"precommit": "lint-staged && grunt precommit"
"precommit": "grunt precommit"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged && grunt precommit"
}
},
"lint-staged": {
"*.{ts,tsx}": [
@@ -128,16 +146,16 @@
},
"license": "Apache-2.0",
"dependencies": {
"@babel/polyfill": "^7.0.0",
"@torkelo/react-select": "2.1.1",
"angular": "1.6.6",
"angular-bindonce": "0.3.1",
"angular-native-dragdrop": "1.2.2",
"angular-route": "1.6.6",
"angular-sanitize": "1.6.6",
"babel-jest": "^23.6.0",
"babel-polyfill": "^6.26.0",
"baron": "^3.0.3",
"brace": "^0.10.0",
"classnames": "^2.2.5",
"classnames": "^2.2.6",
"clipboard": "^1.7.1",
"d3": "^4.11.0",
"d3-scale-chromatic": "^1.3.0",
@@ -152,23 +170,22 @@
"prismjs": "^1.6.0",
"prop-types": "^15.6.2",
"rc-cascader": "^0.14.0",
"react": "^16.5.0",
"react-custom-scrollbars": "^4.2.1",
"react-dom": "^16.5.0",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-grid-layout": "0.16.6",
"react-highlight-words": "^0.10.0",
"react-popper": "^0.7.5",
"react-highlight-words": "0.11.0",
"react-popper": "^1.3.0",
"react-redux": "^5.0.7",
"react-select": "2.1.0",
"react-sizeme": "^2.3.6",
"react-table": "^6.8.6",
"react-transition-group": "^2.2.1",
"react-virtualized": "^9.21.0",
"redux": "^4.0.0",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"remarkable": "^1.7.1",
"rst2html": "github:thoward/rst2html#990cb89",
"rxjs": "^5.4.3",
"rxjs": "^6.3.3",
"slate": "^0.33.4",
"slate-plain-serializer": "^0.5.10",
"slate-prism": "^0.5.0",
@@ -176,9 +193,19 @@
"tether": "^1.4.0",
"tether-drop": "https://github.com/torkelo/drop/tarball/master",
"tinycolor2": "^1.4.1",
"tslint-react": "^3.6.0"
"xss": "^1.0.3"
},
"resolutions": {
"caniuse-db": "1.0.30000772"
"caniuse-db": "1.0.30000772",
"**/@types/react": "16.7.6"
},
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/@types/*",
"**/@types/*/**"
]
}
}
+4
View File
@@ -0,0 +1,4 @@
# Shared build scripts
Shared build scripts for plugins & internal packages.
+13
View File
@@ -0,0 +1,13 @@
{
"name": "@grafana/build",
"private": true,
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"tslint": "echo \"Nothing to do\"",
"typecheck": "echo \"Nothing to do\""
},
"author": "",
"license": "ISC"
}
+2
View File
@@ -0,0 +1,2 @@
import '@storybook/addon-knobs/register';
import '@storybook/addon-actions/register';
+12
View File
@@ -0,0 +1,12 @@
import { configure } from '@storybook/react';
import '../../../public/sass/grafana.light.scss';
// automatically import all files ending in *.stories.tsx
const req = require.context('../src/components', true, /.story.tsx$/);
function loadStories() {
req.keys().forEach(req);
}
configure(loadStories, module);
@@ -0,0 +1,56 @@
const path = require('path');
module.exports = (baseConfig, env, config) => {
config.module.rules.push({
test: /\.(ts|tsx)$/,
use: [
{
loader: require.resolve('awesome-typescript-loader'),
},
],
});
config.module.rules.push({
test: /\.scss$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
importLoaders: 2,
url: false,
sourceMap: false,
minimize: false,
},
},
{
loader: 'postcss-loader',
options: {
sourceMap: false,
config: { path: __dirname + '../../../../scripts/webpack/postcss.config.js' },
},
},
{ loader: 'sass-loader', options: { sourceMap: false } },
],
});
config.module.rules.push({
test: require.resolve('jquery'),
use: [
{
loader: 'expose-loader',
query: 'jQuery',
},
{
loader: 'expose-loader',
query: '$',
},
],
});
config.resolve.extensions.push('.ts', '.tsx');
return config;
};
+3
View File
@@ -0,0 +1,3 @@
# Grafana (WIP) shared component library
Used by internal & external plugins.
+61
View File
@@ -0,0 +1,61 @@
{
"name": "@grafana/ui",
"version": "1.0.0",
"description": "",
"main": "src/index.ts",
"scripts": {
"tslint": "tslint -c tslint.json --project tsconfig.json",
"typecheck": "tsc --noEmit",
"storybook": "start-storybook -p 9001 -c .storybook -s ../../public"
},
"author": "",
"license": "ISC",
"dependencies": {
"@torkelo/react-select": "2.1.1",
"@types/react-color": "^2.14.0",
"classnames": "^2.2.5",
"jquery": "^3.2.1",
"lodash": "^4.17.10",
"moment": "^2.22.2",
"react": "^16.6.3",
"react-color": "^2.17.0",
"react-custom-scrollbars": "^4.2.1",
"react-dom": "^16.6.3",
"react-highlight-words": "0.11.0",
"react-popper": "^1.3.0",
"react-transition-group": "^2.2.1",
"react-virtualized": "^9.21.0",
"tether": "^1.4.0",
"tether-drop": "https://github.com/torkelo/drop/tarball/master",
"tinycolor2": "^1.4.1"
},
"devDependencies": {
"@storybook/addon-actions": "^4.1.7",
"@storybook/addon-info": "^4.1.6",
"@storybook/addon-knobs": "^4.1.7",
"@storybook/react": "^4.1.4",
"@types/classnames": "^2.2.6",
"@types/jest": "^23.3.2",
"@types/jquery": "^1.10.35",
"@types/lodash": "^4.14.119",
"@types/node": "^10.12.18",
"@types/react": "^16.7.6",
"@types/react-custom-scrollbars": "^4.0.5",
"@types/react-test-renderer": "^16.0.3",
"@types/react-transition-group": "^2.0.15",
"@types/storybook__addon-actions": "^3.4.1",
"@types/storybook__addon-info": "^3.4.2",
"@types/storybook__addon-knobs": "^4.0.0",
"@types/storybook__react": "^4.0.0",
"@types/tether-drop": "^1.4.8",
"@types/tinycolor2": "^1.4.1",
"awesome-typescript-loader": "^5.2.1",
"react-docgen-typescript-loader": "^3.0.0",
"react-docgen-typescript-webpack-plugin": "^1.1.0",
"react-test-renderer": "^16.7.0",
"typescript": "^3.2.2"
},
"resolutions": {
"@types/lodash": "4.14.119"
}
}
@@ -0,0 +1,94 @@
import React from 'react';
import { ColorPickerProps } from './ColorPicker';
import tinycolor from 'tinycolor2';
import { debounce } from 'lodash';
interface ColorInputState {
previousColor: string;
value: string;
}
interface ColorInputProps extends ColorPickerProps {
style?: React.CSSProperties;
}
class ColorInput extends React.PureComponent<ColorInputProps, ColorInputState> {
constructor(props: ColorInputProps) {
super(props);
this.state = {
previousColor: props.color,
value: props.color,
};
this.updateColor = debounce(this.updateColor, 100);
}
static getDerivedStateFromProps(props: ColorPickerProps, state: ColorInputState) {
const newColor = tinycolor(props.color);
if (newColor.isValid() && props.color !== state.previousColor) {
return {
...state,
previousColor: props.color,
value: newColor.toString(),
};
}
return state;
}
updateColor = (color: string) => {
this.props.onChange(color);
};
handleChange = (event: React.SyntheticEvent<HTMLInputElement>) => {
const newColor = tinycolor(event.currentTarget.value);
this.setState({
value: event.currentTarget.value,
});
if (newColor.isValid()) {
this.updateColor(newColor.toString());
}
};
handleBlur = () => {
const newColor = tinycolor(this.state.value);
if (!newColor.isValid()) {
this.setState({
value: this.props.color,
});
}
};
render() {
const { value } = this.state;
return (
<div
style={{
display: 'flex',
...this.props.style,
}}
>
<div
style={{
background: this.props.color,
width: '35px',
height: '35px',
flexGrow: 0,
borderRadius: '3px 0 0 3px',
}}
/>
<div
style={{
flexGrow: 1,
}}
>
<input className="gf-form-input" value={value} onChange={this.handleChange} onBlur={this.handleBlur} />
</div>
</div>
);
}
}
export default ColorInput;
@@ -1,6 +1,6 @@
import React from 'react';
import renderer from 'react-test-renderer';
import { ColorPalette } from '../components/colorpicker/ColorPalette';
import { ColorPalette } from './ColorPalette';
describe('CollorPalette', () => {
it('renders correctly', () => {
@@ -1,5 +1,5 @@
import React from 'react';
import { sortedColors } from 'app/core/utils/colors';
import { sortedColors } from '../../utils';
export interface Props {
color: string;
@@ -9,13 +9,13 @@ export interface Props {
export class ColorPalette extends React.Component<Props, any> {
paletteColors: string[];
constructor(props) {
constructor(props: Props) {
super(props);
this.paletteColors = sortedColors;
this.onColorSelect = this.onColorSelect.bind(this);
}
onColorSelect(color) {
onColorSelect(color: string) {
return () => {
this.props.onColorSelect(color);
};
@@ -0,0 +1,63 @@
import React from 'react';
import { storiesOf } from '@storybook/react';
import { withKnobs, boolean } from '@storybook/addon-knobs';
import { SeriesColorPicker, ColorPicker } from './ColorPicker';
import { action } from '@storybook/addon-actions';
import { withCenteredStory } from '../../utils/storybook/withCenteredStory';
import { UseState } from '../../utils/storybook/UseState';
import { getThemeKnob } from '../../utils/storybook/themeKnob';
const getColorPickerKnobs = () => {
return {
selectedTheme: getThemeKnob(),
enableNamedColors: boolean('Enable named colors', false),
};
};
const ColorPickerStories = storiesOf('UI/ColorPicker/Pickers', module);
ColorPickerStories.addDecorator(withCenteredStory).addDecorator(withKnobs);
ColorPickerStories.add('default', () => {
const { selectedTheme, enableNamedColors } = getColorPickerKnobs();
return (
<UseState initialState="#00ff00">
{(selectedColor, updateSelectedColor) => {
return (
<ColorPicker
enableNamedColors={enableNamedColors}
color={selectedColor}
onChange={color => {
action('Color changed')(color);
updateSelectedColor(color);
}}
theme={selectedTheme || undefined}
/>
);
}}
</UseState>
);
});
ColorPickerStories.add('Series color picker', () => {
const { selectedTheme, enableNamedColors } = getColorPickerKnobs();
return (
<UseState initialState="#00ff00">
{(selectedColor, updateSelectedColor) => {
return (
<SeriesColorPicker
enableNamedColors={enableNamedColors}
yaxis={1}
onToggleAxis={() => {}}
color={selectedColor}
onChange={color => updateSelectedColor(color)}
theme={selectedTheme || undefined}
>
<div style={{ color: selectedColor, cursor: 'pointer' }}>Open color picker</div>
</SeriesColorPicker>
);
}}
</UseState>
);
});
@@ -0,0 +1,114 @@
import React, { Component, createRef } from 'react';
import PopperController from '../Tooltip/PopperController';
import Popper, { RenderPopperArrowFn } from '../Tooltip/Popper';
import { ColorPickerPopover } from './ColorPickerPopover';
import { Themeable, GrafanaTheme } from '../../types';
import { getColorFromHexRgbOrName } from '../../utils/namedColorsPalette';
import { SeriesColorPickerPopover } from './SeriesColorPickerPopover';
import propDeprecationWarning from '../../utils/propDeprecationWarning';
type ColorPickerChangeHandler = (color: string) => void;
export interface ColorPickerProps extends Themeable {
color: string;
onChange: ColorPickerChangeHandler;
/**
* @deprecated Use onChange instead
*/
onColorChange?: ColorPickerChangeHandler;
enableNamedColors?: boolean;
withArrow?: boolean;
children?: JSX.Element;
}
export const warnAboutColorPickerPropsDeprecation = (componentName: string, props: ColorPickerProps) => {
const { onColorChange } = props;
if (onColorChange) {
propDeprecationWarning(componentName, 'onColorChange', 'onChange');
}
};
export const colorPickerFactory = <T extends ColorPickerProps>(
popover: React.ComponentType<T>,
displayName = 'ColorPicker',
renderPopoverArrowFunction?: RenderPopperArrowFn
) => {
return class ColorPicker extends Component<T, any> {
static displayName = displayName;
pickerTriggerRef = createRef<HTMLDivElement>();
handleColorChange = (color: string) => {
const { onColorChange, onChange } = this.props;
const changeHandler = (onColorChange || onChange) as ColorPickerChangeHandler;
return changeHandler(color);
};
render() {
const popoverElement = React.createElement(popover, {
...this.props,
onChange: this.handleColorChange,
});
const { theme, withArrow, children } = this.props;
const renderArrow: RenderPopperArrowFn = ({ arrowProps, placement }) => {
return (
<div
{...arrowProps}
data-placement={placement}
className={`ColorPicker__arrow ColorPicker__arrow--${theme === GrafanaTheme.Light ? 'light' : 'dark'}`}
/>
);
};
return (
<PopperController content={popoverElement} hideAfter={300}>
{(showPopper, hidePopper, popperProps) => {
return (
<>
{this.pickerTriggerRef.current && (
<Popper
{...popperProps}
referenceElement={this.pickerTriggerRef.current}
wrapperClassName="ColorPicker"
renderArrow={withArrow && (renderPopoverArrowFunction || renderArrow)}
onMouseLeave={hidePopper}
onMouseEnter={showPopper}
/>
)}
{children ? (
React.cloneElement(children as JSX.Element, {
ref: this.pickerTriggerRef,
onClick: showPopper,
onMouseLeave: hidePopper,
})
) : (
<div
ref={this.pickerTriggerRef}
onClick={showPopper}
onMouseLeave={hidePopper}
className="sp-replacer sp-light"
>
<div className="sp-preview">
<div
className="sp-preview-inner"
style={{
backgroundColor: getColorFromHexRgbOrName(this.props.color || '#000000', theme),
}}
/>
</div>
</div>
)}
</>
);
}}
</PopperController>
);
}
};
};
export const ColorPicker = colorPickerFactory(ColorPickerPopover, 'ColorPicker');
export const SeriesColorPicker = colorPickerFactory(SeriesColorPickerPopover, 'SeriesColorPicker');
@@ -0,0 +1,40 @@
import React from 'react';
import { storiesOf } from '@storybook/react';
import { ColorPickerPopover } from './ColorPickerPopover';
import { withKnobs } from '@storybook/addon-knobs';
import { withCenteredStory } from '../../utils/storybook/withCenteredStory';
import { getThemeKnob } from '../../utils/storybook/themeKnob';
import { SeriesColorPickerPopover } from './SeriesColorPickerPopover';
const ColorPickerPopoverStories = storiesOf('UI/ColorPicker/Popovers', module);
ColorPickerPopoverStories.addDecorator(withCenteredStory).addDecorator(withKnobs);
ColorPickerPopoverStories.add('default', () => {
const selectedTheme = getThemeKnob();
return (
<ColorPickerPopover
color="#BC67E6"
onChange={color => {
console.log(color);
}}
theme={selectedTheme || undefined}
/>
);
});
ColorPickerPopoverStories.add('SeriesColorPickerPopover', () => {
const selectedTheme = getThemeKnob();
return (
<SeriesColorPickerPopover
color="#BC67E6"
onChange={color => {
console.log(color);
}}
theme={selectedTheme || undefined}
/>
);
});
@@ -0,0 +1,75 @@
import React from 'react';
import { mount, ReactWrapper } from 'enzyme';
import { ColorPickerPopover } from './ColorPickerPopover';
import { getColorDefinitionByName, getNamedColorPalette } from '../../utils/namedColorsPalette';
import { ColorSwatch } from './NamedColorsGroup';
import { flatten } from 'lodash';
import { GrafanaTheme } from '../../types';
const allColors = flatten(Array.from(getNamedColorPalette().values()));
describe('ColorPickerPopover', () => {
const BasicGreen = getColorDefinitionByName('green');
const BasicBlue = getColorDefinitionByName('blue');
describe('rendering', () => {
it('should render provided color as selected if color provided by name', () => {
const wrapper = mount(<ColorPickerPopover color={BasicGreen.name} onChange={() => {}} />);
const selectedSwatch = wrapper.find(ColorSwatch).findWhere(node => node.key() === BasicGreen.name);
const notSelectedSwatches = wrapper.find(ColorSwatch).filterWhere(node => node.prop('isSelected') === false);
expect(selectedSwatch.length).toBe(1);
expect(notSelectedSwatches.length).toBe(allColors.length - 1);
expect(selectedSwatch.prop('isSelected')).toBe(true);
});
it('should render provided color as selected if color provided by hex', () => {
const wrapper = mount(<ColorPickerPopover color={BasicGreen.variants.dark} onChange={() => {}} />);
const selectedSwatch = wrapper.find(ColorSwatch).findWhere(node => node.key() === BasicGreen.name);
const notSelectedSwatches = wrapper.find(ColorSwatch).filterWhere(node => node.prop('isSelected') === false);
expect(selectedSwatch.length).toBe(1);
expect(notSelectedSwatches.length).toBe(allColors.length - 1);
expect(selectedSwatch.prop('isSelected')).toBe(true);
});
});
describe('named colors support', () => {
const onChangeSpy = jest.fn();
let wrapper: ReactWrapper;
afterEach(() => {
wrapper.unmount();
onChangeSpy.mockClear();
});
it('should pass hex color value to onChange prop by default', () => {
wrapper = mount(
<ColorPickerPopover color={BasicGreen.variants.dark} onChange={onChangeSpy} theme={GrafanaTheme.Light} />
);
const basicBlueSwatch = wrapper.find(ColorSwatch).findWhere(node => node.key() === BasicBlue.name);
basicBlueSwatch.simulate('click');
expect(onChangeSpy).toBeCalledTimes(1);
expect(onChangeSpy).toBeCalledWith(BasicBlue.variants.light);
});
it('should pass color name to onChange prop when named colors enabled', () => {
wrapper = mount(
<ColorPickerPopover
enableNamedColors
color={BasicGreen.variants.dark}
onChange={onChangeSpy}
theme={GrafanaTheme.Light}
/>
);
const basicBlueSwatch = wrapper.find(ColorSwatch).findWhere(node => node.key() === BasicBlue.name);
basicBlueSwatch.simulate('click');
expect(onChangeSpy).toBeCalledTimes(1);
expect(onChangeSpy).toBeCalledWith(BasicBlue.name);
});
});
});
@@ -0,0 +1,130 @@
import React from 'react';
import { NamedColorsPalette } from './NamedColorsPalette';
import { getColorName, getColorFromHexRgbOrName } from '../../utils/namedColorsPalette';
import { ColorPickerProps, warnAboutColorPickerPropsDeprecation } from './ColorPicker';
import { GrafanaTheme } from '../../types';
import { PopperContentProps } from '../Tooltip/PopperController';
import SpectrumPalette from './SpectrumPalette';
export interface Props<T> extends ColorPickerProps, PopperContentProps {
customPickers?: T;
}
type PickerType = 'palette' | 'spectrum';
interface CustomPickersDescriptor {
[key: string]: {
tabComponent: React.ComponentType<ColorPickerProps>;
name: string;
};
}
interface State<T> {
activePicker: PickerType | keyof T;
}
export class ColorPickerPopover<T extends CustomPickersDescriptor> extends React.Component<Props<T>, State<T>> {
constructor(props: Props<T>) {
super(props);
this.state = {
activePicker: 'palette',
};
warnAboutColorPickerPropsDeprecation('ColorPickerPopover', props);
}
getTabClassName = (tabName: PickerType | keyof T) => {
const { activePicker } = this.state;
return `ColorPickerPopover__tab ${activePicker === tabName && 'ColorPickerPopover__tab--active'}`;
};
handleChange = (color: any) => {
const { onColorChange, onChange, enableNamedColors, theme } = this.props;
const changeHandler = onColorChange || onChange;
if (enableNamedColors) {
return changeHandler(color);
}
changeHandler(getColorFromHexRgbOrName(color, theme));
};
handleTabChange = (tab: PickerType | keyof T) => {
return () => this.setState({ activePicker: tab });
};
renderPicker = () => {
const { activePicker } = this.state;
const { color, theme } = this.props;
switch (activePicker) {
case 'spectrum':
return <SpectrumPalette color={color} onChange={this.handleChange} theme={theme} />;
case 'palette':
return <NamedColorsPalette color={getColorName(color, theme)} onChange={this.handleChange} theme={theme} />;
default:
return this.renderCustomPicker(activePicker);
}
};
renderCustomPicker = (tabKey: keyof T) => {
const { customPickers, color, theme } = this.props;
if (!customPickers) {
return null;
}
return React.createElement(customPickers[tabKey].tabComponent, {
color,
theme,
onChange: this.handleChange,
});
};
renderCustomPickerTabs = () => {
const { customPickers } = this.props;
if (!customPickers) {
return null;
}
return (
<>
{Object.keys(customPickers).map(key => {
return (
<div
className={this.getTabClassName(key)}
onClick={this.handleTabChange(key)}
key={key}
>
{customPickers[key].name}
</div>
);
})}
</>
);
};
render() {
const { theme } = this.props;
const colorPickerTheme = theme || GrafanaTheme.Dark;
return (
<div className={`ColorPickerPopover ColorPickerPopover--${colorPickerTheme}`}>
<div className="ColorPickerPopover__tabs">
<div
className={this.getTabClassName('palette')}
onClick={this.handleTabChange('palette')}
>
Colors
</div>
<div
className={this.getTabClassName('spectrum')}
onClick={this.handleTabChange('spectrum')}
>
Custom
</div>
{this.renderCustomPickerTabs()}
</div>
<div className="ColorPickerPopover__content">{this.renderPicker()}</div>
</div>
);
}
}
@@ -0,0 +1,110 @@
import React, { FunctionComponent } from 'react';
import { Themeable, GrafanaTheme } from '../../types';
import { ColorDefinition, getColorForTheme } from '../../utils/namedColorsPalette';
import { Color } from 'csstype';
import { find, upperFirst } from 'lodash';
type ColorChangeHandler = (color: ColorDefinition) => void;
export enum ColorSwatchVariant {
Small = 'small',
Large = 'large',
}
interface ColorSwatchProps extends Themeable, React.DOMAttributes<HTMLDivElement> {
color: string;
label?: string;
variant?: ColorSwatchVariant;
isSelected?: boolean;
}
export const ColorSwatch: FunctionComponent<ColorSwatchProps> = ({
color,
label,
variant = ColorSwatchVariant.Small,
isSelected,
theme,
...otherProps
}) => {
const isSmall = variant === ColorSwatchVariant.Small;
const swatchSize = isSmall ? '16px' : '32px';
const selectedSwatchBorder = theme === GrafanaTheme.Light ? '#ffffff' : '#1A1B1F';
const swatchStyles = {
width: swatchSize,
height: swatchSize,
borderRadius: '50%',
background: `${color}`,
marginRight: isSmall ? '0px' : '8px',
boxShadow: isSelected ? `inset 0 0 0 2px ${color}, inset 0 0 0 4px ${selectedSwatchBorder}` : 'none',
};
return (
<div
style={{
display: 'flex',
alignItems: 'center',
cursor: 'pointer',
}}
{...otherProps}
>
<div style={swatchStyles} />
{variant === ColorSwatchVariant.Large && <span>{label}</span>}
</div>
);
};
interface NamedColorsGroupProps extends Themeable {
colors: ColorDefinition[];
selectedColor?: Color;
onColorSelect: ColorChangeHandler;
key?: string;
}
const NamedColorsGroup: FunctionComponent<NamedColorsGroupProps> = ({
colors,
selectedColor,
onColorSelect,
theme,
...otherProps
}) => {
const primaryColor = find(colors, color => !!color.isPrimary);
return (
<div {...otherProps} style={{ display: 'flex', flexDirection: 'column' }}>
{primaryColor && (
<ColorSwatch
key={primaryColor.name}
isSelected={primaryColor.name === selectedColor}
variant={ColorSwatchVariant.Large}
color={getColorForTheme(primaryColor, theme)}
label={upperFirst(primaryColor.hue)}
onClick={() => onColorSelect(primaryColor)}
theme={theme}
/>
)}
<div
style={{
display: 'flex',
marginTop: '8px',
}}
>
{colors.map(
color =>
!color.isPrimary && (
<div key={color.name} style={{ marginRight: '4px' }}>
<ColorSwatch
key={color.name}
isSelected={color.name === selectedColor}
color={getColorForTheme(color, theme)}
onClick={() => onColorSelect(color)}
theme={theme}
/>
</div>
)
)}
</div>
</div>
);
};
export default NamedColorsGroup;
@@ -0,0 +1,52 @@
import React from 'react';
import { storiesOf } from '@storybook/react';
import { NamedColorsPalette } from './NamedColorsPalette';
import { getColorName, getColorDefinitionByName } from '../../utils/namedColorsPalette';
import { withKnobs, select } from '@storybook/addon-knobs';
import { withCenteredStory } from '../../utils/storybook/withCenteredStory';
import { UseState } from '../../utils/storybook/UseState';
const BasicGreen = getColorDefinitionByName('green');
const BasicBlue = getColorDefinitionByName('blue');
const LightBlue = getColorDefinitionByName('light-blue');
const NamedColorsPaletteStories = storiesOf('UI/ColorPicker/Palettes/NamedColorsPalette', module);
NamedColorsPaletteStories.addDecorator(withKnobs).addDecorator(withCenteredStory);
NamedColorsPaletteStories.add('Named colors swatch - support for named colors', () => {
const selectedColor = select(
'Selected color',
{
Green: 'green',
Red: 'red',
'Light blue': 'light-blue',
},
'red'
);
return (
<UseState initialState={selectedColor}>
{(selectedColor, updateSelectedColor) => {
return <NamedColorsPalette color={selectedColor} onChange={updateSelectedColor} />;
}}
</UseState>
);
}).add('Named colors swatch - support for hex values', () => {
const selectedColor = select(
'Selected color',
{
Green: BasicGreen.variants.dark,
Red: BasicBlue.variants.dark,
'Light blue': LightBlue.variants.dark,
},
'red'
);
return (
<UseState initialState={selectedColor}>
{(selectedColor, updateSelectedColor) => {
return <NamedColorsPalette color={getColorName(selectedColor)} onChange={updateSelectedColor} />;
}}
</UseState>
);
});

Some files were not shown because too many files have changed in this diff Show More