Commit Graph

148 Commits

Author SHA1 Message Date
bugficks
7db848f153 [Feature request] MySQL SSL CA in datasource connector
https://github.com/grafana/grafana/issues/8570
2019-01-15 13:29:56 +01:00
Torkel Ödegaard
180ca021b5 Merge branch 'master' into develop 2018-12-05 10:17:22 +01:00
Marcus Efraimsson
624e5e5b3d
let each sql datasource handle timeFrom and timeTo macros 2018-11-30 14:30:02 +01:00
Erik Sundell
e635005626 add table support flag for mysql 2018-11-29 10:38:45 +01:00
Sven Klemm
9bb2b70a95 only look in current database in findMetricTable 2018-10-24 19:21:26 +02:00
Sven Klemm
261122ff4b sync mysql query editor template with postgres 2018-10-23 10:04:45 +02:00
Sven Klemm
fdaa153c95 add char as datatype for metric and group columns 2018-10-23 09:51:17 +02:00
Sven Klemm
7c8b4915c1 fix order for mysql, remove postgres specific code 2018-10-19 18:23:03 +02:00
Sven Klemm
8ce7e113d9 adjust meta data queries for mysql 2018-10-19 15:07:38 +02:00
Sven Klemm
aae21a631e fix references to postgres datatypes 2018-10-19 14:52:25 +02:00
Sven Klemm
215ca50cc1 make interpolateVariable arrow function 2018-10-19 10:19:33 +02:00
Sven Klemm
c4452ba335 Fix tslint errors 2018-10-18 20:01:40 +02:00
Sven Klemm
5d8826d034 Merge remote-tracking branch 'upstream/master' into mysql_query_builder 2018-10-18 19:28:52 +02:00
Marcus Efraimsson
79929c1f00
mysql: note about connection max lifetime and wait_timeout 2018-10-04 17:42:34 +02:00
Marcus Efraimsson
12230dfa71
ux: put connection limits under own section 2018-10-02 17:43:15 +02:00
Axel Pirek
dd09ece8c9 Make max open, max idle connections and connection max life time configurable 2018-10-02 13:42:06 +02:00
Sven Klemm
7c78b64a36 Document required order for time series queries (#13204) 2018-09-10 09:33:06 +02:00
Marcus Efraimsson
26756f86aa
Merge pull request #13148 from svenklemm/postgres-min-interval
Add min time interval support for SQL datasources
2018-09-06 14:05:39 +02:00
Sven Klemm
cb526d4557 Add min time interval to mysql and mssql 2018-09-05 12:02:57 +02:00
Torkel Ödegaard
432e203df1 Merge branch '12918-only-arrow-functions3' 2018-09-05 11:26:30 +02:00
Patrick O'Carroll
0f326f18dc changed functions to arrowfunctions for only-arrow-functions rule (#13127) 2018-09-04 15:55:41 +02:00
Patrick O'Carroll
19b7ad61dd Changed functions to arrow functions for only-arrow-functions rule. 2018-09-04 14:27:03 +02:00
Patrick O'Carroll
b8d82df97e added no-angle-bracket-type-assertion rule and updatet files to follow rule (#13115) 2018-09-03 11:30:44 +02:00
Sven Klemm
bcfb841cb4 pass timerange in meta data queries 2018-08-31 18:24:09 +02:00
Sven Klemm
cd708d6cb2 ignore information_schema tables 2018-08-31 16:52:26 +02:00
Patrick O'Carroll
abbb6f933c added jsdoc-format rule and fixed files that didn't follow new rule (#13107) 2018-08-31 16:40:43 +02:00
Sven Klemm
8d73f53e97 use quoting functions from MysqlQuery in datasource 2018-08-31 16:27:48 +02:00
Sven Klemm
390472aa99 render query from query builder 2018-08-31 15:40:58 +02:00
Marcus Efraimsson
41b5dae606
start implementing mysql query editor as a copy of postgres query editor 2018-08-30 16:52:12 +02:00
Patrick O'Carroll
a702603e7b changed var to const 2 (#13068)
* changed var to const

* fixed typo created in last commit

* added or empty object to options in prometheus/datasource
2018-08-29 14:27:29 +02:00
Torkel Ödegaard
9b978b7203
tslint: autofix of let -> const (#13033) 2018-08-26 17:14:40 +02:00
Marcus Efraimsson
313a8bd033
Merge pull request #12891 from svenklemm/unixepochgroup
add $__unixEpochGroup and $__unixEpochGroupAlias to sql datasources
2018-08-17 14:41:33 +02:00
Tobias Skarhed
a65589a5fb Rename test files 2018-08-14 10:52:41 +02:00
Sven Klemm
fbc67a1c64 add $__unixEpochGroup to mysql datasource 2018-08-13 12:17:05 +02:00
Sven Klemm
52c7edf2f4 rename last fillmode to previous 2018-08-07 21:11:51 +02:00
Sven Klemm
bfc66a7ed0 add fillmode "last" to sql datasource
This adds a new fill mode last (last observation carried forward) for grafana
to the sql datasources. This fill mode will fill in the last seen value in a
series when a timepoint is missing or NULL if no value for that series has
been seen yet.
2018-08-02 20:35:09 +02:00
Marcus Efraimsson
5cca478656
Merge pull request #12760 from svenklemm/postgres-timegroup
remove alias from postgres $__timeGroup macro

add $__timeGroupAlias macro to all sql datasources
2018-08-02 16:36:01 +02:00
Sven Klemm
82c473e3af document $__timeGroupAlias 2018-08-01 21:23:00 +02:00
Brice Maron
bb7e583863 fix custom variable quoting in sql* query interpolations 2018-08-01 20:32:50 +02:00
Sven Klemm
036647ae35 document metric column prefix in query editor 2018-07-27 17:18:45 +02:00
David
9595f992b9
Merge pull request #12496 from dehrax/12224-prostgres-ds
Karma to Jest: 3 data sources
2018-07-10 11:13:44 +02:00
Tobias Skarhed
74bf80962d Add mock to test files 2018-07-04 14:32:22 +02:00
Tobias Skarhed
962340bcd1 Create new instance in beforeEach 2018-07-04 14:32:22 +02:00
Tobias Skarhed
d4bd52139a Karma to Jest: MySQL datasource 2018-07-04 14:30:36 +02:00
Marcus Efraimsson
845724e8b9
update mysql/mssql query/annotation help sections 2018-06-29 20:39:06 +02:00
Mario Trangoni
e5e6bc56c8 public: fix codespell issues 2018-04-13 20:31:29 +02:00
Marcus Efraimsson
f5654f88e2 mysql: fix precision for the time column in table/annotation query mode
Use the ConvertSqlTimeColumnToEpochMs function to convert any native
datetime data type or epoch time (millisecond precision).
Refactored mysql implementation to make it more similar to postgres
and mssql implementations.
Added $__timeEpoch macro function with same implementation as $__time.
Added possibility to use a time column named time in addition to
the currectly supported time_sec.
Additional tests and update of existing.
Added test dashboard.
2018-03-22 15:40:46 +01:00
Daniel Lee
6fa46d9539 plugins: update meta data for all core plugins
So that the readme's can be published on Grafana.com
2018-02-15 16:50:38 +01:00
Carl Bergquist
fcca578f41 updates readmes for mysql and postgres (#10913)
ref #10813
2018-02-15 09:38:39 +01:00
Daniel Lee
1a019052d5 mysql: convert numbers to text for annotation tooltip 2018-01-18 11:50:16 +01:00
Torkel Ödegaard
27835f373e cleanup: removed unused typescript typings import 2018-01-04 10:12:02 +01:00
Torkel Ödegaard
3a1f52d8a2 prettier: ran on all files again, sorry. now settings are defined in package.json 2017-12-21 08:39:31 +01:00
Torkel Ödegaard
85879a7014 prettier: change to single quoting 2017-12-20 12:33:33 +01:00
Torkel Ödegaard
fadfc665e4 tech: ran pretttier on all typescript files 2017-12-19 16:06:54 +01:00
Sven Klemm
a62ebb3e59 mysql: pass timerange for template variable queries (#10071)
* mysql: pass timerange for template variable queries

* mysql: document time range macro usage in template variables

* mysql: docs for on time range change refresh mode for template queries

* Revert "mysql: docs for on time range change refresh mode for template queries"

This reverts commit 5325972aa4.
2017-12-07 11:18:36 +01:00
Sven Klemm
b6fafb13f5 always quote template variables for mysql when multi-value is allowed (#9712)
* always quote template variables for mysql when multi-value is allowed

* handle include all option similar to multi value

* declare type

* adjust tests to quoting change

* dont specify type but let it be inferred

* fix test for variable with includeAll
2017-10-31 12:23:50 +01:00
Daniel Lee
e541e60bc3 sql: remove title from annotation help
Fixes #9710
2017-10-29 20:03:23 +01:00
Sven Klemm
34da0711ab add __timeGroup macro for mysql (#9596)
* 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
2017-10-27 11:26:25 +02:00
Sven Klemm
56e53b8343 dont quote variables for mysql and postgres datasource (#9611) 2017-10-24 14:05:41 +02:00
Daniel Lee
d1c9760fa8 Postgres Data Source (#9475)
* 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
2017-10-10 15:19:14 +02:00
Daniel Lee
002b4d3403 mysql: fix interpolation for numbers in temp vars 2017-10-10 11:59:44 +02:00
Torkel Ödegaard
25aa9df270 Create annotations (#8197)
* annotations: add 25px space for events section

* annotations: restored create annotation action

* annotations: able to use fa icons as event markers

* annotations: initial emoji support from twemoji lib

* annotations: adjust fa icon position

* annotations: initial emoji picker

* annotation: include user info into annotation requests

* annotation: add icon info

* annotation: display user info in tooltip

* annotation: fix region saving

* annotation: initial region markers

* annotation: fix region clearing (add flot-temp-elem class)

* annotation: adjust styles a bit

* annotations: minor fixes

* annoations: removed userId look in loop, need a sql join or a user cache for this

* annotation: fix invisible events

* lib: changed twitter emoij lib to be npm dependency

* annotation: add icon picker to Add Annotation dialog

* annotation: save icon to annotation table

* annotation: able to set custom icon for annotation added by user

* annotations: fix emoji after library upgrade (switch to 72px)

* emoji: temporary remove bad code points

* annotations: improve icon picker

* annotations: icon show icon picker at the top

* annotations: use svg for emoji

* annotations: fix region drawing when add annotation editor opened

* annotations: use flot lib for drawing region fill

* annotations: move regions building into event_manager

* annotations: don't draw additional space if no events are got

* annotations: deduplicate events

* annotations: properly render cut regions

* annotations: fix cut region building

* annotations: refactor

* annotations: adjust event section size

* add-annotations: fix undefined default icon

* create-annotations:  edit event (frontend part)

* fixed bug causes error when hover event marker

* create-annotations:  update event (backend)

* ignore grafana-server debug binary in git (created VS Code)

* create-annotations: use PUT request for updating annotation.

* create-annotations: fixed time format when editing existing event

* create-annotations: support for region update

* create-annotations: fix bug with limit and event type

* create-annotations: delete annotation

* create-annotations: show only selected icon in edit mode

* create-annotations: show event editor only for users with at least Editor role

* create-annotations: handle double-sized emoji codepoints

* create-annotations: refactor

use CP_SEPARATOR from emojiDef

* create-annotations: update emoji list, add categories.

* create-annotations: copy SVG emoji into public/vendor/npm and use it as a base path

* create-annotations: initial tabs for emoji picker

* emoji-picker: adjust styles

* emoji-picker: minor refactor

* emoji-picker: refactor - rename and move into one directory

* emoji-picker: build emoji elements on app load, not on picker open

* emoji-picker: fix emoji searching

* emoji-picker: refactor

* emoji-picker: capitalize category name

* emoji-picker: refactor

move buildEmojiElem() into emoji_converter.ts for future reuse.

* jquery.flot.events: refactor

use buildEmojiElem() for making emojis, remove unused code for font awesome based icons.

* emoji_converter: handle converting error

* tech: updated

* merged with master

* shore: clean up some stuff

* annotation: wip tags

* annotation: filtering by tags

* tags: parse out spaces etc. from a tags string

* annotations: use tagsinput component for tag filtering

* annotation: wip work on how we query alert & panel annotations

* annotations: support for updating tags in an annotation

* linting

* annotations: work on unifying how alert history annotations and manual panel annotations are created

* tslint: fixes

* tags: create tag on blur as well

Currently, the tags directive only creates the tag when the
user presses enter. This change means the tag is created on
blur as well (when the user clicks outside the input field).

* annotations: fix update after refactoring

* annotations: progress on how alert annotations are fetched

* annotations: minor progress

* annotations: progress

* annotation: minor progress

* annotations: move tag parsing from tooltip to ds

Instead of parsing a tag string into an array in the annotation_tooltip
class, this moves the parsing to the datasources. InfluxDB ds already
does that parsing. Graphite now has it.

* annotations: more work on querying

* annotations: change from tags as string to array

when saving in the db and in the api.

* annotations: delete tag link if removed on edit

* annotation: more work on depricating annotation title

* annotations: delete tag links on delete

* annotations: fix for find

* annotation: added user to annotation tooltip and added alertName to annoation dto

* annotations: use id from route instead from cmd for updating

* annotations: http api docs

* create annotation: last edits

* annotations: minor fix for querying annotations before dashboard saved

* annotations: fix for popover placement when legend is on the side (and doubel render pass is causing original marker to be removed)

* annotations: changing how the built in query gets added

* annotation: added time to header in edit mode

* tests: fixed jshint built issue
2017-10-07 10:31:39 +02:00
Torkel Ödegaard
0c86241c5b Webpack (#9391)
* webpack poc, this is not going to work for plugins, dam

* tech: webpack and systemjs for plugins starting to work

* tech: webpack and systemjs combo starting to work

* tech: webpack + karma tests progress

* tech: webpack + karma progress

* tech: working on tests

* tech: webpack

* tech: webpack + karma, all tests pass

* tech: webpack + karma, all tests pass

* tech: webpack all tests pass

* webpack: getting closer

* tech: webpack progress

* webpack: further build refinements

* webpack: ng annotate fixes

* webpack: optimized build fix

* tech: minor fix for elasticsearch

* tech: webpack + ace editor

* tech: restored lodash move mixin compatability

* tech: added enzyme react test and upgraded to react v16

* tech: package version fix

* tech: added testdata to built in bundle

* webpack: sass progress

* tech: prod & dev build is working for the sass

* tech: clean up unused grunt stuff and moved to scripts folder

* tech: added vendor and manifest chunks, updated readme and docs

* tech: webpack finishing touches
2017-10-01 20:02:25 +02:00
Torkel Ödegaard
491fa6cad8 tech: more tslint rules 2017-09-21 17:23:31 +02:00
Torkel Ödegaard
b8d9722b4f tech: removing unused variables from typescript files, and making tslint rules more strict 2017-09-21 16:40:18 +02:00
Torkel Ödegaard
f8326c29f9 mysql: fix query editor not showing issue, fixes #9247 2017-09-14 20:30:01 +02:00
Torkel Ödegaard
f6100dd8eb ux: success/error alerts refactoring, #9214 2017-09-12 09:05:32 +02:00
Torkel Ödegaard
dda1cf1a88 Merge branch 'ace-editor' 2017-08-29 15:52:03 +02:00
Alexander Zobnin
f7ec8e0de0 Merge branch 'master' into ace-editor 2017-08-24 12:37:18 +03:00
Daniel Lee
649122b4fb mysqlds: add placeholder/typeahead for localhost connection strings
for the host field on the data source config page. Fixes #9046
2017-08-21 13:43:09 +02:00
Daniel Lee
02248273ae mysqlds: remove alpha state from plugin.json 2017-08-11 10:25:37 +02:00
Daniel Lee
b716a2595a mysqlds: add support for key/value template variables
If the template variable query has two columns named __text and __value
then return a list of key values. The value is used when the variable is
interpolated in the query. Allows mapping of texts to ids.
2017-08-10 14:42:27 +02:00
Daniel Lee
1105bb371f mysqlds: adds support for template variables
Fixes #8855
2017-08-09 19:32:53 +02:00
Torkel Ödegaard
80f5c914e8 ace: removed the old text areas 2017-08-09 11:06:21 +02:00
Torkel Ödegaard
68cac6ccb5 Merge branch 'master' into ace-editor 2017-08-09 10:51:31 +02:00
Alexander Zobnin
e0bbb74b0c code-editor: test editors for MySQL and prometheus 2017-08-08 18:42:26 +03:00
Brad Lhotsky
a8ac215039 Add a few more MySQL macros:
* $__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)
2017-08-08 14:40:27 +02:00
Denis Doria
41d300f69d Fix timeInterval for mysql datasource (#8651)
* Fix timeInterval for mysql datasource

This changes the > to >= and the < to <=, so the intervals are inclusive.
This should fix the #8635

* Fix validation
2017-06-19 08:58:22 -04:00
Daniel Lee
73cb035231 mysql: annotation support. Fixes #8382
Simple query editor - a text area with a Show Help section.
Validation for empty query and if the time_sec column is missing.
2017-05-23 09:53:20 +02:00
Torkel Ödegaard
7c50563f0f fix: fixed crash when gzip was enabled 2017-05-22 14:09:54 +02:00
Torkel Ödegaard
a64c06d02c mysql: add user permission notice mysql config view, closes #8359 2017-05-22 13:53:43 +02:00
Torkel Ödegaard
f976e465c4 mysql: minor improvement for table panel 2017-05-11 11:06:13 +02:00
Torkel Ödegaard
4ce0bf4d16 mysql: improved mysql data source, added test feature when adding data source, fixed cache issue 2017-05-11 10:50:24 +02:00
Torkel Ödegaard
2b029912aa mysql: query editor fix 2017-04-24 10:58:53 +02:00
Torkel Ödegaard
8f17a84f31 mysql: added basic templating support 2017-04-23 14:22:47 +02:00
Torkel Ödegaard
b22b3e5bb9 mysql: added default query template 2017-04-21 16:28:01 +02:00
Torkel Ödegaard
ea53e7221e mysql: added query help 2017-04-21 15:52:42 +02:00
Torkel Ödegaard
97e2d75f51 mysql: added support for tables in mysql queries 2017-04-21 15:07:43 +02:00
Torkel Ödegaard
c78c460f79 mysql: worked on mysql data soruce 2017-04-20 17:10:23 +02:00
Torkel Ödegaard
fc878bc8ad build: fixed order 2017-04-20 11:59:11 +02:00
Torkel Ödegaard
f1276774a0 typescript: updated tslint and fixed new warnings 2017-04-20 11:16:37 +02:00
Torkel Ödegaard
e164eba677 mysql: began work on backend macro engine 2017-04-19 10:10:08 +02:00
Torkel Ödegaard
1cd632cc43 plugins: added state property to plugins 2017-04-07 12:00:03 +02:00
Torkel Ödegaard
5af81b974e mysql: graph showing 2017-03-31 13:57:10 +02:00
Torkel Ödegaard
d6d2080f11 mysql: minor progress on response processing 2017-03-31 11:45:25 +02:00
Torkel Ödegaard
080d2a2054 mysql: reading arbitrary SQL data in go is really strange, data is only in strings? 2017-03-30 13:46:46 +02:00
Torkel Ödegaard
8f90c6115d mysql: progress on mysql data source 2017-03-29 22:54:18 +02:00
Torkel Ödegaard
1ecdf34938 sql: wip mysql stuff 2017-03-29 20:43:20 +02:00