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
idafurjes
b8852ef6a3
Chore: Remove context.TODO() ( #43409 )
...
* Remove context.TODO() from services
* Fix live test
* Remove context.TODO
2021-12-22 11:02:42 +01:00
Will Browne
e4ba5f17dd
add core plugins thru store ( #43085 )
2021-12-14 15:22:40 +01:00
Marcus Efraimsson
8927a3ca20
Chore: Query endpoint refactor ( #41637 )
...
Get rid of using legacydata.RequestHandler in HTTPServer, /api/tsdb/query and pkg/expr
with the goal of deprecating /api/tsdb/query and remove it completely eventually. This is
the first step of cleaning up the HTTP API query endpoint.
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
Co-authored-by: Alexander Emelin <frvzmb@gmail.com >
2021-11-29 14:21:54 +01:00
Marcus Efraimsson
baab021fec
Chore: Refactor usage of legacy data contracts ( #41218 )
...
Refactor usage of legacy data contracts. Moves legacy data contracts
to pkg/tsdb/legacydata package.
Refactor pkg/expr to be a proper service/dependency that can be provided
to wire to remove some unneeded dependencies to SSE in ngalert and other places.
Refactor pkg/expr to not use the legacydata,RequestHandler and use
backend.QueryDataHandler instead.
2021-11-10 11:52:16 +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
Serge Zaitsev
a97e4d28a4
Chore: Refactor GoConvey in azuremonitor package ( #40878 )
2021-10-25 17:08:24 +02:00
Isabella Siu
bf9be975ac
AzureMonitor: move metric deep link code to backend ( #39524 )
2021-09-28 09:24:18 -04:00
Sergey Kostrukov
06a616e630
Update Azure SDK with bug fixes ( #38952 )
2021-09-09 17:32:36 +01:00
jcolladokuri
aa45eebf3d
Azure Monitor: changed ARG API version to 2021-06-01-preview ( #38951 )
...
* changed ARG API version to 2021-06-01-preview
* Fixing lint error
2021-09-09 17:00:16 +02:00
shuotli
f2c4346cc4
Azure Monitor: Add support for numeric fields in ARG ( #38728 )
...
* Fix todouble/toreal not working
* fix test
2021-09-01 09:02:08 +02:00
Andres Martinez Gotor
b25eb0aa74
AzureMonitor: Fix wrong merge ( #38623 )
2021-08-27 11:31:17 +02:00
Arve Knudsen
78596a6756
Migrate to Wire for dependency injection ( #32289 )
...
Fixes #30144
Co-authored-by: dsotirakis <sotirakis.dim@gmail.com >
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com >
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
Co-authored-by: Leon Sorokin <leeoniya@gmail.com >
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com >
Co-authored-by: spinillos <selenepinillos@gmail.com >
Co-authored-by: Karl Persson <kalle.persson@grafana.com >
Co-authored-by: Leonard Gram <leo@xlson.com >
2021-08-25 15:11:22 +02:00
Sergey Kostrukov
c6356c5bba
Fix scopes mutation by cloning original array ( #37981 )
2021-08-18 10:05:14 +02:00
shuotli
6ecf401cd1
AzureMonitor: Add data links to deep link to Azure Portal Azure Resource Graph ( #35591 )
...
* Add deep link in ARG
* add soverigh clouds
* add query to Azure portal link
* move deep link to backend
* cloud specific to ARG
* Add unit test
* fix lint
* fix escape issue
* use constant & fix test
* fix constant & use pathEscape
* use cmp.Equal for test
2021-08-13 16:21:24 +01:00
Sergey Kostrukov
c1963024ec
Infra: Azure authentication in HttpClientProvider ( #36932 )
...
* Azure middleware in HttpClientProxy
* Azure authentication under feature flag
* Minor fixes
* Add prefixes to not clash with JsonData
* Return error if JsonData cannot be parsed
* Return original string if URL invalid
* Tests for datasource_cache
2021-07-22 21:43:10 +01:00
Andres Martinez Gotor
96efbbaed1
Azure Monitor: Implement CallResourceHandler in the backend ( #35581 )
2021-07-16 12:47:26 +02:00
Andres Martinez Gotor
114f6714c4
AzureMonitor: Fail rather than warn if Log credentials are set ( #36652 )
2021-07-14 09:53:24 +02:00
Sergey Kostrukov
89ba607382
AzureMonitor: strongly-typed AzureCredentials and correct resolution of auth type and cloud ( #36284 )
2021-07-05 12:20:12 +02:00
Andres Martinez Gotor
a4368790d5
AzureMonitor: Add an error message if a request failed with deprecated creds ( #36136 )
2021-06-29 10:39:28 +02:00
Sergey Kostrukov
52e38c54e5
AzureMonitor: token provider into aztokenprovider and cleanup ( #36102 )
2021-06-29 10:05:42 +02:00
Sarah Zinger
493d35ccc6
Azure monitor: ensure that time column has a name ( #36144 )
...
Fixes bug when switching from Timeseries to Table view when viewing Azure Monitor Metrics Data.
2021-06-28 08:28:56 -04:00
Tom Pickles
b05b5d5e3b
AzureMonitor: Fix queries with Microsoft.NetApp/../../volumes resources ( #32661 )
...
* Extend description of existing tests (#28350 )
* Tests for building MetricNamespaces URL (#28350 )
* Added tests that break the URL builder (#28350 )
* Arbitrary length of metric definition (#28350 )
* Change var to const as requested (#32661 )
* Adding tests to datasource url builder (#28350 )
* Fixes to datasource url builder (#28350 )
* Fixed linting issue that broke build (#28350 )
2021-06-21 13:05:13 +01:00
Andres Martinez Gotor
7109285ac9
AzureMonitor: Use auth middleware for QueryData requests ( #35343 )
2021-06-11 17:02:24 +02:00
shuotli
05f3985108
Upgrade ARG API version ( #35464 )
2021-06-10 12:33:34 +02:00
Andres Martinez Gotor
d225323049
AzureMonitor: Use plugin SDK contracts ( #34729 )
2021-06-07 14:54:51 +02:00
Sergey Kostrukov
412bcf1fb0
AzureMonitor: fix Azure Resource Graph queries in Azure China ( #35235 )
...
* Optimize Azure Monitor routes
* Update API version compatible with Azure China
2021-06-04 12:29:18 +01:00
Josh Hunt
cf94410e59
AzureMonitor: Update Logs workspace() template variable query to return resource URIs ( #34445 )
...
* Migrate template variables straight into resource field,
Display error if unable to migrate
* Update workspace() template variable query function to return a resource URI
* update backend to support resource uris in workspace field
* don't load resource names for variables
* throw error when workspace migration returns no results
* update testDatasource to work with either resource URI or workspace GUID
* fix tests
* cleanup types just a little bit, as a treat
2021-05-20 10:16:29 +02:00
Marcus Efraimsson
348e76fc8e
Datasource: Shared HTTP client provider for core backend data sources and any data source using the data source proxy ( #33439 )
...
Uses new httpclient package from grafana-plugin-sdk-go introduced
via grafana/grafana-plugin-sdk-go#328 .
Replaces the GetHTTPClient, GetTransport, GetTLSConfig methods defined
on DataSource model.
Longer-term the goal is to migrate core HTTP backend data sources to use the
SDK contracts and using httpclient.Provider for creating HTTP clients and such.
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-05-19 23:53:41 +02:00
Josh Hunt
5dca9fd4d8
AzureMonitor: Support querying any Resource for Logs queries ( #33879 )
...
* wip
* wip:
* ui work for resource picker
* disable rows when others are selected
* resource picker open button
* Azure Monitor: Connect to backend with real data (#34024 )
* Connect to backend with real data
* Fixes from code review.
* WIP:Begin thinking about how to make queries with scope determined by the resource picker
* More fixes post code review.
* Fixes after rebasing
* Remove outdated todo
* AzureMonitor: Support any resource for Logs queries (#33762 )
* Apply button for resource picker
* scroll table body
* secondary cancel button
* loading state for nested rows
* Display resource components in picker button
* fix tests
* fix icons
* move route function
* Migrate from workspace to resource uri for log analytics (#34337 )
* reword backwards compat comment
* remove base url suffix
* fix lint error
* move migrations to seperate file
* cleanup
* update regex
* cleanup
* update plugin routes to use new azure auth type
* use AzureDataSourceInstanceSettings alias
Co-authored-by: Sarah Zinger <sarahzinger@users.noreply.github.com >
2021-05-19 17:39:08 +01:00
Sergey Kostrukov
e9e80bb4cb
Route fixes for Azure Resource Graph ( #34410 )
2021-05-19 17:33:03 +02:00
Sergey Kostrukov
db1191f3ef
AzureMonitor: Refactor cloud and route resolution in the backend ( #34342 )
...
* Determine Azure cloud based on authentication type
* Route resolution for clouds
* Fix tests
* Constants for cloud names
* move arg cloud route logic to routes.go
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com >
2021-05-19 14:36:16 +02:00
shuotli
71fd0981ca
AzureMonitor: Add Azure Resource Graph ( #33293 )
...
* Add Azure Resource Graph in Azure Plugin
* fix lodash import
* Fix mock queries
* use "backend" sdk
* Address comments
* add converter for object type
* Query error should cause 400 & apply template var
* fix backend test & add documentation
* update image
* Address comments
* marshal body from map
* use interpolated query instead of raw query
* fix test
* filter out empty queries
* fix go linting problem
* use new query field language name
* improve variable tests
* add better tests for interpolate variable
Co-authored-by: joshhunt <josh@trtr.co >
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com >
2021-05-19 10:31:27 +02:00
Sergey Kostrukov
81f6c806e1
Azure token provider with support for Managed Identities ( #33807 )
...
* Azure token provider
* Configuration for Azure token provider
* Authentication via Azure SDK for Go
* Fix typo
* ConcurrentTokenCache for Azure credentials
* Resolve AAD authority for selected Azure cloud
* Fixes
* Generic AccessToken and fixes
* Tests and wordings
* Tests for getAccessToken
* Tests for getClientSecretCredential
* Tests for token cache
2021-05-14 13:59:07 +02:00
Arve Knudsen
c2c1ec7d0f
Chore: Move from master to main branch ( #33693 )
...
* Chore: Move from master branch to main
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* CI: Upgrade build pipeline tool to v2
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-05-06 16:29:29 +02:00
Ryan McKinley
7627b55ef4
TSDB: add deprecation comments to many tsdb structs ( #33281 )
2021-04-23 03:03:11 +02:00
Josh Hunt
5289603a59
AzureMonitor: fix migration error from older versions of App Insights queries ( #32372 )
...
* AzureMonitor: fix nill reference error with missing timeGrain
* add a test
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
2021-04-06 11:33:46 +01:00
Arve Knudsen
87c3a2b790
PluginManager: Make Plugins, Renderer and DataSources non-global ( #31866 )
...
* PluginManager: Make Plugins and DataSources non-global
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix integration tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Replace outdated command
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* DashboardService: Ensure it gets constructed with necessary parameters
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix build
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* DashboardService: Ensure it gets constructed with necessary parameters
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove dead code
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove FocusConvey
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove dead code
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Undo interface changes
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Backend: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Rename to DataSourceCount
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Consolidate dashboard interfaces into one
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix dashboard integration tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-03-17 16:06:10 +01:00
Arve Knudsen
b79e61656a
Introduce TSDB service ( #31520 )
...
* Introduce TSDB service
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com >
Co-authored-by: Will Browne <will.browne@grafana.com >
Co-authored-by: Torkel Ödegaard <torkel@grafana.org >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com >
2021-03-08 07:02:49 +01:00
Emil Hessman
6f72ae38d5
Chore: Rewrite tsdb azuremonitor time grain test to standard library ( #30089 )
2021-01-06 20:16:53 +01:00
Arve Knudsen
c2cad26ca9
Chore: Disable default golangci-lint filter ( #29751 )
...
* Disable default golangci-lint filter
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: Fix linter warnings
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-12-15 09:32:06 +01:00
Sebastian Poxhofer
63c8945db5
AzureMonitor: Unit MilliSeconds naming ( #29399 )
2020-12-02 10:09:33 +01:00
Arve Knudsen
4dd7b7a82d
Chore: Remove unused Go code ( #28852 )
...
* Chore: Remove more unused Go code
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-11-17 11:51:31 +01:00
Arve Knudsen
574553ec7b
Chore: Fix issues found by staticcheck ( #28802 )
...
* Fix linting issues
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-11-05 11:29:39 +01:00
Kyle Brandt
96e6524a7d
AzureMonitor: Support decimal (as float64) type in analytics/logs ( #28480 )
...
loss of precision but will make the response work instead of erroring
follows work already done in the ADX plugin
fixes #28278
2020-10-26 08:27:16 -04:00
Kyle Brandt
c9a5d1ad4b
AzureMonitor: pass through null values instead of 0 ( #28126 )
...
fixes #28001
2020-10-09 08:15:19 -04:00
Arve Knudsen
a078e40238
Settings: Rename constants/variables to follow Go naming standards ( #28002 )
...
* settings: Rename constants/variables to follow Go naming standards
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-10-02 15:45:45 +02:00
Jorge Vallecillo
9e3def4214
Fix typos ( #27711 )
2020-09-22 11:00:59 -07:00
Arve Knudsen
a5d9196a53
Chore/fix lint issues ( #27704 )
...
* Chore: Fix linting issues
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-09-22 16:22:19 +02:00