Commit Graph
100 Commits
Author SHA1 Message Date
ismail simsek 92f5a0305c Chore: Define promlib depguard rules (#85082)
* define promlib depguard rules

* add comment

* test: break linting on purpose

* fix linting

* simple change to trigger backend linting/build in CI pipeline
2024-03-25 17:32:56 +01:00
ismail simsek 6137c4e0a6 Chore: Bump golangci-lint v1.57.1 (#84998)
* bump golangci-lint v1.57.1

* update setting

* remove goconst

* fix linting issues

* prettier

* fix G601

* go mod tidy
go work sync
2024-03-25 15:28:24 +01:00
ismail simsek 629a8808e0 Chore: Bump promlib v0.0.4 (#84882)
* Update the readme

* bump promlib v0.0.3

* update

* update

* use promlib v0.0.4
2024-03-22 18:28:22 +01:00
ismail simsek 5c146c7832 InfluxDB: Fix querying with template variables without using regex operator (#84953)
* remove regex wrappers if the operator is not a regex operator

* fix import
2024-03-22 16:14:11 +01:00
ismail simsek 016d6f2f6d InfluxDB: Fix alias interpolation when it has $__interval or multiple tags (#84940)
fix $__interval interpolating in alias
2024-03-22 11:27:04 +01:00
ismail simsek 20bb9d60dc Chore: Update influxdb docs with new parameter insecureGrpc (#84885)
add insecureGrpc parameter
2024-03-21 14:29:29 +01:00
ismail simsek d0885ffdaa Chore: Bump the promlib version to v0.0.2 (#84616)
bump the promlib version
2024-03-15 22:35:07 +01:00
ismail simsek eae9bfe4bc Chore: Promlib allows extendOptions to be nil (#84463)
* use logger from service

* allow extendOptions to be nil

* Update logger
2024-03-15 13:37:29 +01:00
ismail simsek 22860a7978 Chore: Use mapUtil from grafana-plugin-sdk-go (#84297)
use mapUtil from grafana-plugin-sdk-go
2024-03-12 10:08:10 -05:00
ismail simsek ae70cd953d Chore: Use the promlib v0.0.1 (#84210)
* use the promlib v0.0.1

* add a readme

* go mod update

* replace promlib

* update readme

* update

* update go work sum

* update 2

* update readme
2024-03-12 15:25:32 +02:00
ismail simsek c45f96e9de Chore: Fix feature toggle docs (#84256)
update docs
2024-03-12 12:07:07 +01:00
ismail simsek 3fb6319d1b Prometheus: Introduce prometheus backend library (#83952)
* Move files to prometheus-library

* refactor core prometheus to use prometheus-library

* modify client transport options

* mock

* have a type

* import aliases

* rename

* call the right method

* remove unrelated test from the library

* update codeowners

* go work sync

* update go.work.sum

* make swagger-clean && make openapi3-gen

* add promlib to makefile

* remove clilogger

* Export the function

* update unit test

* add prometheus_test.go

* fix mock type

* use mapUtil from grafana-plugin-sdk-go
2024-03-11 17:22:33 +01:00
ismail simsek 3bb38d82ab Chore: Bump grafana-plugin-sdk-go version to v0.214.0 (#84162)
* bump grafana-plugin-sdk-go version to v0.214.0

* make swagger-clean && make openapi3-gen
2024-03-11 16:49:53 +01:00
ismail simsek 2cce9aa2f7 Chore: Move tracing function in influxdb package (#83899)
move tracing function in influxdb package
2024-03-05 07:34:08 -06:00
ismail simsek dc4c539d46 InfluxDB: Fix sql query generation by adding quotes around the identifiers (#83765)
* Quote the identifiers

* wrap where filter with quotes

* fix query generation
2024-03-05 11:22:33 +01:00
ismail simsek 757fa06b85 InfluxDB: Fix interpolation of multi value template variables by adding parenthesis around them (#83577)
Put parenthesis around multi value template variable
2024-02-28 15:59:06 +01:00
ismail simsek 6fab62739d InfluxDB: Fix escaping template variable when it was used in parentheses (#83400)
escape properly regardless of the parentheses
2024-02-27 15:40:32 +01:00
ismail simsek 949156e842 InfluxDB: Fix fetching tag values only for selected measurement (#83353)
show tag values only for selected measurement
2024-02-26 17:28:37 +01:00
ismail simsek 240480ac9b Chore: Add a key prop to warning component to prevent "should have a unique key prop" error (#83340)
add a key prop to prevent "should have a unique key prop" warning/error on the browser console
2024-02-23 23:57:12 +02:00
ismail simsek 1f98028962 Chore: Bump grafana-plugin-sdk-go version to v0.212.0 (#83064)
bump version v0.212.0
2024-02-19 15:12:46 +01:00
ismail simsek 94f544c9f6 InfluxDB: Fix tag interpolation when varable used within a regex pattern (#82785)
* fix tag interpolation

* remove redundant variables
2024-02-16 10:20:09 +01:00
ismail simsek c540fd4195 Prometheus: Fix expanding that contains multiple metrics (#82354)
* fix expanding rules with one metric wrapped in a parenthesis

* fix expanding rules with regex match operator

* fix for multiple labels

* refactor

* don't modify recording rules name in label values

* metric + metric fix

* fix last issues with label regex and spaces

* add comments

* add the same changes to the prometheus library
2024-02-15 21:33:28 +01:00
ismail simsek 916a7bbb08 Prometheus: Move converter in prometheus package (#82269)
* use jsoniter from sdk

* move converter into the prometheus

* remove jsonitere

* unit test

* remove redundant ownership
2024-02-15 15:09:30 +01:00
ismail simsek 63670b7adc Chore: Use jsoniter in prometheus from grafana-plugin-sdk-go (#82359)
use jsoniter from grafana-plugin-sdk-go
2024-02-13 21:19:13 +01:00
ismail simsek 3f940f4da1 Chore: Use jsoniter in influxdb from grafana-plugin-sdk-go (#82360)
use jsoniter from grafana-plugin-sdk-go
2024-02-13 17:47:00 +01:00
ismail simsek 34fddfce10 Chore: Use jsoniter in cloud-monitoring from grafana-plugin-sdk-go (#82358)
use jsoniter from grafana-plugin-sdk-go
2024-02-13 12:23:37 +01:00
ismail simsekandArati R. b0dfeb1911 Chore: Clean up intervalv2 functions (#82074)
* clean up intervalv2 functions

* use roundInterval from grafana-plugin-sdk-go

* use from grafana-plugin-sdk-go

* have intervalv2 in publicdashboards and remove tsdb/intervalv2

* legacydata cleanup

* remove unused variables

* Update pkg/tsdb/legacydata/interval/interval.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
2024-02-09 11:39:21 +01:00
ismail simsek b25ffe2b15 Prometheus: Remove all intervalv2 imports and use gtime functions wherever it's possible (#82064)
* Remove all intervalv2 imports and use gtime functions where ever it's possible

* Add a comment line

* use roundInterval from grafana-plugin-sdk-go
2024-02-07 22:32:57 +02:00
ismail simsek 367790663c Chore: Bump grafana-plugin-sdk-go version to v0.208.0 (#82123)
bump grafana-plugin-sdk-go version to v0.208.0
2024-02-07 22:08:20 +02:00
ismail simsek 2679599968 Prometheus: Remove grafana/pkg/setting imports (#81813)
* upgrade grafana-azure-sdk-go v1.12.0

* add AzureAuthEnabled to config

* remove grafana/pkg/setting imports

* remove grafana/pkg/setting imports

* remove comment

* add better error message

* Fix the unit test

* fix lint
2024-02-07 11:01:09 +01:00
ismail simsek 9a045e24e8 Chore: Bump grafana-plugin-sdk-go version to v0.207.0 (#82028)
* bump grafana-plugin-sdk-go version to v0.207.0

* update go.sum
2024-02-07 10:51:30 +01:00
ismail simsek 994aedaac3 Chore: Update InfluxDB response parser test files (#81899)
* add show diagnostics tests

* update test files
2024-02-06 11:31:55 +01:00
ismail simsek 2002a6c4fb Chore: Bump grafana-azure-sdk-go to v1.12.0 and expose AzureAuthEnabled value in config (#81807)
* upgrade grafana-azure-sdk-go v1.12.0

* add AzureAuthEnabled to config
2024-02-05 13:36:33 +01:00
ismail simsek 35514d7bc6 Chore: Update grafana-prometheus test types (#81816)
* Update types

* update betterer
2024-02-05 14:15:54 +02:00
ismail simsekandBrendan O'Handley 75c2d39f79 Prometheus: Create Prometheus library (#81641)
* Move to the library

* copy from library

* move them in src

* have additional files

* add unmigrated/dulicated code and files

* migrate from brendan's pr
module.ts, query_hints.ts, tracking.ts, and remove plugin.json

* migrate from brendan's pr
metric_find_query.test.ts

* migrate from brendan's pr
language_utils.test.ts

* migrate from brendan's pr
index.ts in root and in configuration

* migrate from brendan's pr
datasource.test.ts

* migrate from brendan's pr
typings folder

* migrate from brendan's pr
querycache folder

* migrate from brendan's pr
monaco-query-field folder

* migrate from brendan's pr
components folder without monaco-query-field folder

* migrate from brendan's pr
configuration/overhaul folder

* migrate from brendan's pr
AlertingSettingsOverhaul.tsx

* Remove azure related code

* migrate from brendan's pr
ConfigEditor.tsx, DataSourceHttpSettingsOverhaul.tsx, ExemplarSetting.tsx, configuration/mocks.ts, PromSettings.test.tsx, PromSettings.tsx

* migrate from brendan's pr
useFlag.ts

* migrate from brendan's pr
metrics-modal folder

* migrate from brendan's pr
files inside components folder

* migrate from brendan's pr
LabelFilters* files because they are now under components folder

* migrate from brendan's pr
files under querybuilder/shared folder

* migrate from brendan's pr
aggregations.ts, QueryPattern.tsx, QueryPatternsModal.tsx, state.ts, testUtils.ts under querybuilder folder

* Apply Ivana's PR https://github.com/grafana/grafana/pull/81656

* Apply jack's suggestions in this PR https://github.com/grafana/grafana/pull/77762

* Apply Ivana's PR https://github.com/grafana/grafana/pull/81656

* Fix type import

* add monaco-promql to transformIgnorePatterns to run prometheus frontend library tests

* remove Loki specific tests because we removed Loki code to decouple Loki

* add prometheus specific references

* We are moving these betterer issues from core Prometheus to the Library and we promise to remove all issues in the future, thank you

* include prometheus library in package.json

* add yarn lock with prometheus frontend library

* decouple final core import from metric_find_query.test.ts

* run prettier

* fix core imports in promqail

* fix lint errors

* run prettier

* add grafana-ui to devdeps to fix lint errors

* update yarn.lock

* grafana-ui fix

* trying to fix grafana-ui type errors with lerna drone check

* trying to fix grafana-ui type errors with lerna drone check

* trying to fix grafana-ui type errors with lerna drone check

* trying to fix grafana-ui type errors with lerna drone check

* try to pass typecheck

---------

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-02-02 15:30:14 +01:00
ismail simsek 372cf797d1 Chore: Update tests and import orders in prometheus backend (#81732)
* use fmt instead of grafana-cli/log

* reorder imports

* reorder imports
2024-02-01 20:16:21 +01:00
ismail simsek 8fea101931 Chore: Use maputil functions from grafana-azure-sdk-go (#81734)
use maputil functions from grafana-azure-sdk-go
2024-02-01 20:16:07 +01:00
ismail simsek 8fc8b03d1d Prometheus: Remove featuremgmt imports (#81586)
* remove featuremgmt imports

* pass down feature flags instead of reading them for every query execution
2024-02-01 18:07:32 +01:00
ismail simsek 536153c336 InfluxDB: Run queries in parallel behind influxdbRunQueriesInParallel feature toggle (#81209)
* create the feature flag

* bring the concurrency in to the play

* Update feature flag

* Use concurrency number from settings

* update influxdb dependency

* use ConcurrentQueryCount from plugin-sdk-go

* use helper method for concurrent query count

* log the error

* add value guard

* add unit tests

* handle concurrency error
2024-02-01 11:58:24 +01:00
ismail simsek 4561863fca Chore: Remove unused header params in prometheus request (#81684)
Remove unused header params
2024-02-01 11:17:38 +01:00
ismail simsek 177fa1b947 InfluxDB: Fix template variable interpolation (#80971)
* use regex as templateSrv replace format

* use regex as templateSrv replace format for raw queries

* import path fix

* don't use regex formatter

* tag value escape

* tag value escape with wrappers

* polished interpolation logic

* update unit tests

* comments and more place to update

* unit test update

* fix escaping

* handle the string and array of string type separately

* update variable type
2024-02-01 00:30:21 +01:00
ismail simsek 1966ce609c Chore: Bump grafana-plugin-sdk-go version to v0.204.0 (#81603)
* bump grafana-plugin-sdk-go to v0.204.0

* update go.sum entry for v0.204.0
2024-01-31 00:50:42 +02:00
ismail simsek f330d50b2a Revert "Chore: Bump github.com/grafana/grafana-plugin-sdk-go to v0.203.0" (#81597) 2024-01-30 21:41:29 +01:00
ismail simsek 0139ac205d Chore: Remove disablePrometheusExemplarSampling feature toggle (#81579)
remove disablePrometheusExemplarSampling ft
2024-01-30 17:00:04 +01:00
ismail simsekandWill Browne 02acbd795d Plugins: Update grafana-plugin-sdk-go to v0.202.0 (#81489)
* update the version

* Fixup (#81503)

fixup

---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-01-29 18:44:53 +01:00
ismail simsek a3fda08d4e Datasources: Add concurrency number to the settings (#81212)
add concurrency to the settings
2024-01-29 11:47:28 +01:00
ismail simsek 7d0017f3f2 InfluxDB: Use grafana timeout value for flux queries (#81252)
* use grafana timeout for flux queries

* get timeout from settings

* fix test
2024-01-25 17:05:08 +01:00
ismail simsek 14e55fefbb InfluxDB: Check the value type before casting it to the string (#80986)
* Check the value type before casting it to the string

* set visualization as table by default

* append all values for show diagnostics

* golangci-lint

* append metadata only to first frame
2024-01-25 11:28:25 +01:00
ismail simsek 777b9bdc49 Prometheus: minStep value is affecting $__interval value (#80904)
* minStep value is affecting $__interval value

* rename
2024-01-19 21:55:27 +01:00
ismail simsek 094cfdd8dd Chore: Start language provider only once in prometheus variable editor (#79763)
Start language provider only once
2023-12-21 22:46:16 +01:00
ismail simsek 516d7a74f2 Prometheus: Fix sending time parameter for query result template variable request (#79754)
* Send time parameter for query result template variable request

* fix tests
2023-12-20 16:08:54 +01:00
ismail simsek ea079ebf0c InfluxDB: Enable SQL support by default (#79474)
* remove alpha notification

* enable the feature toggle by default

* fix
2023-12-19 14:12:36 +01:00
ismail simsek 8c7639738d Docs: Add InfluxDB SQL query language docs (#79591)
* update sql docs

* add note

* add macro docs

* prettier

* prettier again
2023-12-19 13:27:16 +01:00
ismail simsek 2edcf0edbd InfluxDB: Use database input for SQL configuration instead of metadata (#79579)
* introduce constants file

* update frontend to use database field

* use dbName field instead of metadata

* use secureGrpc

* betterer
2023-12-15 18:41:32 +01:00
ismail simsek 03da1a3f3f InfluxDB: Update SQL language url specification (#79408)
* accept urls with or without port

* remove redundant comment

* remove redundant function
2023-12-13 16:01:01 +01:00
ismail simsek 12793bfbed InfluxDB: Interpolate tag keys in influxql queries (#79288)
* interpolate tag keys

* fix unit tests
2023-12-11 16:09:21 +01:00
ismail simsekandİnanç Gümüş c088d003f2 InfluxDB: Implement InfluxQL json streaming parser (#76934)
* Have the first iteration

* Prepare bench testing

* rename the test files

* Remove unnecessary test file

* Introduce influxqlStreamingParser feature flag

* Apply streaming parser feature flag

* Add new tests

* More tests

* return executedQueryString only in first frame

* add frame meta and config

* Update golden json files

* Support tags/labels

* more tests

* more tests

* Don't change original response_parser.go

* provide context

* create util package

* don't pass the row

* update converter with formatted frameName

* add executedQueryString info only to first frame

* update golden files

* rename

* update test file

* use pointer values

* update testdata

* update parsing

* update converter for null values

* prepare converter for table response

* clean up

* return timeField in fields

* handle no time column responses

* better nil field handling

* refactor the code

* add table tests

* fix config for table

* table response format

* fix value

* if there is no time column set name

* linting

* refactoring

* handle the status code

* add tracing

* Update pkg/tsdb/influxdb/influxql/converter/converter_test.go

Co-authored-by: İnanç Gümüş <m@inanc.io>

* fix import

* update test data

* sanity

* sanity

* linting

* simplicity

* return empty rsp

* rename to prevent confusion

* nullableJson field type for null values

* better handling null values

* remove duplicate test file

* fix healthcheck

* use util for pointer

* move bench test to root

* provide fake feature manager

* add more tests

* partial fix for null values in table response format

* handle partial null fields

* comments for easy testing

* move frameName allocation in readSeries

* one less append operation

* performance improvement by making string conversion once

pkg: github.com/grafana/grafana/pkg/tsdb/influxdb/influxql
             │ stream2.txt │            stream3.txt             │
             │   sec/op    │   sec/op     vs base               │
ParseJson-10   314.4m ± 1%   303.9m ± 1%  -3.34% (p=0.000 n=10)

             │ stream2.txt  │             stream3.txt              │
             │     B/op     │     B/op      vs base                │
ParseJson-10   425.2Mi ± 0%   382.7Mi ± 0%  -10.00% (p=0.000 n=10)

             │ stream2.txt │            stream3.txt             │
             │  allocs/op  │  allocs/op   vs base               │
ParseJson-10   7.224M ± 0%   6.689M ± 0%  -7.41% (p=0.000 n=10)

* add comment lines

---------

Co-authored-by: İnanç Gümüş <m@inanc.io>
2023-12-06 12:39:05 +01:00
ismail simsek 2b0e7afb4e InfluxDB: Fix an edge case while parsing table response (#78802)
* Prepare the test files

* use json files everywhere

* update golden json files

* disable update

* update test file

* fix naming

* lint

* InfluxDB: Add metadata information to first frame only (#78664)

* executedString in first frame only

* lint

* fix tests

* update tests

* don't update

* linting

* update

* update again

* handle nil values

* append in the right array

* add comments

* remove redundant if condition
2023-12-01 18:31:49 +01:00
ismail simsek 46044efdf8 Fix: Use dashboard time range in prometheus variable editor (#78950)
Use dashboard time range in variable editor
2023-12-01 15:30:47 +01:00
ismail simsek dff5022021 Chore: Return executedString information even with frames has no time column (#78906)
* return executedString for no time column responses

* remove comment
2023-11-30 14:25:15 +01:00
ismail simsek 5845f14075 InfluxDB: Introduce influxqlStreamingParser feature toggle (#78834)
introduce influxqlStreamingParser feature toggle
2023-11-29 18:29:35 +01:00
ismail simsek aea5a9f01a Chore: Introduce util package for InfluxDB backend testing (#78826)
have a util package
2023-11-29 17:48:53 +01:00
ismail simsek 23c7211f1d Chore: InlfuxDB testing update (#78663)
* Prepare the test files

* use json files everywhere

* update golden json files

* disable update

* update test file

* fix naming

* lint

* InfluxDB: Add metadata information to first frame only (#78664)

* executedString in first frame only

* lint

* fix tests

* update tests

* don't update

* linting

* update

* update again
2023-11-29 16:19:46 +01:00
ismail simsek 5eae18c166 InfluxDB SQL: Don't show dataset dropdown (#78553)
* Don't show dataset dropdown

* Default dataset is iox

* introduce sql dialect
2023-11-27 15:23:54 +01:00
ismail simsek 2e756395f7 InfluxDB SQL: Fix sql query template variable interpolation (#78557)
interpolate sql too
2023-11-23 08:06:20 +01:00
ismail simsek c5f3ce1371 InfluxDB: Parse data for table view to have parity with frontend parser (#78365)
* Use TimeSeriesWide format for table response

* fix group by query result parsing

* handle labels

* provide a test where result has no tags

* parsing results without time column

* clean the code

* remove the comment line

* more cleaning

* lint
2023-11-22 19:27:42 +01:00
ismail simsek 1910a734a6 Chore: Don't show hint for recorded queries (#78422)
Don't show hint on recorded queries
2023-11-22 15:16:06 +01:00
ismail simsek 5096806eab InfluxDB: Don't sort retention policies on the backend (#78252)
don't sort retention policies
2023-11-16 10:39:15 +02:00
ismail simsek 0214b25663 Prometheus: Fix calculating rate interval when there is no interval specified (#78193)
* Use data source scrape interval when no interval is specified

* scrape interval as 15s
2023-11-15 16:20:37 +01:00
ismail simsek 656808a41b InfluxDB: Fix multi variable interpolation (#78068)
fix special variable escape
2023-11-14 16:59:34 +02:00
ismail simsek deea9a7243 Prometheus: Fix updating timeRange on builder mode when range is changed (#78007)
Update languageProvider timeRange when range is changed on builder mode
2023-11-13 14:23:40 +01:00
ismail simsek b607a4e0a2 Prometheus: Fix $__rate_interval calculation (#77234)
* Remove unused param

* simple unit test

* rename

* rename

* add some comments

* Update values

* refactor

* rename

* always calculate rate interval

* fix unit tests

* Fix indentation

* linter fix

* update test

* Fixing issues with the calculation

* new test

* fix $__interval interpolation

* fix test

* add comment
2023-11-13 10:13:07 +01:00
ismail simsek 3cb92e3460 InfluxDB: Template variable support for SQL language (#77799)
* Only run through with classicQuery if the language is influxql and backend migration is disabled

* Add variable editor

* Simple template variable support

* Show template variables in the drowdowns

* better imports

* unit tests

* it is now 11 just because we add rawSql interpolation in datasource.ts applyVariables method

* fix
2023-11-08 15:00:13 +01:00
ismail simsek 581b93c124 InfluxDB: Fix query call with flux and sql when backend migration disbaled (#77760)
Only run through with classicQuery if the language is influxql and backend migration is disabled
2023-11-07 00:14:27 +02:00
ismail simsek 73f25f7ccc Prometheus: Remove unsupported browser access mode related code (#77316)
* Remove unused code

* More cleaning

* Delete more

* betterer

* Small import fixes

* Fix unit test

* Fix unit test

* uncomment

* Remove PromLink component since it was removed from Prometheus data source

* Clean the direct/browser access code

* Remove directUrl

* Big cleaning

* unit test fixing

* cleaning

* fix metric_find_query tests

* clean result_transformer tests

* betterer

* Remove unused type

* betterer
2023-11-06 18:03:05 +01:00
ismail simsek f3fe63e87e Chore: Remove unused code from prometheus datasource (#76776)
* Remove unused code

* More cleaning

* Delete more

* betterer

* Small import fixes

* Fix unit test

* Fix unit test

* uncomment

* Have template_srv from @grafana/runtime
2023-10-30 17:00:34 +01:00
ismail simsek 6b13064cf6 InfluxDB: Fix parsing multiple tags on backend mode (#77340)
* Multiple tags separated by comma in the result

* A non-flaky unit test
2023-10-30 15:45:20 +01:00
ismail simsek df3184a94a Prometheus: Remove timeSrv imports (#76118)
* Remove timeSrv imports from prometheus datasource

* Fix language_provider unit test

* Fix datasource unit tests

* Remove timeSrv imports from metric_find_query

* Remove timeSrv imports

* MetricsBrowser with timeRange
2023-10-30 15:44:28 +01:00
ismail simsek 4ed36cbc1d InfluxDB: Fix parsing empty response (#77353)
Fix parsing empty response
2023-10-30 11:39:15 +01:00
ismail simsek 046791e2be InfluxDB: Response parser improvements (#76852)
* remove retention policy lookup

* Back to one big function

* %10 less memory allocation

pkg: github.com/grafana/grafana/pkg/tsdb/influxdb/influxql
                │    1.txt    │                2.txt                │
                │   sec/op    │   sec/op     vs base                │
ParseBigJson-10   540.9m ± 3%   474.0m ± 2%  -12.37% (p=0.000 n=10)

                │    1.txt     │                2.txt                │
                │     B/op     │     B/op      vs base               │
ParseBigJson-10   580.6Mi ± 0%   573.2Mi ± 0%  -1.28% (p=0.000 n=10)

                │    1.txt     │                2.txt                │
                │  allocs/op   │  allocs/op   vs base                │
ParseBigJson-10   10.123M ± 0%   9.086M ± 0%  -10.25% (p=0.000 n=10)

* Slightly better results comparing with the previous commit
pkg: github.com/grafana/grafana/pkg/tsdb/influxdb/influxql
                │    2.txt    │               3.txt                │
                │   sec/op    │   sec/op     vs base               │
ParseBigJson-10   474.0m ± 1%   503.4m ± 3%  +6.21% (p=0.000 n=10)

                │    2.txt     │                3.txt                │
                │     B/op     │     B/op      vs base               │
ParseBigJson-10   573.2Mi ± 0%   564.0Mi ± 0%  -1.60% (p=0.000 n=10)

                │    2.txt    │               3.txt                │
                │  allocs/op  │  allocs/op   vs base               │
ParseBigJson-10   9.086M ± 0%   9.052M ± 0%  -0.37% (p=0.000 n=10)

* Split into smaller functions

* Unit test for parseTimestamp
2023-10-27 17:17:19 +02:00
ismail simsek 51e49eaa20 InfluxDB: Fix handle multiple frames in metricFindQuery and runMetadataQuery (#77154)
Handle multiple frames in metricFindQuery and runMetadataQuery
2023-10-25 18:27:25 +02:00
ismail simsek 283f279a17 InfluxDB: Fix adhoc filter calls by properly checking optional parameter in metricFindQuery (#77113)
* Handle optional options parameter

* unit tests
2023-10-25 15:56:10 +02:00
ismail simsek d75886c3ac Chore: Remove default metadata key from influxdb sql config page (#76994)
Remove default metadata key
2023-10-24 20:11:37 +02:00
ismail simsek 63abe25b74 InfluxDB: Fix table parsing with backend mode (#76899)
* Add resultFormat to query model

* don't add row name if the result format is table

* No need special formatting since we use unified dataframes

* betterer

* specify visualization type in response

* Unit tests

* fix unit tests
2023-10-23 19:21:30 +02:00
ismail simsek 5eb0b2bedb InfluxDB: Fix aliasing with $measurement or $m on backend mode (#76917)
* better interpolation $measurement aliasing

* unit tests
2023-10-23 17:36:51 +02:00
ismail simsek d271c19536 InfluxDB: Enable InfluxDB backend mode by default (#76641)
Enable influxdb backend mode by default
2023-10-17 13:50:15 +02:00
ismail simsekandKyle Brandt 2877723648 InfluxDB: Use apache/arrow v13 (#76548)
* Use apache/arrow v13

* remove apache/thrift

* go mod tidy with go1.21.1

* add metrics team as owner

---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2023-10-13 17:06:10 +02:00
ismail simsek efec1d976a Chore: Remove redundant code and update types (#76489)
Remove redundant code and update types
2023-10-12 15:04:16 -04:00
ismail simsek be7fe761a3 Fix Influxdb language order in config page (#76488)
Fix wrong language display
2023-10-12 21:16:31 +03:00
ismail simsek 5e918f031c Chore: Update @testing-library/dom to v9.3.3 (#76364)
* Update @testing-library/dom to v9.3.3

* Update @testing-library/dom to v9.3.3 in packages

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit 0cc2084273.

* point all @testing-library/dom packages to v9.3.3
2023-10-12 11:14:30 +02:00
ismail simsek 14d01e2b6e Prometheus: Remove prometheusResourceBrowserCache feature toggle (#76172)
* Remove prometheusResourceBrowserCache feature toggle

* Remove prometheusResourceBrowserCache feature toggle from prometheus datasource

* Update tests
2023-10-11 15:18:56 +02:00
ismail simsek bd23757a42 Chore: Reorder InfluxDB languages in combobox (#76352)
Reorder the languages in combobox
2023-10-11 15:16:21 +02:00
ismail simsek 9035a498ca Chore: Export closestIdx function from @grafana/data (#76176)
* export calculateFieldDisplayName function

* export closestIdx function

* Use getFieldDisplayName
2023-10-11 11:44:36 +02:00
ismail simsek 3d67de3a5d Chore: Upgrade testing-library-selector to v0.3.1 (#76238)
Upgrade testing-library-selector
2023-10-10 12:37:36 +03:00
ismail simsek a12788a4e7 InfluxDB: Interpolate variables based on their type (#75653)
* Rename the mock function

* Move tests

* Refactor existing tests

* add influxql_metadata_query tests

* move to root

* remove unnecessary file

* adhoc test

* Remove unused parameter

* tests for future

* fix mocks

* betterer

* interpolate variables based on their types

* prettier
2023-10-04 17:02:46 +02:00
ismail simsek 2d603bed22 InfluxDB SQL: Add time filter automatically (#75953)
* Use double quotes instead of backticks

* render time field as datetime

* add @react-awesome-query-builder/core

* Add time range filtering

* Update test

* Update macro test
2023-10-04 17:00:24 +02:00
ismail simsek c64e73540d InfluxDB SQL: Use double quotes instead of backticks (#75443)
Use double quotes instead of backticks
2023-10-04 15:47:54 +02:00
ismail simsek dcaad5b3fd Chore: Update react-awesome-query-builder package (#75766)
* Upgrade react-awesome-query-builder to v6.4.1

* Update package

* Update package and fix types

* Remove unnecessary package
2023-10-02 13:29:39 +02:00
ismail simsek 11a9faabb1 InfluxDB SQL: Remove default limitation in the query (#75749)
* Remove limitation in the query

* Revert "Remove limitation in the query"

This reverts commit 8a347bc487.

* simpler approach
2023-10-02 11:22:53 +02:00
ismail simsek 9d44fefe82 Chore: InfluxDB unit test overhaul (#75436)
* Rename the mock function

* Move tests

* Refactor existing tests

* add influxql_metadata_query tests

* move to root

* remove unnecessary file

* adhoc test

* Remove unused parameter

* tests for future

* fix mocks

* betterer

* changes after review
2023-09-29 11:28:52 +02:00