- Add using window functions instead of
runningDifference
andneighbor
for macros, to avoidallow_deprecated_error_prone_window_functions
, fix #572 - Add public coverage report summary, fix #660
- Add support DateTime(timezone) types to Annotations query, fix #642
- Add single stat panel with categories, fix #403
- Add log context windows size to connection settings, fix #657
- Add
X-ClickHouse-SSL-Certificate-Auth
support, fix #580 - Add
$columnsMs
macro, fix #430
- Add transposed table example, fix #404
- Add dynamic filters to logs panel labels, fix #487, #672
- Allow change SQL for adhoc queries which select values, default query could be slow for generic use cases, depends on data, fix #330
- Allow change log context window size for Logs panel in Query Editor, fix #652
- Add coverage report, current line coverage is ~80%, fix #663
- Add logs context window size to default values in connection settings, fix #670
- Add
copy
button toGenerated SQL
area, fix #659 - Add support for the float and timestamp64(X) timestamps fix #626, fix #371
- Resolve security dependabot alerts remove unused cypress/e2e test
- extrapolation works properly on NaN
- e2e test cover more use cases
- implements support custom http headers in alerts, fix #483, thanks @addshore
- improve Logs support add Log Context and Log adhoc filters, fix #646
- improve support DateTime(timezone) more consistent, fix #625
- switch to go 1.23
- add more e2e test for unified and legacy alerts
- made e2e tests more stable
- fix corner case in AST parsing to properly count open and close brackets, fix #648
- fix bug in connection settings, when turn on
default values
, then Default field values drop down selectors do not work with BasicAuth, fix #624, #632 - fix bug in connection settings, when turn on
default values
, then Default field values drop down doesn't show DateTime64 fields, fix #630
- fix default values in connection editor behavior when changing fields, also change URL, fix #615
- improve e2e tests, more scenarios covered
- if query is filled then switched to Query Editor instead of Query Settings, fix #605
- remove
information_schema
from adhoc system.columns drop down query - fix issues with
use defaul values
option in connection settings dialog, fix #600 - fix query reset error when edit multiple queries panel, fix #604
- properly handle empty response with 502 status code, fix #595
- fix wrong time series conversion when custom GROUP BY clause, fix #583
- add ability to setup default values for query builder in connection properties to avoid unnecessary duplicated UI actions, fix #495
- add example dashboard for Histogram support, fix #497
- add properly visualization for Map and JSON ClickHouse types, fix #486 and #189
- add e2e test which cover basic happy path scenarios
- fixed wrong time range reset after query editing in explore mode, fix #566
- fixed wrong behavior for $columns + subqueries, fix #565
- fixed wrong encoding messages in golang part of plugin
- fixed wrong screenshots reference in plugin.json
- fixed wrong alerts query editor behavior, fix #560 (affected 3.1.0)
- fixed syntax highlight when auto-complete items sql query failed, fix #559
- fixed drop-down fields values clean when datasource changed #561
- add additional auto-complete functions the same as
clickhouse-client
, fix #509 - add support for Flamegraph and Tracing, fix #508
- enhanced support for Annotations Query builder.
- added support for HTTP Compression in Connection Settings, fix #494
- switched to go 1.22
- updated README with grafana 10 screenshots
- added $rateColumnsAggregated, $perSecondsColumnsAggregated, $increaseColumnsAggregated, $deltaColumnsAggregated macros for aggregating per-second rates - fix #386
- added
Add metadata
option which added SQL comment to allow detection which dashboard and user is source of query on ClickHouse server side, fix #435
- fixed support grafana cloud fix #517, fix #516
- multiple UI fixes for QueryEditor component, fix #551, #546, #555, #547, #540, #542,
- fixed tlsSkipVerify was ignored when empty tlsCARoot or tlsClientCert and tlsClientKey, fix #532
- fixed multiple issues for format
As table
, fix #515, #529 - fixed Annotations setup page don't contain Query textfield, fix #518
- refactored processing macros and whole query on client side, fix #524
- fixed legacy alerting when use $from and $to macros in query, fix #458
- fixed corner case for WHERE field IN ('value1','value2') vs WHERE field IN ['value1','value2'], fix #506
- fixed corner case for $conditionalTest macro, fix #524
- rewrite plugin from scratch for Grafana 10+ compatibility using react instead of angular
- if you provision datasource from YAML, now
xHeaderKey
move fromjsonData
tosecureJsonData
, and you need to adddataSourceUrl
tojsonData
, look #348 anddocker/grafana/provisioning/datasources/clickhouse-x-auth.yaml
for details
- switch to go 1.21
- fix
$conditionalTest
macro behavior when drop-down template variable doesn't haveAll value
, haveMulti value
and zero values is selected, fix #485 - fix some function descriptions in ACE query editor
- add secureJsonData description for datasource in README, fix #452
- add $delta, $deltaColumns, $increase, $increaseColumns, fix #455
- add CGO_ENABLED=0 when build plugin, fix #447
- add Node graph example, fix #352
- properly escaping database and table identifiers on client-side, fix #440, add more tests
- Switch to go1.19, update go package dependencies
- properly escaping database and table identifiers, fix #440
- Add support for Logs visualization, fix #331, thanks @Fiery-Fenix and @pixelsquared
- Add $conditionalTest to editor auto-complete
- Add support $__searchFilter to template variable queries, fix #354
- Add allow sub-seconds time resolution with $timeSeriesMs and $timeFilterMs support, fix #344, fix #398
- Expand template variable values when open context menu
Explore
, fix #346
- remove legacy binaries in dist folder, fix #419
- allow Nullable types in alert label name in backend part, fix #405
- remove INFORMATION_SCHEMA from adhoc control, fix #426
- legacy binaries in dist folder after 2.4.4 release plugin name changed, fix #419
- resolve corner case for
SELECT x IN (SELECT ...)
, fix #421 - tested textbox variables with
${variable:sqlstring}
format, fix #125
- replace Vertamedia Altinity logo
- change ClickHouse logo to Altinity logo
- fix unified alerts interval #400
- update dependencies, try to fix critical nodejs dependencies issues
- fix unnecessary warning Logging message on backend part
- fix #366
- fix #357
- fix #345
- fix #342
- fix #385
- fix #317
- fix #336
- fix #320
- fix #326
- Add support for Grafana 8.x unified alerts, fix #380
- Add TLS support for backend alerts part of plugin #356 (comment)
- Add $naturalTimeSeries macro, look details in https://github.com/Altinity/clickhouse-grafana/pull/89/files#diff-cd9133eda7b58ef9c9264190db4534a1be53216edbda9ac57256fbd800368c03R383-R412
- Update golang-plugin-sdk-go to latest version
- Properly format Value in Table format, look details #379
- Remove toDateTime64 casting for column when time column is already DateTime64 to improve performance. Change test to ensure the casting is removed from the query, fix #360
- implements
$timeFilter64ByColumn(column_name)
macro, fix #343
- implements properly GET and POST support for alert queries, fix #353
- SQL syntax highlight now works always, fix #174, fix #381
- fix #376,
- fix negative behavior for $perSecondColumns #337
- fix #374, ignore
--
inside quotas as comment
- On latest Grafana 7.x releases, template variables SQL queries shall return only scalar types of values, see #328
- add support Apple M1 ;)
- switch to new grafana plugin Golang SDK, thanks to @bmanth60 and @valeriakononenko for help
- add BasicAuth support for alerts, see #267
- fix github actions backend build
- fix UNION ALL parsing, see #319
- fix many issues with alerting
- automate plugin sign process via github actions, fix wrong executable file permissions
- add region support to annotation query, try to fix wrong column orders for table format, fix #303
- add plugin sign process, fix #212
- add
DateTime64
support, fix #292 - add
linux\arm64
backend plugin build - improve ARRAY JOIN parsing, fix #284
- improve
docker-compose.yaml
add ability to redefineGRAFANA_VERSION
andCLICKHOUSE_VERSION
via environment variableslatest
by default
- add
*.js.map
and*.js
from src and spec folder to .gitignore - don't apply adhoc filters twice when used $adhoc macros, fix #282
- fix corner case for table format with wrong columns order between meta and data response section, fix #281
- add trickster to docker-compose environment
- actualize links in README.md
- add "Skip comments" checkbox to query editor to pass SQL comments to server, fix #265
- add setup notes for Grafana 7.x to README
- add SQL preprocessing logic on browser side with <% js code subset %>, #186, thanks @fgbogdan
- improve alerts query processing for use case when
query(query_name, from, to)
time range is less than visible dashboard time range, see #237 - improve alerts json parsing in golang part for case when we have string fields in response which interprets as series name, see #230
- properly parsing POST queries in golang part of plugin, #228, thanks @it1804
- fix corner cases for $macro + subquery, see #276 and #277
- fix parallel query execution, see #273
- fix identifiers quotes, see #276, #277
- fix plugin.json for pass
grafana-plugin-repository
plugin validator - fix multi-value variables behavior - #252
- add Vagrantfile for statefull environment and allow to upgrade scenario like grafana 7.1.0 + grafana-cli upgrade-all
- add multiple dashboard examples for github issues:
- add alerts support for Windows and MacOSX
- improve ad-hoc filters for query field values as
SELECT DISTINCT field AS value FROM db.table LIMIT 300
, #222 - add ability to multiple JOIN parsing #206
- multiple improvements for docker-compose environments, add automatic dashboards and datasource provisions which help to reproduce most of the corner cases which happens in Grafana + ClickHouse
- apply a workaround for UTC timezone for Date and DateTime columns in grafana dashboards #117
- clear documentation about timestamp term for $from and $to #115
- fix AST parsing corner case in
WHERE [test, 'test']
"," was skipped, fix ah-doc ast FROM recursive parsing #99 - fix corner cases for table functions parsing when adhoc filter applied #130
- fix multiple grammar issues in README.md
- fix convert rules for Float, Decimal columns from Clickhouse to Grafana Table plugin #199
- fix corner cases when Grafana Template variable value represented as array of strings #169
- fix AST parsing corner cases for $macroFunctions correct position for FROM statement #187
- fix golang alerts for $columns, $perSecond, $perSecondColumns macros #200
- compatibility with grafana 7.x, please use environment variable
GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=vertamedia-clickhouse-datasource
orallow_loading_unsigned_plugins=vertamedia-clickhouse-datasource
in plugins section ofgrafana.ini
#192 - add grafana 7.x alerting support thanks to Brian Thai https://github.com/bmanth60
- add alias support to $perSecondColumns macro #193
- Support
custom
variable type and empty values for$conditionalTest
macro #178 - add docker-compose.yaml to improve local development
- fix AST for corner case when quotes escaped inside quotes #123, #195
- fix #179, add "Extrapolation" checkbox to Query Editor
- Comments not supported by sql language parser #95
- Ad Hoc Filters small adjustments for numeric values
- UI optimizations within Metric builder
- Ad Hoc Filters improvements for complex usage
- Compatibility fix to support grafana 6.4.x
- Ad Hoc Filters fix
- $conditionalTest ALL value option fix
- Add macro
conditionalTest
(thx to @TH-HA) #122 - Add support for connect to Yandex.Cloud ClickHouse (thx to @negasus) #106
- Fix identifier back quoting when there is a function call
- Fix AST parser errors for quotes (thx to @Fiery-Fenix) #128
- Added default database to all requests from datasource options (thx to @Fiery-Fenix) #126
- Drop lodash fcn composition (thx to @simPod) #110
- Cleanup build (thx to @simPod) #112
- Add
timeFilterByColumn
macro (thx to @simPod) #68
- add requestId to queries so that abandoned one are cancelled (thx to @nvartolomei)
- bug with parentheses in
$unescape
macros #90 - bug with treating string as numbers in table view #97
- new $perSecond and $perSecondColumns macros (thx to @simPod) #78 #80
- Date column is now optional #48
- extend queried timerange for queries with round option to provide a graph without gaps in the rightmost and leftmost points #84
- adhocs: check whether it is possibly to apply filters by comparing with parsed query or query builder settings #86
- provide $adhoc macros for using ad-hoc filters in inner queries (thx to @vavrusa)
- allow to set custom query for ad-hoc filter via
adhoc_query_filter
variable - provide new
Round
value$step
for auto-rounding according to graph resolution changes
- annotations support (txh to @atsirin)
- allow to use
$from
and$to
macroses in variable queries - provisioning config example in README
- optimize memory use for range time series (thx to @vavrusa)
- apply ad-hoc filters on inner subqueries (thx to @vavrusa)
- new datasource setting -
default database
. If set it will be prefilled in the query builder, and used to make ad-hoc filters more convenient (thx to @vavrusa) - support wildcard ad-hoc filters for dashboards using multiple tables (thx to @vavrusa)
- parse dimensions from GROUP BY to simplify querying (see piechart and worldmap examples) (thx to @vavrusa)
$timeCol
to$dateCol
renamed to be more clear with column types (thx to @simPod)
- fix broken AST when using nested
SELECT
withoutFROM
statement (#45) - strict statement matching (#44)
- rebuild queries from AST only if adhoc filters were applied
- support
UNION ALL
statements - proper format for
LIMIT N,M
construction (thx to @shankerwangmiao) - update
Show Help
section with $unescape description
- $unescape - unescapes variable value by removing single quotes. Used for multiple-value string variables: "SELECT $unescape($column) FROM requests WHERE $unescape($column) = 5"
- labmda-operator
->
no more breaks while reformatting query
Ad-hoc filters support:
- If there is an Ad-hoc variable, plugin will fetch all columns of all tables of all databases (except system database) as tags.
So in dropdown menu will be options like
database.table.column
- If there are ENUM columns, plugin will fetch their options and use them as tag values
- Plugin will apply Ad-hoc filters to all queries on the dashboard if their settings
$database
and$table
are the same as Ad-hoc'sdatabase.table
- There are no option to apply OR operator for multiple Ad-hoc filters - see grafana/grafana#10918
- There are no option to use IN operator for Ad-hoc filters due to Grafana limitations
- support array indexing int AST
- columns autocompletion in ace-editor
- properly format query with reserved names
- fix #31
- allow rounding with
round
option both time filters: $from and $to
- apply proper value formatting for table format
- commit generated files
- fix error with absent
getCollapsedText
#24 - suppress errors while parsing AST #24
- show generated SQL in textarea #24
- do not round timestamp after converting #25
- increase max-height of query editor
- Ace editor
- ClickHouse function completion (thx to https://github.com/smi2/tabix.ui)