Commit Graph

101 Commits

Author SHA1 Message Date
Gábor Farkas a847f36df2 datasources: querier: log caller (#115087) 2025-12-10 18:23:59 +01:00
Gábor Farkas 692712961b datasources: querier: configurable concurrent-query-limit (#114585) 2025-12-08 15:20:01 +01:00
Gábor Farkas a1a73dde66 datasources: querier: forward more headers (#113897) 2025-11-18 10:33:59 +01:00
Gábor Farkas 2dc48c0b98 datasources: querier: add mode-info (#113592)
* datasources: querier: add mode-info

* fixed unit test
2025-11-10 15:48:59 +01:00
Gábor Farkas ac162e203b datasources: querier: do not forward these headers (#113383) 2025-11-04 09:01:16 +01:00
Kyle Brandt c3d7dbc258 SQL Expressions: Add endpoint to get Schemas (#108864)
Return the SQL schema for all DS queries in request (to provide information to AI / Autocomplete for SQL expressions).

All DS queries are treated as if they were inputs to SQL expressions in terms of conversion, regardless if they are selected in a query or not.

Requires feature toggle queryService = true

Endpoint is apis/query.grafana.app/v0alpha1/namespaces/default/sqlschemas

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2025-10-30 10:05:12 -04:00
Bruno 437dcc875c QueryCaching: Use CachingServiceClient for query caching (#112128)
* Integrate mt querier with query caching

* typo

* let the caller set cache status response header

* fix TestQueryAPI

* make gen-go

* handle CachingServiceClient being nil and make gen-go

* include namespace in cache key

* set signed in user namespace in query_test.go

* fix test

* remove commented out code

* undo services/query/query.go changes

* make gen-go

* remove namespace requirement

* fix tests

* fix test

* remove namespace from SignedInUser in tests

* make gen-go
2025-10-28 11:41:46 -03:00
Denis Vodopianov 81683d554d chore : Deprecating FeatureToggles.IsEnabledGlobally (#112885)
* add deprecation on featuremgmt.IsEnabledGlobally

* add nolint reason

* add reasonable deprecation message

* remove junk edits

* add more nolints

* addressing review comments

* Update pkg/services/featuremgmt/models.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-24 12:02:53 -04:00
Gábor Farkas 87f40c65e4 datasources: forward the x-forwarded-for header (#112863) 2025-10-23 17:14:50 +02:00
Gábor Farkas a53ce56bca datasources: querier: handle the X-Real-IP header (#112838) 2025-10-23 10:47:48 +02:00
Kyle Brandt e930b3e6c4 SQL Expressions: Replace NaN/Inf values with Null (#112641)
This is because MySQL doesn't support storing of NaN valuels, and therefore go-mysql-server isn't going to either.

Float fields/columns are always mapped to be nullable now, otherwise we would have to replace NaN/Inf with 0.
2025-10-21 10:43:04 -04:00
beejeebus c3f34efb41 Revert "Revert: DataSource: Support config CRUD from apiservers (#106996) (#110342)"
This reverts commit 72eeefabd7.
2025-10-07 14:31:07 -04:00
Gábor Farkas 969eeb1d02 datasources: querier: deduplicate logging code (#111019) 2025-09-23 13:35:53 +02:00
Sarah Zinger 3558a1c627 ds-querier: add status code log (#110783)
Add a log of final status code we send to ruler, that has ruleid label attached
2025-09-09 10:18:41 -04:00
Gábor Farkas 95489fdca8 datasources: querier: refactor: simplify (#110516) 2025-09-09 13:27:52 +02:00
Sarah Zinger ba202ebab1 ds-querier: Handle top level datasourceuids (#110616) 2025-09-05 11:08:56 -04:00
Gábor Farkas 0bfec936b3 datasources: querier: add user to query (#109917) 2025-09-03 09:29:26 +02:00
Nathan Vērzemnieks 72eeefabd7 Revert: DataSource: Support config CRUD from apiservers (#106996) (#110342)
Revert "DataSource: Support config CRUD from apiservers (#106996)"

This reverts commit eda94a6434.
2025-08-29 14:49:57 +02:00
Ryan McKinley eda94a6434 DataSource: Support config CRUD from apiservers (#106996) 2025-08-28 22:28:26 +03:00
Kyle Brandt dd4ffc9918 SQL Expressions: Add setting to limit length of query (#110165)
sql_expression_query_length_limit

Set the maximum length of a SQL query that can be used in a SQL expression. Default is 10000 characters. A setting of 0 means no limit.
2025-08-27 12:08:25 -04:00
Sarah Zinger 333a21f19d DS-Querier: Fix data source not found (#110064) 2025-08-22 14:59:07 -04:00
Adam Simpson c522979e09 query service: add ruleuid to error log (#109986)
* query service: add ruleuid to error log

* little fix

---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-08-21 18:17:22 +00:00
Gábor Farkas 2e5b55a855 datasources: querier: renamed the "mt" builder to "qs" builder (#109779) 2025-08-19 12:37:56 +02:00
Gábor Farkas 8672275824 datasources: querier: report metrics related to the whole request (#109384)
* refactor

* add metric
2025-08-14 16:14:21 +02:00
Gábor Farkas 47463481b7 datasources: querier: adjusted names (#109110) 2025-08-05 09:34:48 +02:00
Gábor Farkas b839bb7a81 datasources: querier: removed unused method (#109109) 2025-08-04 11:00:59 +02:00
Gábor Farkas 6dc0dedc97 datasources: querier: refactor (#108776)
datasources: querier: refactor types
2025-08-04 09:57:41 +02:00
Adam Simpson 2d1271e981 query service: improve error handling and logging (#108948)
Co-authored-by: Sarah Zinger sarah.zinger@grafana.com
Co-authored-by: Gábor Farkas gabor.farkas@gmail.com
2025-07-31 14:10:21 -04:00
Sarah Zinger 60ce4ad1fa Ds-querier: add slug to logs (#108822) 2025-07-30 17:46:38 +00:00
Gábor Farkas 8d48dbce66 datasources: querier: handle single-tenant instance config (#108469) 2025-07-28 11:40:26 +02:00
Sarah Zinger 3fad863fd1 Query Service: Combine SSE handling in single tenant and multi tenant paths (#108041)
* parse via sse

I need to figure out how to handle the pipeline.execute with our own
client. I think this is important for MT reasons, just like using our
own cache (via legacy) is important.

parsing is done though!

* WIP nonsense

* horrible code but i think it works

* Add support for sql expressions config settings

* Cleanup:
- remove spew from nodes.go
- uncomment out plugin context and use in single tenant flow
- make code more readable and add comments

* Cleanup:
- create separate file for mt ds client builder
- ensure error handling is the same for both expressions and regular queries
- other cleanup

* not working but good thoughts

* WIP, vector not working for non sse

* super hacky but i think vectors work now

* delete delete delete

* Comments for future ref

* break out query handling and start test

* add prom debugger

* clean up: remove comments and commented out bits

* fix query_test

* add prom debugger

* create table-driven tests with testsdata files

* Fix test

* Add test

* go mod??

* idk

* Remove comment

* go enterprise issue maybe

* Fix codeowners

* Delete

* Remove test data

* Clean up

* logger

* Remove go changes hopefully

* idk go man

* sad

* idk i ran go mod tidy and this is what it wants

* Fix readme, with much help from adam

* some linting and testing errors

* lint

* fix lint

* fix lint register.go

* another lint

* address lint in test

* fix dead code and linters for query_test

* Go mod?

* Struggling with go mod

* Fix test

* Fix another test

* Revert headers change

* Its difficult to test this in OSS as it depends on functionality defined in enterprise, let's bring these tests back in some form in enterprise

* Fix codeowners

---------

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2025-07-17 17:22:55 -04:00
Gábor Farkas 868791d751 ds-querier: handle response-headers explicitly (#107304) 2025-07-15 08:31:57 +02:00
Gábor Farkas 5ec1bd91df datasources: querier: log empty refids (#107111)
* datasources: querier: log empty refids

* improved logging
2025-07-10 13:28:45 +02:00
Gábor Farkas 8ba6487b15 datasources: querier: add unit tests (#107105) 2025-06-24 13:07:05 +02:00
Stephanie Hingtgen ef6e28b955 K8s: Make v0alpha1 opt-in (#107056) 2025-06-20 16:37:17 -05:00
Ivana Huckova 67f50478d9 Loki: Refactor getting of panel/dashboard title headers as part of decoupling (#106829)
* Loki: Refactor getting of panel/dashboard title headers as part of decoupling

* Add headers to be passed to api server

* Address review comments
2025-06-18 17:41:31 +02:00
Gábor Farkas 5d54289509 datasources: querier: more robust error handling, and report no errors for single-tenant (#106288)
* datasources: querier: more robust error handling, and report no error for st

* do not leak error details out

* apply the change to the real file, not just to the test
2025-06-16 14:12:37 +02:00
Kyle Brandt 1be9e60667 SQL Expressions: Exclude CTEs from required Tables (#106479)
Fixes #105030

---------

Co-authored-by: Sam Jewell <2903904+samjewell@users.noreply.github.com>
2025-06-11 10:36:28 -04:00
Adam Simpson 729f0a6ba5 ds-querier: handle downstream 500s (#105890)
* ds-querier: add new metric for the total request

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* fix logger and trace

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* ds-querier: rewrite downstream 500s to 400

---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-05-29 17:30:45 -04:00
Sarah Zinger 020780f5ac DS-querier: define func to fetch instance config settings (#106172)
DS-querier: define func to fetch instance config settings to be passed into executing query
2025-05-29 11:07:40 -04:00
Sarah Zinger ec3f467666 ds-querier: small renames (#105701) 2025-05-22 09:04:02 -04:00
Adam Simpson 4eadb0fec8 ds-querier: handle execute errors better (#105496)
* ds-querier: handle execute errors better

* fix: change how GetResponseCode works to return 418 if rsp is nil

418 is a bit of an easter egg which in this case works since we don't
have an rsp but we do know something went wrong, so a 200 won't work.

Also changed this to return the code in the frame, not sure why we
weren't.

* tests: fix GetResponseCode tests

* log no rsp case

* bring back og error log
2025-05-16 21:41:32 +03:00
Sarah Zinger db828d0f00 DS-Querier: Add additional logs (#104841) 2025-05-14 15:07:08 -04:00
Adam Simpson 2eab7cb63b ds-querier: improve instant vector support (#103954) 2025-04-22 15:20:45 -04:00
Gábor Farkas 66a04babe1 datasources: querier: handle the grafana-ds (#103980)
* datasources: querier: handle the grafana-ds

* updated dependencies
2025-04-15 14:55:39 +02:00
Sam Jewell 4aa7d67edd Server-side expressions: Improve error message (#103968)
This error message is more correct
2025-04-14 21:14:03 +00:00
Sarah Zinger acd843303e SQL Expression: Add instrumentation for sql expressions (#103758) 2025-04-10 19:51:44 +01:00
Mariell Hoversholm 757be6365a CI: Bump golangci-lint to 2.0.2 (#103572) 2025-04-10 14:42:23 +02:00
Gábor Farkas 3f3a4c1e8a datasources: querier: st: handle data-source-not-found (#103697) 2025-04-10 10:21:51 +02:00
Kyle Brandt 4a0ec27e5d SQL Expressions: Query Service Support (#101955)
---------

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-04-03 09:36:02 -04:00