Commit Graph
42 Commits
Author SHA1 Message Date
a111cc0d5c Stackdriver: Support for SLO queries (#22917)
* wip: add slo support

* Export DataSourcePlugin

* wip: break out metric query editor into its own component

* wip: refactor frontend - keep SLO and Metric query in differnt objects

* wip - load services and slos

* Fix broken test

* Add interactive slo expression builder

* Change order of dropdowns

* Refactoring backend model. slo unit testing in progress

* Unit test migration and SLOs

* Cleanup SLO editor

* Simplify alias by component

* Support alias by for slos

* Support slos in variable queries

* Fix broken last query error

* Update Help section to include SLO aliases

* streamline datasource resource cache

* Break out api specific stuff in datasource to its own file

* Move get projects call to frontend

* Refactor api caching

* Unit test api service

* Fix lint go issue

* Fix typescript strict errors

* Fix test datasource

* Use budget fraction selector instead of budget

* Reset SLO when service is changed

* Handle error in case resource call returned no data

* Show real SLI display name

* Use unsafe prefix on will mount hook

* Store goal in query model since it will be used as soon as graph panel supports adding a threshold

* Add comment to describe why componentWillMount is used

* Interpolate sloid

* Break out SLO aggregation into its own func

* Also test group bys for metricquery test

* Remove not used type fields

* Remove annoying stackdriver prefix from error message

* Default view param to FULL

* Add part about SLO query builder in docs

* Use new images

* Fixes after feedback

* Add one more group by test

* Make stackdriver types internal

* Update docs/sources/features/datasources/stackdriver.md

Co-Authored-By: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/datasources/stackdriver.md

Co-Authored-By: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/datasources/stackdriver.md

Co-Authored-By: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Updates after PR feedback

* add test for when no alias by defined

* fix infinite loop when newVariables feature flag is on

onChange being called in componentDidUpdate produces an
infinite loop when using the new React template variable
implementation.

Also fixes a spelling mistake

* implements feedback for documentation changes

* more doc changes

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
2020-03-27 12:01:16 +01:00
Erik Sundell 1cd7ce24c7 Stackdriver: Fix GCE auth bug when creating new data source (#22836)
* Fix test datasource for gce auth

* Cache gce default project locally

* Await gce default project call

* Remove reload functionality

* Fix build problem
2020-03-18 08:11:14 +01:00
Erik Sundell 5b7bb267cb Add info about project and reference a new image (#22719) 2020-03-11 19:53:52 +01:00
Erik Sundell 763fb3bc32 CloudWatch: Expand alias variables when query yields no result (#22695)
* Return empty time series with expanded aliases in case query yielded no results

* PR feedback
2020-03-10 21:14:58 +01:00
Erik Sundell cd012bdfb4 Fix caching problem (#22473) 2020-03-10 14:10:48 +01:00
Erik Sundell 5ad8a9722e UI: Segment improvements (#22601)
* Trigger onchange in case user has edited a custom option, and then clicked outside the react select dropdown

* The width of the label is calculated so that the react select input field could get the same width. However, the react select input font is slightly wider, so we need to make that width a little bit larget than the label.
2020-03-05 20:19:43 +01:00
Erik Sundell 0f8cfca4e6 surround CloudWatch dimension names with double quotes (#22222) 2020-03-05 14:15:45 +01:00
934a8f08ae Stackdriver: Project selector (#22447)
* clean PR #17366

* udpate vendor

* [WIP] Implement projects management for stackdriver

* [WIP] Implement projects management for stackdriver

* [WIP] Implement projects management for stackdriver

* Implement projects management for stackdriver

* [WIP][Tests] Fix errors

* clean anonymous struct

* remove await

* don't store project list

* Add default project on query editor

* gofmt

* Fix tests

* Move test data source to backend

* Use segment instead of dropdown. remove ensure default project since it's not being used anymore.

* Fix broken annotation editor

* Load gceDefaultAccount only once when in the config page

* Reset error message on auth type change

* Add metric find query for projects

* Remove debug code

* Fix broken tests

* Fix typings

* Fix lint error

* Slightly different approach - now having a distiction between config page default project, and project that is selectable from the dropdown in the query editor.

* Fix broken tests

* Attempt to fix strict ts errors

* Prevent state from being set multiple times

* Remove noOptionsMessage since it seems to be obosolete in react select

* One more attempt to solve ts strict error

* Interpolate project template variable. Make sure its loaded correctly when opening variable query editor first time

* Implicit any fix

* fix: typescript strict null check fixes

* Return empty array in case project endpoint fails

* Rename project to projectName to prevent clashing with legacy query prop

* Fix broken test

* fix: Stackdriver - template replace on filter label

should have a regex format as that escapes the dots
in the label name which is not valid.

Co-authored-by: Labesse Kévin <kevin@labesse.me>
Co-authored-by: Elias Cédric Laouiti <elias@abtasty.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
2020-03-02 09:31:09 -05:00
Erik Sundell 78b1ab8360 Fix formatting (#21894) 2020-02-04 14:16:56 +01:00
Erik Sundell 5166ffca33 Docs: Update CloudWatch and Stackdriver docs for 6.6 (#21679)
* Add info about meta data labels

* Add part about auto period calculations in cloudwatch

* Minor adjustments

* Updates after feedback

* Add more context

* Clarify what a metadata label is
2020-01-27 08:35:48 +01:00
Erik Sundell 296af36a6f Run query when region, namespace and metric changes (#21633) 2020-01-22 21:37:40 +01:00
Erik Sundell 685c9043a8 CloudWatch: Auto period snap to next higher period (#21659)
* Snap to next higher period instead of closest

* Adjust period calc
2020-01-22 13:43:36 +01:00
Erik Sundell a1733bb412 CloudWatch: Expand dimension value in alias correctly (#21626)
* Make sure dimension value is being returned, and not just label

* Fix typo
2020-01-20 18:51:32 +01:00
Erik Sundell 0e3a7b1a6f Fix merge problem (#21574) 2020-01-17 15:30:54 +01:00
Erik Sundell 8616f1beac Chore: Fix go vet problem (#21568) 2020-01-17 13:48:09 +01:00
Erik Sundell d40b66f1c1 CloudWatch: Calculate period based on time range (#21471)
* Calculate min period based on time range and no of queries

* Use hardcoded array of periods if period is not defined actively by the user

* Fix broken tests

* Use a smaller max period for auto interval

* Fix broken tests

* Test period calculation

* Test min retention period

* Fix broken test
2020-01-17 13:22:43 +01:00
Erik Sundell b398bc592b CloudWatch: Multi-valued template variable dimension alias fix (#21541)
* Match dimension value with label substring

* Add unit tests
2020-01-17 12:47:40 +01:00
Erik Sundell 260239d98b Stackdriver: Support meta labels (#21373)
* Rewrite angular segments for filter and group by in react

* wip: refactoring

* Update metric find queries

* Remove old maps used to create labels - use one map for all types instead

* Use value as label (again) for filters ang groupby

* Remove old filter

* Remove not used code

* Fixes after pr feedback

* Fix broken tests and add new metadata tests

* Add index file to make imports cleaner

* Cleanup. Remove old angular filter code

* Fix broken tests

* Use type switching instead of if statements

* Use globals for regex

* Updates after pr feedback

* Make sure it's possible to filter using the same key multiple times

* Replace metric select with segment component

* Pass template vars as props

* Refactor meta labels code

* Reorder template variables

* Fix broken tests

* Reset metric value when changing service

* Fix lint issue.

* Make tests independant of element order

* Include kubernetes.io in regex

* Add instruction in help section
2020-01-17 12:25:47 +01:00
Erik Sundell 20aac7f04b CloudWatch: Display partial result in graph when max DP/call limit is reached (#21533)
* Return data and warning in case dp limit is reached

* Change warning text
2020-01-17 11:18:28 +01:00
Erik Sundell a35b2ac463 CloudWatch: Annotation Editor rewrite (#20765)
* wip: react rewrite

* Cleanup

* Break out non annontations specific fields

* Cleanup. Make annontations editor a functional component

* Remove redundant classnames

* Add paneldata to props

* Cleanup

* Fix rebase merge problem

* Updates after pr feedback

* Fix conflict with master
2020-01-15 16:38:15 +01:00
Erik Sundell cf2dd51827 CloudWatch: dimension_values templating fix (#21401)
* Handle dimension value if passed as array

* Break out dimension value loading into its own func
2020-01-08 12:24:10 +01:00
Erik Sundell 0e4850f203 UI: Segment fixes (#20947)
* Add support for primitive values/onchange

* Fix segment clickaway bug

* Fix onchange

* Use primitive in cloudwatch

* Add placeholder

* Use placeholder in cloudwatch editor

* Fix lint error

* Fix lodash import

* Use new component story format

* Add support for autofocus

* Use selectable value for onchange event

* Fix lint error
2019-12-10 13:00:22 +01:00
Erik Sundell 93ab0532c7 Make sure datasource variable is being used everywhere (#20917) 2019-12-09 11:35:26 +01:00
Erik Sundell 6f468c670a UI: Segment Input change (#20925)
* Add input segment

* Rename story

* Cleanup

* Fix lint error

* More cleanup

* Use measure text util

* Keep value in local state
2019-12-06 11:50:45 +01:00
Erik Sundell 047abc87c2 UI: Segment Input (#20904)
* Add input segment

* Rename story

* Cleanup

* Fix lint error

* More cleanup

* Export ui component

* Use measure text util
2019-12-06 10:24:34 +01:00
Erik Sundell a533e00622 Remove escaping of \ ( ) characters (#20915) 2019-12-06 09:59:33 +01:00
Erik Sundell 9d9f0e1b8c Remove false positive error message for expression and id field (#20864) 2019-12-05 18:38:40 +01:00
Erik Sundell e0229045f2 UI: Use SelectableValue as Segment value (#20867)
* Use SelectableValue for segment value

* Update cloudwatch components to use new segment props
2019-12-04 13:55:23 +01:00
Erik Sundell 116b6188a6 CloudWatch: Region template query fix (#20661)
* Make region an optional parameter

* Test region template query
2019-11-27 17:06:11 +01:00
Erik Sundell 2929649fd4 CloudWatch: Annotations query editor loading fix (#20687)
* Re-adding lost import

* Make sure wildcard is not in annotations editor
2019-11-27 11:48:58 +01:00
Erik Sundell a4a9715237 CloudWatch: Docs updates after feedback (#20643)
* Docs updates after feedback

* Update upgrading doc

* Remove line break
2019-11-25 19:00:31 +01:00
Erik Sundell 161f481f12 Docs: CloudWatch docs fixes (#20609)
* Updates after feedback

* docs: remove br tag in whats new
2019-11-23 13:01:55 +01:00
Erik Sundell de94298d3a Cloudwatch: Docs improvements (#20100)
* Add Service Quota part

* Update docs after pr feedback

* Describing new features

* Divide into subheaders

* Changes after feedback

* cloudwatch: add min time interval section to docs

* docs: json format fix

* cloudwatch: move min time interval section in docs

* cloudwatch: docs fix

* docs: cloudwatch fixes

* docs: s/you are/you're

* docs: Cloudwatch - escapes underscores in tables
2019-11-22 14:51:35 +01:00
Erik Sundell 83fa91b1f4 Changelog: Reference a few more issues that were fixed (#20562)
* Reference a few more issues that were fixed

* Remove dashboard entry - it will be added automatically
2019-11-21 16:53:24 +01:00
Erik Sundell 22edacd4a8 Update dashboards (#20486) 2019-11-21 10:46:15 +01:00
Erik Sundell 359416b89f Cloudwatch: Fix LaunchTime attribute tag bug (#20237)
* Cast tags of type Time to string

* Fig go lint issue
2019-11-21 09:20:44 +01:00
Erik Sundell 49685a92fd What's new in 6.5 - adding CloudWatch topics (#20497)
* Adding cloudwatch related stuff - images will come later on

* Changes after pr feedback

* Add images

* Update image path

* Remove react migration part - might not be so interesting for our users

* Removing part about curated dashboards since it's not released yet - will be re-added later on
2019-11-20 18:36:46 +01:00
Erik Sundell ec18e2bfc3 CloudWatch: Remove HighResolution toggle since it's not being used (#20440)
* Remove highres flag since it's not being used

* Remove not used code. Init id field correctly

* Fix broken tests

* Remove GMS related calculations

* Rename period field

* Add breaking changes to changelog. Also update upgrading docs

* Update snapshot

* Update docs after feedback

* Changes after feedback
2019-11-20 13:34:44 +01:00
Erik Sundell 38d5abfadb CloudWatch: Make sure period variable is being interpreted correctly (#20447)
* Make sure variable is interpreted before parsing int

* Use correct datatype in tests
2019-11-19 12:36:50 +01:00
Erik Sundell 00bef917ee CloudWatch: Datasource improvements (#20268)
* CloudWatch: Datasource improvements

* Add statistic as template variale

* Add wildcard to list of values

* Template variable intercept dimension key

* Return row specific errors when transformation error occured

* Add meta feedback

* Make it possible to retrieve values without known metrics

* Add curated dashboard for EC2

* Fix broken tests

* Use correct dashboard name

* Display alert in case multi template var is being used for some certain props in the cloudwatch query

* Minor fixes after feedback

* Update dashboard json

* Update snapshot test

* Make sure region default is intercepted in cloudwatch link

* Update dashboards

* Include ec2 dashboard in ds

* Do not include ec2 dashboard in beta1

* Display actual region
2019-11-14 10:59:41 +01:00
Erik Sundell 69691fbd6e Add data link from panel to cloudwatch console (#20061)
* Add data link from panel to cloudwatch console

* Change conf variable name

* Fixes according to pr feedback

* Cleanup. Fix broken tests
2019-10-29 17:02:55 +01:00
Erik Sundell 88051258e9 Azure Monitor: Add support for cross resource queries (#19115)
* Add new query mode picker with different states for each query. Also really simple migration script

* Populate cross resource dropdowns

* Cleanup. Handle change events

* Add multi select picker for subscriptions

* Fix markup issue

* Prepare for new query mode

* More cleanup

* Handle multiple queries both in ds and backend

* Refactoring

* Improve migration

* Add support for multiselect display name

* Use multiselect also for locations and resources

* Add more typings

* Fix migrations

* Custom multiselect built for array of options instead of variables

* Add url builder test

* fix datasource tests

* UI fixes

* Improve query editor init

* Fix brokens tests

* Cleanup

* Fix tslint issue

* Change query mode display name

* Make sure alerting works for single queries

* Friendly error for multi resources

* Add temporary typings
2019-09-17 11:35:40 +02:00