Commit Graph

47 Commits

Author SHA1 Message Date
Ivana Huckova
dd5c545df9 Loki: Remove lokiStructuredMetadata feature toggle (#107292)
Loki: Remove lokiStructuredMetadata feature toggle
2025-06-30 16:09:44 +02:00
Ivana Huckova
aea7bbfec8 Loki: Decouple some of backend dependencies on grafana (#106788)
* Remove backend dependencies on core

* Remove .golangci.yml changes

* make update-workspace
2025-06-19 14:18:23 +02:00
Ivana Huckova
6767adb4a6 Loki: Implement error source (#106766)
* Loki: Implement error source

* Add tests
2025-06-16 15:52:35 +02:00
ismail simsek
a4d98e465f Chore: Remove dataplane as option from prom converter (#102320)
remove dataplane as option from prom converter
2025-03-18 13:10:22 +01:00
Matias Chomicki
d2b6960593 Feature toggles: remove lokiMetricDataplane (#97024)
* Feature toggles: remove lokiMetricDataplane

* Framing: remove test cases expecting metricDataplane to be false

* Remove test code

* Chore: rename test cases
2024-11-26 18:32:17 +02:00
Fabrizio
953c8f838f Loki: Lower log level when retrieving metadata (#87910)
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-05-15 17:08:03 +03:00
Fabrizio
0b2e748bd8 Loki: Fix setting of tenant ID (#86433) 2024-04-22 21:02:56 +01:00
Fabrizio
653d9fa895 Loki: Handle X-Scope-OrgID and tenant IDs (#85726) 2024-04-11 11:51:54 +02:00
Sven Grossmann
9a8ae3c932 Loki: Support custom X-Query-Tags header (#85123)
* Loki: Support custom `X-Query-Tags` header

* add comment
2024-03-26 13:08:09 +02:00
Fabrizio
288b06b64c Loki: Replace imports of infra/log with SDK (#84336) 2024-03-20 11:25:35 +02: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
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
Matias Chomicki
df05c79d91 Infinite scrolling: Add X-Query-Tag header (#81089) 2024-01-29 11:24:05 +01:00
Sven Grossmann
b315c5e54d Loki: Also log statusSource in error case (#81040) 2024-01-23 11:16:29 +01:00
Ivana Huckova
3dc7cfdc18 Loki: Implement error source (#80143) 2024-01-08 18:32:16 +01:00
Sven Grossmann
777d119a80 Loki: Fix nil pointer in api.go (#78727) 2023-11-28 12:48:23 +02:00
Sven Grossmann
a01f8c5b42 Loki: Add backend functionality to parse structured metadata from Loki (#77361)
* prepare backend for structured metadata

* add `lokiStructuredMetadata` feature toggle

* use `lokiStructuredMetadata` feature flag

* add field type check to `labelTypesField`

* remove fixme

* fix feature toggle

* add field in dataplane mode

* use `data.Labels` where possible

* adjust framing tests

* improve verbiage

* improve naming

* update tests to "attributes"
2023-11-16 17:06:14 +01:00
Ivana Huckova
8cd8eb7882 Revert "Loki: Add error source to DataQuery (#77876)" (#78006)
This reverts commit 934456dc1c.
2023-11-10 17:03:59 +01:00
Ivana Huckova
934456dc1c Loki: Add error source to DataQuery (#77876)
* Loki: Add error source to DataQuery

* Create middlewares to fix healtcheck test

* Add comment for errors from ReadPrometheusStyleResult
2023-11-10 10:26:56 +01:00
Marcus Efraimsson
e4c1a7a141 Tracing: Standardize on otel tracing (#75528) 2023-10-03 14:54:20 +02:00
Ivana Huckova
5510a0d8d1 Loki: Add instrumentation for grafana_loki_plugin_parse_response_duration_seconds_bucket (#75570)
* Add metric for loki parsing response duration

* Rename and add exemplars

* Fix lint
2023-09-28 17:25:09 +02:00
Sven Grossmann
727c83d562 Loki: Improve error logging in case statusCode is not 200 (#75075)
* improve loki logging

* fix error log

* fix logger arg
2023-09-19 11:11:27 +02:00
Sven Grossmann
aaef8d3b40 Loki: Add query expression to backend logging (#74927)
add query expression to loki log
2023-09-14 17:23:02 +02:00
Sven Grossmann
d14851c877 Loki: Adjust to logging convention (#74531)
* adjust Loki to logging convention

* Fix call resource logging

* Update dataquery

* Update

* Remove redundant logging

* Fix TODO

* Rename action to stage and use variables

* `resp` might be `nil`

* `resp` might be `nil` here as well

* change to `statusCode`

* use correct logger

* also here

* add query information to logging

---------

Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
2023-09-07 17:09:24 +02:00
Sven Grossmann
056c83c788 Loki: Improve backend instrumentation of CallResource calls (#73899)
* instrument call resource

* capitalize log messages
2023-09-01 15:26:25 +02:00
Sven Grossmann
124f445db0 Loki: Improve backend instrumentation of QueryData calls (#73807)
* improve loki `queryData` instrumentation

* fix lint

* use correct logger in "queryData"

* capitalize log messages

* distinguish between requests from alerting
2023-09-01 11:44:18 +02:00
Kyle Brandt
6d8fc42cdd Prometheus: (Chore) Remove experimental unshipped prometheusWideSerie… (#73751) 2023-08-24 17:47:19 +03:00
Gábor Farkas
531caec602 Loki: Add feature flag to enable dataplane-compliant metric frames (#66017)
* loki: add feature flag to enable dataplane-compatible metric frames

* linter fix
2023-04-13 15:07:08 +02:00
Sven Grossmann
473013e3f5 Loki: Add error handling to CallResource (#64439)
* surface loki error message for `CallResource`

* use `data.Message` instead or `errorMessage`

* change struct coming from Loki

* remove whitespace
2023-03-09 11:12:33 +01:00
Serge Zaitsev
0bf4093005 Chore: Fix goimports grouping (#62428)
* fix goimports order

* fix goimports order
2023-01-30 08:50:27 +00:00
Ivana Huckova
d0e95f8c95 Loki: Add X-Query-Tags header for logs sample and data sample (#62333) 2023-01-27 16:41:40 +01:00
KonH
4421b31b66 Loki/Prometheus: Change signature - return non-reference from ReadPrometheusStyleResult (#57209)
* Change signature - return non-reference from ReadPrometheusStyleResult

Related to https://github.com/grafana/grafana/issues/52430

* Fix invalid reference usage

* Potential fix for test data

* Remove additional ref usage

* Revert "Potential fix for test data"

This reverts commit 94ed588ab3.

* Commit changed test data

* Revert unwanted conflict resolution

* Add additional condition to track empty responses

* Setup valid empty response

* Re-introduce changes reverted by merge
2023-01-13 09:00:39 +01:00
Marcus Efraimsson
c35c689a96 Plugins: Automatically forward plugin request HTTP headers in outgoing HTTP requests (#60417)
Automatically forward core plugin request HTTP headers in outgoing HTTP requests. 
Core datasource plugin authors don't have to specifically handle forwarding of HTTP 
headers, e.g. do not have to "hardcode" the header-names in the datasource plugin, 
if not having custom needs.

Fixes #57065
2022-12-21 13:25:58 +01:00
Sven Grossmann
08e87a217c Loki: Add gzip compression to resource calls (#59059)
* Loki: Add compression to `callResource`

* add missing tests

* fix formatting
2022-11-22 14:02:30 +01:00
Gábor Farkas
46eec85b1a loki: better handle an empty-response (#52397) 2022-07-19 08:13:38 +02:00
Gábor Farkas
ccc587dc0f Loki: Handle data source configs with path in the url (#50971)
* loki: fixed param-name

* loki: handle datasource configs with path in the url

* lint fix
2022-06-17 07:47:31 +02:00
Gábor Farkas
46d6573968 loki: add cookie-handling functionality (#49978) 2022-06-02 11:52:27 +02:00
Todd Treece
94b9c524a8 Prometheus: Streaming JSON parser performance improvements (#48792) 2022-05-24 16:17:11 -04:00
Gábor Farkas
da74dba7c8 Loki: backend: use streaming JSON parser, try2 (#48752)
* converter: remove __name__ customization because Loki does not do that

Loki does not handle __name__ in a special way.
for Prometheus, the caller can implement the formatting
by themselves

* converter: change labels-formatting

the labels.String() method does not handle strange values well

* loki: backend: use streaming-json parser

* more idiomatic code

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>

* simpler row-length check

* simpler code

* fixed converter/prom tests

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-05-05 13:09:01 +02:00
Gábor Farkas
02aa1cd1c5 loki backend mode forward-oauth (#48401)
* loki: backend: add forward oauth credentials functionality

* removed obsolete comment
2022-05-05 12:42:50 +02:00
Gábor Farkas
3cade2f669 Revert "Loki: backend: use streaming JSON parser (#47656)" (#48747)
This reverts commit 46b40b6e82.
2022-05-05 12:02:53 +02:00
Gábor Farkas
46b40b6e82 Loki: backend: use streaming JSON parser (#47656)
* converter: remove __name__ customization because Loki does not do that

Loki does not handle __name__ in a special way.
for Prometheus, the caller can implement the formatting
by themselves

* converter: change labels-formatting

the labels.String() method does not handle strange values well

* loki: backend: use streaming-json parser

* more idiomatic code

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>

* simpler row-length check

* simpler code

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-05-05 08:47:40 +02:00
Gábor Farkas
d8a754c4a0 loki: send metadata requests through backend (#48063) 2022-04-25 13:16:14 +02:00
Gábor Farkas
79c06fdddc Loki: add backend-forward mode to queries, update log-row-context (#47726)
* loki: add helper function to sort dataframe by time

* loki: add direction-attribute to queries

* loki: make log-row-context code backward-compatible

* better comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* fixed test

* simplified code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-04-20 13:52:15 +02:00
Gábor Farkas
d95468a4bb Loki: use millisecond-steps (#47572)
* loki: use millisecond-steps

* better comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* better comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-04-12 12:30:39 +02:00
Gábor Farkas
1cad35ea67 loki: backend mode: support all query types (#45619)
* loki: backend mode: support all query types

* loki: backend: adjust vector-parsing field-names

* loki: backend: no interval for streams-dataframes

* loki: backend: enable more query types

* better variable name

* removed unnecessary code

* improve frame-processing

* more unit tests

* improved code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* remove unused code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* simplify code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* lint fix

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-25 09:14:17 +01:00
Gábor Farkas
5d704fd46e Loki: backend: use custom http code (#44643)
* Loki: backend: use custom http code

* simplfied comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-18 14:35:39 +01:00