* cloudwatch: fix ebs_volume_ids by create a client-session before call ec2:DescribeInstances.
* cloudwatch: add support for multi instanceIds on call ebs_volume_ids.
* master: (117 commits)
fix: share snapshot controller was missing ngInject comment, fixes#10511
Use URLEncoding instead of StdEncoding to be sure state value will be corectly decoded (#10512)
Optimize metrics and notifications docs
Optimize cli and provisioning docs
docs: Guide for IIS reverse proxy
changelog: adds note about closing #9645
telegram: Send notifications with an inline image
telegram: Switch to using multipart form rather than JSON as a body
telegram: Fix a typo in variable name
fix: alert list pause/start toggle was not working properly
fix template variable selector overlap by the panel (#10493)
dashboard: Close/hide 'Add Panel' before saving a dashboard (#10482)
fix: removed unused param
Fix variables values passing when both repeat rows and panels is used (#10488)
moved angular-mocks out of dependencies
ux: minor change to alert list page
ux: minor word change to alert list
fix: updated snapshot test
Add eu-west-3 in cloudwatch datasource default's region (#10477)
fix: Make sure orig files are not added to git again #10289
...
* master: (48 commits)
fix: unit test fixed
prettier: change to single quoting
ux: minor name change to search sections
db: fix postgres regression when comparing boolean columns/values (#10303)
dashboard: delete row improvements
fix missing comma in documentation output example
fix broken link (#10291)
minor fixes and formatting after review
dashfolders: use validation service for folder creation and dashboard import. #10197
dashfolders: support creating new folder when moving dashboards. #10197
dashfolders: support creating new folder when saving a dashboard. #10197
dashfolders: support creating new folder in dashboard settings. #10197
dashfolders: support creating new folder from the folder picker. #10197
tech: ran prettier on all scss files
tech: ran pretttier on all typescript files
search: closes dash search when selecting current dashboard (#10285)
fix: Original dashboard link from snapshot should be an a-tag, not a button (#10269) (#10283)
dashboard: fixes#10262
added new to new dahsboard and folder
test: Update test with new component signature
...
* master: (584 commits)
prometheus: change default resolution to 1/1
fix: viewers can edit now works correctly
fix: fixed minor ux and firefox issues, fixes#10228
ux: minor fixes
profile: use name or fallback for profile page
fix: sidemenu profile main text is now username instead of name
build: update master version to 5.0.0-pre1
dashfolder: change to migration text
ux:s sidemenu icon rules
teams: add team count when searching for team
changed background color for infobox and new blues in light theme, light theme now uses blue-dark in panel query (#10211)
ux: fixed navbar issue when sidemenu closes
ux: minor position change for layout selector, fixes#10217
fix: view json from share modal now works, #10217
ux: used new add data sources icon
dashfolders: styling of selected filters
dashfolders: styling of selected filters
dashfolders: fix moving plugin dashboard to folder
changelog: adds note about closing #9170
dashfolders: fix folder selection dropdown in dashboard settings
...
* master:
changelog: adds note about closing #10131
Explicitly specify default region in CloudWatch datasource (#9440)
wait for all sub routines to finish
changelog: adds ntoe about closing #10111
postgres: change $__timeGroup macro to include "AS time" column alias (#10119)
fixes broken test
Solves problem with Github authentication restriction by organization membership when the organization's access policy is set to "Access restricted". "Access restricted" policy should not stop user to authenticate.
The datasource uses the default region in the query if the region
is "" in the settings. However setting the region to an empty string
is almost impossible and rendered incorrectly.
This commit introduces a special value "default" for region which
is shown in the drop down and is translated to the default region
of the data source when performing queries.
Alerting for prometheus have been depending on the step parameter from each query.
In https://github.com/grafana/grafana/pull/9226 we changed the behavior for step in the
frontend which caused problems for alerting. This commit fixes that by introducing a default
min interval value so alerting always have something to depend on.
closes#9777
* add __timeGroup macro for mysql
* put example __timeGroup query in frontend help
* do __timeGroup interval parsing in go similar to mysql
* ignore whitespace around interval
* modify $__timeGroup macro so it can be used in select clause
* fix $__interval_ms for postgres datasource
* use $__timeGroup macro in documentation
* fix annotation template query
remove title since its no longer used and add tags instead
* change __timeFilter macro to work on postgresql < 8.1 and redshift
* add postgresql datasource
* add rest of files for postgres datasource
* fix timeseries query, remove unused code
* consistent naming, refactoring
* s/mysql/postgres/
* s/mysql/postgres/
* couple more tests
* tests for more datatypes
* fix macros for postgres
* add __timeSec macro
* add frontend for postgres datasource
* adjust documentation
* fix formatting
* add proper plugin description
* merge editor changes from mysql
* port changes from mysql datasource
* set proper defaultQuery for postgres
* add time_sec to timeseries query
accept int for value for timeseries query
* revert allowing time_sec and handle int or float values as unix
timestamp for "time" column
* fix tslint error
* handle decimal values in timeseries query
* allow setting sslmode for postgres datasource
* use type switch for handling data types
* fix value for timeseries query
* refactor timeseries queries to make them more flexible
* remove debug statement from inner loop in type conversion
* use plain for loop in getTypedRowData
* fix timeseries queries
* adjust postgres datasource to tsdb refactoring
* adjust postgres datasource to frontend changes
* update lib/pq to latest version
* move type conversion to getTypedRowData
* handle address types cidr, inet and macaddr
* adjust response parser and docs for annotations
* convert unknown types to string
* add documentation for postgres datasource
* add another example query with metric column
* set more helpful default query
* update help text in query editor
* handle NULL in value column of timeseries query
* add __timeGroup macro
* add test for __timeGroup macro
* document __timeGroup and set proper default query for annotations
* fix typos in docs
* add postgres to list of datasources
* add postgres to builtInPlugins
* mysql: refactoring as prep for merging postgres
Refactors out the initialization of the xorm engine and the query logic
for an sql data source.
* mysql: rename refactoring + test update
* postgres:refactor to use SqlEngine(same as mysql)
Refactored to use a common base class with the MySql data source.
Other changes from the original PR:
- Changed time column to be time_sec to allow other time units in the
future and to be the same as MySQL
- Changed integration test to test the main Query method rather than
the private transformToTable method
- Changed the __timeSec macro name to __timeEpoch
- Renamed PostgresExecutor to PostgresQueryEndpoint
Fixes#9209 (the original PR)
* postgres: encrypt password on config page
With some other cosmetic changes to the config page:
- placeholder texts
- reset button for the password after it has been encrypted.
- default value for the sslmode field.
* postgres: change back col name to time from time_sec
* postgres mysql: remove annotation title
Title has been removed from annotations
* postgres: fix images for docs page
* postgres mysql: fix specs
The generated queries when selecting multiple tags are incorrect. In
InfluxQL, `AND` has a higher precedence than `OR` so the condition:
WHERE "hostname" = 'server1' OR "hostname" = 'server2' AND time > now() - 5m
This is parsed as if it were:
WHERE "hostname" = 'server1' OR ("hostname" = 'server2' AND time > now() - 5m)
But the intention is to write a query like this:
WHERE ("hostname" = 'server1' OR "hostname" = 'server2') AND time > now() - 5m
This change modifies the generated query so it surrounds a query with
multiple conditions in parenthesis so it doesn't conflict with the time
expression in an unexpected way.
This is currently not an issue because InfluxDB doesn't actually
evaluate the condition for the time expression correctly. It just looks
through the AST for anything that looks like a time expression and then
assumes the proper format of `AND` was used rather than validating that
it was used correctly.
Raw query results would return as expected. But when appending new series to pointsBySeries map, order of keys is random. So I've added a list to keep track of series order. Should implement FIFO rules.
* $__timeFrom() -> Returns the dashboard 'from' suitable for use querying
against a MySQL TIMESTAMP field.
* $__timeTo() -> Returns the dashboard 'to' suitable for use querying
against a MySQL TIMESTAMP field.
* $__unixEpochFiler(column) -> If you store timestamps as UNIX epoch's,
this builds: column > 'from' AND column < 'to'
* $__unixEpochFrom() -> Returns the dashboard 'from' suitable for use querying
against a MySQL integer field (UNIX epochs)
* $__unixEpochTo() -> Returns the dashboard 'to' suitable for use querying
against a MySQL integer field (UNIX epochs)
* Fix timeInterval for mysql datasource
This changes the > to >= and the < to <=, so the intervals are inclusive.
This should fix the #8635
* Fix validation
Remove 5 lines from the codebase and an unecessary function,
by calling `strings.Replace` with -1 for the fourth argument.
A better alternative to what was merged in #8037
* fix(alerting): fixed evaluation for no_value condition, fixes#7244
* feat(alerting): moving null library into grafana, fixing handling on no value / no series
* tech(routines): move the async logic from notification to alerting notifier
* tech(notification): reduce code dupe
* fix(notification): dont touch the response unless its an error
* feat(alerting): make alerting exeuction async but flow sync
* tech(alerting): remove commented code
* tech(alerting): remove unused code
* tech(alerting): fix typo
* tech(alerting): implement Context on EvalContext
* tech(alerting): wait for all alerts to return
* feat(alerting): dont allow alert responses to cancel
* Revert "feat(alerting): dont allow alert responses to cancel"
This reverts commit 324b006c96.
* feat(alerting): give alerts some time to finish before closing down