Andrej Ocenas
d2fefec306
Prometheus: Fix aligning of labels of exemplars after backend migration ( #49924 )
...
* Fix normalization of labels
* Move sorting so it actually has an effect
* fix lint error
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-06-01 11:13:57 +02:00
Todd Treece
0101c19374
Prometheus: Predefined scopes for Azure authentication ( #49861 )
2022-05-31 05:20:26 -04:00
Sergey Kostrukov
2b83cf4618
Prometheus: Predefined scopes for Azure authentication ( #49557 )
...
* Predefined scopes for Azure Prometheus
* Allow override of audience
2022-05-30 17:43:32 +02:00
Todd Treece
33d4850c90
Prometheus: Fix sort issue in wide frames ( #49660 )
2022-05-25 23:32:55 -04:00
Todd Treece
94b9c524a8
Prometheus: Streaming JSON parser performance improvements ( #48792 )
2022-05-24 16:17:11 -04:00
Kyle Brandt
01ef899753
SSE/Alerting: Support prom instant vector responses ( #44865 )
...
* SSE/Alerting: (Draft) Support prom instant vector responses
fixes #35663
* reduce\classic expressions to handle mathexp.Number
* use Notice for warning
Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-05-23 10:08:14 -04:00
Jimmie Han
0a509b97ef
Prometheus: Fix inconsistent labels in exemplars resulting in marshal json error. ( #46135 )
...
like "frame has different field lengths, field 0 is len 5 but field 14 is len 2"
Signed-off-by: Jimmie Han <hanjinming@outlook.com>
2022-05-23 15:05:57 +02:00
Todd Treece
859cc92da7
Prometheus: Set default method to POST in new HTTP client ( #49198 )
2022-05-18 15:44:41 -04:00
Todd Treece
87e8521591
Prometheus: Implement Streaming JSON Parser ( #48477 )
...
use `prometheusStreamingJSONParser` feature toggle to enable
2022-05-13 20:28:54 +02:00
Todd Treece
6cbaa18cf6
Prometheus: Add golden JSON tests ( #48941 )
2022-05-12 17:09:58 +02:00
Todd Treece
e1a9ce4cc4
Prometheus: Move existing query logic to new buffered package ( #48668 )
2022-05-12 05:34:09 -04:00
Sergey Kostrukov
5675496f6b
Migrate to Grafana Azure SDK ( #47232 )
2022-04-04 11:23:13 +02:00
Sergey Kostrukov
656ade9884
Shared Azure middleware between Azure Monitor and Prometheus datasources ( #46002 )
...
* Scopes in Azure middleware
* Enable Azure middleware without feature flag
* Use common Azure middleware in Azure Monitor
* Apply feature flag to JsonData configuration of Azure auth
* Enforce feature flag in Prometheus datasource
* Prometheus provider tests
* Datasource service tests
* Fix http client provider tests
* Pass sdkhttpclient.Options by reference
* Add middleware to httpclient.Options
* Remove dependency on Grafana settings
* Unit-tests updated
* Fix ds_proxy_test
* Fix service_test
2022-04-01 13:26:49 +02:00
Todd Treece
db5f480a8f
Prometheus: Fix timestamp truncation ( #46302 )
...
* avoid truncation to seconding by using time.Time directly
* update test coverage
2022-03-08 10:55:25 -05:00
Torkel Ödegaard
cfa24a3cfb
Prometheus: Auto legend handling ( #45367 )
...
* Legend editor is working
* It's working
* Progress on auto legend mode
* Fixes
* added unit tests
* Added go tests
* Fixing tests
* Fix issue with timing and internal state
* Update public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryCodeEditor.tsx
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-16 14:06:33 +01:00
Torkel Ödegaard
a757a57c6e
Prometheus: Show executed query in inspector ( #45362 )
...
* Prometheus: Show executed query in inspector
* Loki: Improving test
2022-02-15 15:02:03 +01:00
Sergey Kostrukov
85ea1a5d64
Prometheus: Fix Azure authentication support ( #44407 )
...
Re-adding back Azure authentication support to Prometheus datasource
after the datasource query logic was rewritten from plugin.json routes to
Go backend.
Ref #35857
2022-02-03 17:06:31 +01:00
Todd Treece
c8bb4c733e
Prometheus: Set interval on time field ( #44802 )
2022-02-03 08:15:55 -05:00
Ivana Huckova
780591cc12
Prometheus: Fix some of the alerting queries that use reduce/math operation ( #44380 )
...
* Prometheus: Dont fill response with nulls for alerting queries
* Refactor based on reviews
2022-01-31 18:14:30 +01:00
Gábor Farkas
9161f9d2e1
prometheus: added json-loading benchmark ( #44309 )
2022-01-24 14:39:26 +01:00
Gábor Farkas
0f8b0dc301
prometheus: refactor test ( #44358 )
2022-01-24 11:08:41 +01:00
Will Browne
7fbc7d019a
Plugins: Core plugins register via backend factory provider ( #43171 )
...
* refactoring store interface and init flow
* fix import
* fix linter
* refactor resource calling
* load with class
* re-order args
* fix tests
* fix linter
* remove old creator
* add custom config struct
* fix some tests
* cleanup
* fix
* tackle plugins
* fix linter
* refactor and fix test
* add connect failure error
* add fix for azure, cloud monitoring and test data
* restructure
* remove unused err
* add fake tracer for test
* fix grafana ds plugin
2022-01-20 18:16:22 +01:00
idafurjes
30aa24a183
Chore: Implement OpenTelemtry in Grafana ( #42674 )
...
* Separate Tracer interface to TracerService and Tracer
* Fix lint
* Fix:Make it possible to start spans for both opentracing and opentelemetry in ds proxy
* Add span methods, use span interface for rest of tracing
* Fix logs in tracing
* Fix tests that are related to tracing
* Fix resourcepermissions test
* Fix some tests
* Fix more tests
* Add TracingService to wire cli runner
* Remove GlobalTracer from bus
* Renaming test function
* Remove GlobalTracer from TSDB
* Replace GlobalTracer in api
* Adjust tests to the InitializeForTests func
* Remove GlobalTracer from services
* Remove GlobalTracer
* Remove bus.NewTest
* Remove Tracer interface
* Add InitializeForBus
* Simplify tests
* Clean up tests
* Rename TracerService to Tracer
* Update pkg/middleware/request_tracing.go
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Initialize tracer before passing it to SQLStore initialization in commands
* Remove tests for opentracing
* Set span attributes correctly, remove unnecessary trace initiliazation form test
* Add tracer instance to newSQLStore
* Fix changes due to rebase
* Add modified tracing middleware test
* Fix opentracing implementation tags
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-20 11:10:12 +01:00
Ivana Huckova
e704110f74
Prometheus: Fix interpolation of $__rate_interval variable ( #44035 )
...
* Name fields based on targets length
* Remove rounding in rate interval variable replacing
* Refactor and fix edge case when interval and time duration would be rate interval
* Add tests
* Remove , from test
* Revert "Name fields based on targets length"
This reverts commit 5dcb34a765
.
2022-01-17 15:32:23 +01:00
Gábor Farkas
bedc5cccaa
prometheus: fix auto-inserting null-timestamps at the end ( #44022 )
2022-01-14 09:25:15 +01:00
Gábor Farkas
4a88b8f66c
Prometheus: add tests covering the prometheus-response to dataframes conversion ( #43892 )
...
* prometheus: add tests covering prometheus_response to grafana_dataframes
* fixed variable name
* added comment
* removed not-helping function call
2022-01-13 11:52:50 +01:00
Travis Patterson
9eb82f9fff
Propagate all headers ( #43812 )
...
* Propagate all headers
* stable header order
2022-01-07 12:45:26 -07:00
Travis Patterson
20b3b2a448
Forward oauth tokens after prometheus datasource migration ( #43686 )
...
* create the prom client
* implement lru cache of prometheus clients based on auth headers
* linter
2022-01-05 13:55:55 -07:00
Ivana Huckova
d7d6c10664
Prometheus: Fill missing steps with null values ( #43622 )
...
* Prometheus: Add empty points when data points missing
* Remove newline
* Add comments
* Improve/Fix test
* Remove unused variable
2022-01-05 11:40:32 +01:00
Travis Patterson
c4c05a5b71
refactor promethueus package into sub packages ( #43634 )
2022-01-04 07:22:33 -07:00
Gábor Farkas
1879a6855e
prometheus: respect the http-method data source setting ( #42753 )
...
* prometheus: respect the http-method data source setting
* removed forgotten if-true section
* refactored json-check
2021-12-20 11:27:18 +01:00
Will Browne
e4ba5f17dd
add core plugins thru store ( #43085 )
2021-12-14 15:22:40 +01:00
Ivana Huckova
2655be61b6
Prometheus: Interpolate curly brackets syntax variable ( #42927 )
2021-12-09 14:37:24 +01:00
Ivana Huckova
21fe78302b
Prometheus: Fix passing of custom params when running queries ( #42728 )
...
* Prometheus: Fix passing of custom params
* Remove prints
2021-12-03 16:28:05 +01:00
Ivana Huckova
0b5d7067f9
Prometheus: Fix range variables interpolation for time ranges smaller than 1 second ( #42242 )
...
* Prometheus: Fix precision for queries with < 1s timeRange
* Update pkg/tsdb/prometheus/time_series_query.go
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2021-11-29 12:41:23 +01:00
Ivana Huckova
9b9e41e036
Prometheus: Disable exemplar queries for alerting ( #41607 )
...
* Prometheus: Dont include empty exempalr frame in results
* Prometheus: Never run exemplar queries for alerting
* Remove exemplar field from alerting and set exemplar to false
* Add tests for frontend
* Add test for backend
2021-11-12 12:49:06 +01:00
Ivana Huckova
2daae9eba8
Prometheus: Fix showing of errors ( #41356 )
...
* Prometheus: Fix showing of errors
* Refactor and add comment
2021-11-05 18:00:48 +01:00
Will Browne
2faf3b6a31
rearrange log statements for log15 ( #41137 )
2021-11-02 10:20:17 +01:00
Will Browne
b80fbe03f0
Plugins: Refactor Plugin Management ( #40477 )
...
* add core plugin flow
* add instrumentation
* move func
* remove cruft
* support external backend plugins
* refactor + clean up
* remove comments
* refactor loader
* simplify core plugin path arg
* cleanup loggers
* move signature validator to plugins package
* fix sig packaging
* cleanup plugin model
* remove unnecessary plugin field
* add start+stop for pm
* fix failures
* add decommissioned state
* export fields just to get things flowing
* fix comments
* set static routes
* make image loading idempotent
* merge with backend plugin manager
* re-use funcs
* reorder imports + remove unnecessary interface
* add some TODOs + remove unused func
* remove unused instrumentation func
* simplify client usage
* remove import alias
* re-use backendplugin.Plugin interface
* re order funcs
* improve var name
* fix log statements
* refactor data model
* add logic for dupe check during loading
* cleanup state setting
* refactor loader
* cleanup manager interface
* add rendering flow
* refactor loading + init
* add renderer support
* fix renderer plugin
* reformat imports
* track errors
* fix plugin signature inheritance
* name param in interface
* update func comment
* fix func arg name
* introduce class concept
* remove func
* fix external plugin check
* apply changes from pm-experiment
* fix core plugins
* fix imports
* rename interface
* comment API interface
* add support for testdata plugin
* enable alerting + use correct core plugin contracts
* slim manager API
* fix param name
* fix filter
* support static routes
* fix rendering
* tidy rendering
* get tests compiling
* fix install+uninstall
* start finder test
* add finder test coverage
* start loader tests
* add test for core plugins
* load core + bundled test
* add test for nested plugin loading
* add test files
* clean interface + fix registering some core plugins
* refactoring
* reformat and create sub packages
* simplify core plugin init
* fix ctx cancel scenario
* migrate initializer
* remove Init() funcs
* add test starter
* new logger
* flesh out initializer tests
* refactoring
* remove unused svc
* refactor rendering flow
* fixup loader tests
* add enabled helper func
* fix logger name
* fix data fetchers
* fix case where plugin dir doesn't exist
* improve coverage + move dupe checking to loader
* remove noisy debug logs
* register core plugins automagically
* add support for renderer in catalog
* make private func + fix req validation
* use interface
* re-add check for renderer in catalog
* tidy up from moving to auto reg core plugins
* core plugin registrar
* guards
* copy over core plugins for test infra
* all tests green
* renames
* propagate new interfaces
* kill old manager
* get compiling
* tidy up
* update naming
* refactor manager test + cleanup
* add more cases to finder test
* migrate validator to field
* more coverage
* refactor dupe checking
* add test for plugin class
* add coverage for initializer
* split out rendering
* move
* fixup tests
* fix uss test
* fix frontend settings
* fix grafanads test
* add check when checking sig errors
* fix enabled map
* fixup
* allow manual setup of CM
* rename to cloud-monitoring
* remove TODO
* add installer interface for testing
* loader interface returns
* tests passing
* refactor + add more coverage
* support 'stackdriver'
* fix frontend settings loading
* improve naming based on package name
* small tidy
* refactor test
* fix renderer start
* make cloud-monitoring plugin ID clearer
* add plugin update test
* add integration tests
* don't break all if sig can't be calculated
* add root URL check test
* add more signature verification tests
* update DTO name
* update enabled plugins comment
* update comments
* fix linter
* revert fe naming change
* fix errors endpoint
* reset error code field name
* re-order test to help verify
* assert -> require
* pm check
* add missing entry + re-order
* re-check
* dump icon log
* verify manager contents first
* reformat
* apply PR feedback
* apply style changes
* fix one vs all loading err
* improve log output
* only start when no signature error
* move log
* rework plugin update check
* fix test
* fix multi loading from cfg.PluginSettings
* improve log output #2
* add error abstraction to capture errors without registering a plugin
* add debug log
* add unsigned warning
* e2e test attempt
* fix logger
* set home path
* prevent panic
* alternate
* ugh.. fix home path
* return renderer even if not started
* make renderer plugin managed
* add fallback renderer icon, update renderer badge + prevent changes when renderer is installed
* fix icon loading
* rollback renderer changes
* use correct field
* remove unneccessary block
* remove newline
* remove unused func
* fix bundled plugins base + module fields
* remove unused field since refactor
* add authorizer abstraction
* loader only returns plugins expected to run
* fix multi log output
2021-11-01 10:53:33 +01:00
Ivana Huckova
92cd44940a
Prometheus: Refactor backend for scalability for other query types ( #40921 )
...
* Prometheus: Refactor backend for scalability for other query types
* Fix linting
2021-10-26 14:47:40 +02:00
Igor Suleymanov
3f5dcbfdb5
Refactor Prometheus response handling and reduce allocations ( #40765 )
...
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2021-10-22 12:34:21 +02:00
Ivana Huckova
ba90b57b66
Prometheus: Transform NaN values from matrix response to null on backend ( #40757 )
...
* avoid duplicate allocations
* set labels
* Replace NaN in matrix with null
* Refactor and add test
* Update test
* Append response only if no error
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-10-21 15:01:14 +02:00
Ivana Huckova
3718494b35
Prometheus: Send errors from backend in response ( #40674 )
...
* Prometheus: Send errors in response
* Remove debugging placeholder
* Add debugging logs
2021-10-20 16:50:34 +02:00
Ivana Huckova
7140867868
Prometheus: Run dashboard queries trough backend ( #40333 )
...
* Fix processing for table in dashboard - expolre compatible
* Add processing of histograms
* Interpolsate rate_interval in step field
* Add tests
* Fix function name
* Extract internal range and interval variables to constants
* Fix typings, refactor, simplify
* Fix constant that was missing _ms
2021-10-15 13:37:27 +02:00
Ivana Huckova
48eacd1ea6
Remove unused httpMethod ( #40471 )
2021-10-14 16:20:06 +02:00
Kevin Minehart
23bee50474
Prometheus: Fix issue where TCP connections not being reused when querying from Grafana alerting ( #40349 )
...
Fixes #40366
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-10-13 10:22:26 +02:00
Ivana Huckova
19ad08e6b8
Prometheus: Run exemplars explore queries through backend ( #39531 )
...
* Prometheus: Run Explore both queries trough backend
* Refactor, simplify
* Set default values for query type selector
* Run multiple queries as one query trough backend
* Remove trailing newlines
* Pass utcOffset
* Remove trailing comma
* WIP: Implementatioon of exemplars
* add sampling for exemplars
* Refactor to use response as custom metadata
* Simplify processing of exemplars
* Update, clean up
* Refactor the way how we get available exemplars
* Simplify exemplars disabling and running on frontend
* Add tests
* Update toggle
* Remove console log
* Fix go linting
* Fix e2e test
* Trigger Build
* Compare lengts, small fix
* Remove duplicated time check
* Address feedback
* Remove redundant ! as not needed
* Update
2021-10-12 13:16:09 +02:00
Dimitris Sotirakis
d023cabae6
Add Headers to http client Options ( #40214 )
2021-10-08 16:52:41 +03:00
Ivana Huckova
df81676d9e
Prometheus: Run Explore both queries trough backend ( #39462 )
...
* Prometheus: Run Explore both queries trough backend
* Refactor, simplify
* Set default values for query type selector
* Run multiple queries as one query trough backend
* Remove trailing newlines
* Pass utcOffset
* Remove trailing comma
* Add meta to frames only at 1 place
* Set exemplars to falsee if they are disabled
* Revert "Set exemplars to falsee if they are disabled"
This reverts commit e7b697c9f3
.
2021-09-29 16:42:31 +02:00
Marcus Efraimsson
45a844e77e
Elasticsearch/Prometheus: Set correct service namespace for SigV4 ( #39439 )
...
Makes sure to set the SigV4 service namespace for Elasticsearch and Prometheus.
Fixes #38440
2021-09-27 14:32:19 +02:00