- new builtin datasource plugin "Logging" (likely going to be renamed)
- plugin implements no panel ctrls yet, only ships datasource
- new models for logging data as first class citizen (aside from table
and time_series model)
- Logs as new view for Explore
- JSON view for development
Testable only against existing logish deployment.
Then test with queries like `{job="..."} regexp`.
* devenv: working on dev env setup & dashboards
* devenv: refactored testdata app to a built in datasource instead, and moved dashboards to a devenv provisioned dashboards
Adds a datasource selector to the Explore UI. Only datasource plugins
that have `explore: true` in their `plugin.json` can be selected.
- adds datasource selector (based on react-select) to explore UI
- adds getExploreSources to datasource service
- new `explore` flag in datasource plugins model
- Prometheus plugin enabled explore
- broken since 4d2dd2209
- `*` was previously working as a path matcher, but freezes browser when
used with new cache-busting plugin loader
- changed matcher to be `/*`
* Karma to Jest: datasource_srv
* Sort function differs between Karma and Jest
* Fix error based on .sort() implementation
* Remove Karma test
* alerting: only log when screenshot been uploaded
* Remove comments
* Karma to Jest: datasource_srv
* Sort function differs between Karma and Jest
* Fix error based on .sort() implementation
* Remove Karma test
* Remove comments
* Remove console.log
* Remove console.log
* Change sorting and add test for default data source
In some setups (ex openshift), the Datasource will require Grafana
to pass oauth token as header when sending queries.
Also, this PR allow to send any header which is something
Grafana currently does not support.
Experimental support for react in external plugins
- react
- slate (editor)
- papaparse (csv parsing)
- prismjs (syntax highlighting)
This is needed for new external datasource plugins like Flux
* everything imported via systemjs in the path `plugin/` will get a
timestamp appended for cache busting
* timestamp is set once on page load
* plugin css loader gets cache buster too
Changes access drop down options names:
- proxy -> Server (Default)
- direct -> Browser
Replace access drop down info icon/tooltip with expandable/collapsable
help section.
* enables overwrite if dashboard allready exist in folder
* dashboard: Don't allow creating a folder named General
* dashboards: update logic for save/update dashboard
No id and uid creates a new dashboard/folder.
No id and uid, with an existing title in folder allows overwrite
of dashboard.
Id without uid, allows update of existing dashboard/folder without
overwrite.
Uid without id allows update of existing dashboard/folder without
overwrite.
Id without uid, with an existing title in folder allows overwrite
of dashboard/folder and updated will have the uid of overwritten.
Uid without id, with an existing title in folder allows overwrite
of dashboard/folder and new will have the same uid as provided.
Trying to change an existing folder to a dashboard yields error.
Trying to change an existing dashboard to a folder yields error.
* dashboards: include folder id when confirmed to save with overwrite
* dashboards: fixes due to new url structure
Return importedUrl property in response to importing dashboards and
getting plugin dashboards and use this for redirects/links in the
frontend.
* ux: Add magnifying glass icon to search input and remove the text label (#10188)
* ux: Add new look on search field to manage dashboards, users, teams, data sources, plugins. Change to use our own icon class instead of .fa (#10188)
* ux: Add new search look on org/users (#10188)
* ux: Make new tabs responsive #10082
* ux: Add possibility to manipulate url in angular router outside of angular - and use it in the responsive navigation #10082
* tech: annotations refactor, add tests for regions processing
* tech: move d3 to npm and webpack, #9480
* tech: move color scale functions to separate module
* fix opacity legend rendering
Supports importing a module's contents with the
'* as module' syntax. The latest version of SystemJS turns
it off per default which broke several plugins.
I renamed `tlsAuth` to `tlsClientAuth` to better describe the fact that
this variable is used to enable TLS client authentication (as opposed to
server authentication) in c04d95f35.
However, changing the name breaks backwards compatibility for existing
installations using this feature and Grafana does not have a
standardised way of migrating changes in the schema:
https://github.com/grafana/grafana/pull/9377#issuecomment-333063543
For reasons of expediency given the severity of the bug (not verifying
TLS), keep the old name.
In c04d95f35 I changed the default for datasource HTTP requests so that
TLS is always verified.
This commit adds a checkbox to allow an admin to explicitly skip TLS
verification, for testing purposes.
* 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
* 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