Marcus Efraimsson
2adfdb49c9
Update grafana-plugin-go-sdk to v0.187.0 ( #76816 )
2023-10-19 16:17:31 +02:00
Will Browne
9d92818cae
Plugins: Update PDC pattern from latest plugin SDK changes ( #76576 )
...
* update with sdk
* do sql
* fix core plugins
* fix proxy settings
* bump SDK version
* tidy
* enable pdc for test
* add codeowners
* bump dep
* go mod tidy
* bump SDK
2023-10-16 16:40:04 +02:00
Dan Cech
91cf4f0c1c
Revert "Plugins: Update PDC pattern from latest plugin SDK changes" ( #76565 )
...
Revert "Plugins: Update PDC pattern from latest plugin SDK changes (#76036 )"
This reverts commit 151f6d6216
.
2023-10-13 12:35:16 -04:00
Will Browne
151f6d6216
Plugins: Update PDC pattern from latest plugin SDK changes ( #76036 )
...
* update with sdk
* do sql
* fix core plugins
* fix proxy settings
* bump SDK version
* tidy
* enable pdc for test
* add codeowners
2023-10-13 14:42:15 +02:00
Giuseppe Guerra
cfcfbe4aaa
Plugins: Refactoring: Implement plugin instrumentation as a middleware ( #76011 )
...
* Plugins: Refactor instrumentation as plugin client middleware
* Simplify repeated code
* Fix compilation error
* Add comments
* Moved status and endpoint consts to utils.go
* Fix wrong endpoint name in CheckHealth InstrumentationMiddleware
* Add tests
* Fix wrong endpoint value in instrumentPluginRequestSize
* removed todo
* PR review feedback: use MustRegister
* PR review feedback: move tracing middleware before instrumentation middleware
* PR review feedback: removed decommissioned check
* PR review feedback: extract prometheus metrics into separate variables
2023-10-09 14:12:57 +02:00
Will Browne
8a33a6f958
Plugin: Accept backend plugin process command args ( #76037 )
...
accept args
2023-10-05 15:15:57 +02:00
Marcus Efraimsson
e4c1a7a141
Tracing: Standardize on otel tracing ( #75528 )
2023-10-03 14:54:20 +02:00
Marcus Efraimsson
534e3ebf0c
Plugins: Use a Grafana specific SDK tracer implementation for core plugins ( #75388 )
2023-09-26 14:46:31 +02:00
Andres Martinez Gotor
1714fa598c
Chore: Refactor backend plugin errors ( #74928 )
2023-09-25 11:56:03 +02:00
Andres Martinez Gotor
c70623fb85
Chore: Rename testdata plugin with a fully qualified name ( #75104 )
2023-09-22 15:00:40 +03:00
Sven Grossmann
9328fda8ea
Logging: Add uname
to context logger for plugins ( #74929 )
...
add `uname` to context logger for plugins
2023-09-14 20:23:01 +03:00
Andres Martinez Gotor
96b55ea37c
Feature: Allow to skip plugin loading ( #74840 )
2023-09-14 12:58:12 +02:00
Marcus Efraimsson
f70990d8eb
Plugins: Refactor instrumentation to logger middleware ( #74726 )
2023-09-12 17:33:48 +02:00
lean.dev
5e0b20266e
Licensing: Pass func to update env variables when starting plugin ( #74620 )
2023-09-11 09:33:10 -03:00
Marcus Efraimsson
8ee43f3705
Instrumentation: Add status_source label to request metrics/logs ( #74114 )
...
Ref #68480
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2023-09-11 12:13:13 +02:00
Sven Grossmann
7e01dde762
Logging: Add WithContextualAttributes
to pass log params based on the given context ( #74428 )
...
* suggestion to use `RegisterContextualLogProvider`
* add `pluginId`
* change to `WithContextualAttributes`
* move approach to instrumentation.go
* improve `WithContextualAttributes`
* unexport consts
* typo
* remove comment
* add `nil` check
2023-09-07 13:13:34 +02:00
Dan Cech
85a207fceb
Chore: Replace entity GRN with infra/grn GRN ( #74198 )
...
replace entity GRN with infra/grn GRN
2023-08-31 15:43:35 -04:00
Ryan McKinley
025b2f3011
Chore: use any rather than interface{} ( #74066 )
2023-08-30 18:46:47 +03:00
Will Browne
c5e9a82ccb
Plugins: Do not fail bootstrap stage if single decorate step fails ( #73147 )
...
* don't fail all if decorate step fails
* fix casing
* include err too
* cover pluginsintegration too
2023-08-10 14:46:38 +02:00
Ludovic Viaud
7ec3489cd3
Plugins Instrumentation: add exemplar to the plugin requests metrics ( #72071 )
...
* Plugins Instrumentation: add exemplar to the plugin requests metrics
2023-07-21 18:01:29 +02:00
Andres Martinez Gotor
24eef7a3d2
Chore: Use SDK logger for test data source ( #71579 )
2023-07-17 16:34:08 +02:00
Ludovic Viaud
68ab0ac552
Update ( #69684 )
2023-06-28 13:11:41 +02:00
Ryan McKinley
e17ef5e504
Pyroscope: Rename phlare to grafana-pyroscope-datasource ( #68859 )
2023-06-07 06:09:29 +03:00
Ludovic Viaud
b59533e526
Fix plugin metric ( #69368 )
2023-06-01 14:24:39 +02:00
Will Browne
ae373c662c
Plugins: Refactor env vars to dedicated service ( #68960 )
...
* add env vars service
* fix tests
* fix more tests
2023-05-24 14:02:14 +02:00
Andreas Christou
108acee08e
CloudMonitoring: Initial GCM Schema ( #67739 )
...
* Initial GCM schema work
- Split types for convenience
- Update conditionals where needed
- Update type references
* Add additional supporting types
* Add some more accessory and legacy types
* Add missing type
* Rename backend folder
* Add missing generated file
* Review
2023-05-22 17:19:54 +01:00
Will Browne
bb6ec1470d
Plugins: Correct the usage of mutex for gRPC plugin implementation ( #68555 )
...
correct usage of mutex
2023-05-17 11:50:25 +02:00
Ludovic Viaud
bc5881a051
Instrumentation: Add plugin service request metric ( #65527 )
...
* Service request metrics
* Service request metrics
2023-04-19 17:16:34 +09:00
ismail simsek
a1bc227228
Instrumentation: Report the size of plugin request ( #66149 )
...
* Report the size of the plugin request
* Remove middleware, report directly
* PR review updates
2023-04-11 22:04:32 +02:00
Will Browne
23e3ac0ac9
Plugins: Improve client instrumentation by adding cancelled status and logging errors ( #65099 )
...
add cancelled status and log err
2023-03-21 13:42:57 +01:00
Will Browne
ec82719372
Plugins: Introduce plugin package specific logger ( #62204 )
...
* refactor
* implement with infra log for now
* undo moving
* update package name
* update name
* fix tests
* update pretty signature
* update naming
* simplify
* fix typo
* delete comment
* fix import
* retrigger
2023-02-28 16:10:27 +01:00
Will Browne
958eea2f78
Plugins: Add backend target to instrumentation ( #61980 )
...
* add target
* fix test
2023-01-24 16:18:34 +01:00
Carl Bergquist
672b1711b0
Instrumentation: measure time until plugin request ( #61279 )
...
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-01-11 13:19:06 +00:00
Marcus Efraimsson
6478d0a5ef
Plugins: Forward user header (X-Grafana-User) in backend plugin requests ( #58646 )
...
Grafana would forward the X-Grafana-User header to backend plugin request when
dataproxy.send_user_header is enabled. In addition, X-Grafana-User will be automatically
forwarded in outgoing HTTP requests for core/builtin HTTP datasources.
Use grafana-plugin-sdk-go v0.147.0.
Fixes #47734
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-12-15 15:28:25 +01:00
Carl Bergquist
a5ace56be8
Plugins: Add username to datasource plugin logging ( #59893 )
...
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-12-07 13:15:42 +01:00
Will Browne
76233f9997
Plugins: Unexport PluginDir field from PluginDTO ( #59190 )
...
* unexport pluginDir from dto
* more err checks
* tidy
* fix tests
* fix dboard file tests
* fix import
* fix tests
* apply PR feedback
* combine interfaces
* fix logs and clean up test
* filepath clean
* use fs.File
* rm explicit type
2022-12-02 13:46:55 +01:00
Carl Bergquist
06705a49e2
Instrumentation: Log plugin and datasource info for each plugin request. ( #54769 )
...
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-11-02 14:51:51 +01:00
Andrej Ocenas
0845ac2f53
Profiling: Add Phlare and Parca datasources ( #57809 )
...
* Add phlare datasource
* Rename
* Add parca
* Add self field to parca
* Make sure phlare works with add to dashboard flow
* Add profiling category and hide behind feature flag
* Update description and logos
* Update phlare icon
* Cleanup logging
* Clean up logging
* Fix for shift+enter
* onRunQuery to set label
* Update type naming
* Fix lint
* Fix test and quality issues
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2022-10-28 13:33:37 +02:00
Emil Tullstedt
b287047052
Chore: Upgrade Go to 1.19.1 ( #54902 )
...
* WIP
* Set public_suffix to a pre Ruby 2.6 version
* we don't need to install python
* Stretch->Buster
* Bump versions in lib.star
* Manually update linter
Sort of messy, but the .mod-file need to contain all dependencies that
use 1.16+ features, otherwise they're assumed to be compiled with
-lang=go1.16 and cannot access generics et al.
Bingo doesn't seem to understand that, but it's possible to manually
update things to get Bingo happy.
* undo reformatting
* Various lint improvements
* More from the linter
* goimports -w ./pkg/
* Disable gocritic
* Add/modify linter exceptions
* lint + flatten nested list
Go 1.19 doesn't support nested lists, and there wasn't an obvious workaround.
https://go.dev/doc/comment#lists
2022-09-12 12:03:49 +02:00
Joan López de la Franca Beltran
6ec06f66b9
Rendering: Add support for renderer token ( #54425 )
...
(cherry picked from commit a4f75cc0438712c90b02d24740416f8615e3a0cb)
2022-08-30 12:09:38 +02:00
Marcus Efraimsson
cd5f27a25d
Plugins: Propagate distributed tracing headers to backend plugins ( #54107 )
2022-08-24 11:55:49 +02:00
Guilherme Caulada
d90600c454
Secrets: Add fallback to secrets kvstore plugin ( #54056 )
...
* Add fallback to secrets kvstore plugin
* Fix linter issues
* Fix linter issues
* Add deletion error to bool to fake secrets kvstore
* Add fallback to fake secrets kvstore
* Fix fake secrets kvstore fallback setter
* Use Key on Item message for secrets manager protobuf
* Add clarifying comment about fallback
2022-08-23 12:21:54 -03:00
Jo
062d255124
Handle ioutil deprecations ( #53526 )
...
* replace ioutil.ReadFile -> os.ReadFile
* replace ioutil.ReadAll -> io.ReadAll
* replace ioutil.TempFile -> os.CreateTemp
* replace ioutil.NopCloser -> io.NopCloser
* replace ioutil.WriteFile -> os.WriteFile
* replace ioutil.TempDir -> os.MkdirTemp
* replace ioutil.Discard -> io.Discard
2022-08-10 15:37:51 +02:00
Artur Wierzbicki
e96f67ae2e
Renderer: Add sanitize API ( #50936 )
...
* svg fun
* #50597 : add proto
* #50597 : add sanitizer methods
* #50597 : add provider
* #50597 : use sanitizer
* #50597 : use sanitizer
* update grafana to match new api
* add comments
* add capability check
* add timing
* update sanitize path
* improve log message
* strings.HasPrefix rather than filepath.IsAbs
* filepath.Clean + filepath.ToSlash for windows
* read 404
* remove `path.clean` from `getPathAndScope`
* add resp body close
* remove unneeded prop
* Update pkg/services/rendering/rendering.go
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
* remove test files
* filepath.ToSlash correct wrapping
* filepath.ToSlash correct wrapping
* filepath.ToSlash comment
* compilation error
* lint fix
* fix error message
* Update pkg/services/rendering/rendering.go
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
* add `image/svg+xml` mime type
* refactored log
* refactored log
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-07-07 15:32:18 +04:00
Marcus Efraimsson
a8eb29f1d7
Plugins: Use a Grafana specific SDK logger implementation for core plugins ( #51229 )
...
Upgrade grafana-aws-sdk to v0.10.6
2022-06-23 14:34:25 +02:00
Ben Kochie
68691d7775
Convert some metrics to Histograms ( #50420 )
...
Because Summary metrics can not be aggreated, convert them to histograms
so that users with HA deployments can use these metrics.
* Convert metrics registration to promauto.
* Improve help text style.
Signed-off-by: SuperQ <superq@gmail.com>
2022-06-15 13:19:43 +02:00
Michael Mandrus
d886141d69
Plugins: Refactor secrets plugin .proto file ( #50722 )
...
* refactor .proto file according to prior PR suggestions
* re-generate protobuf files and fix compilation errors
* rename proto functions to be more descriptive
2022-06-14 11:53:04 -04:00
Michael Mandrus
f376c33903
WIP: Add private Secret Manager Plugins support to plugin platform ( #49544 )
...
* Add protobuf config and generated code, and client wrapper
* wire up loading of secretsmanager plugin, using renderer plugin as a model
* update kvstore provider to check if we should use the grpc plugin. return false always in OSS
* add OSS remote plugin check
* refactor wire gen file
* log which secrets manager is being used
* Fix argument types for remote checker
* Turns out if err != nil, then the result is always nil. Return empty values if there is an error.
* remove duplicate import
* Update pkg/services/secrets/kvstore/kvstore.go
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Update pkg/services/secrets/kvstore/kvstore.go
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* refactor RemotePluginCheck interface to just return the Plugin client directly
* rename struct to something less silly
* Update pkg/plugins/backendplugin/secretsmanagerplugin/secretsmanager.proto
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-06-09 13:19:27 -04:00
Will Browne
7536647ab6
Plugins: Introduce Plugin Registry ( #47200 )
...
* introduce registry write/read separation
* internal + external registries
* fix tests
* fixup
* rename
* move interfaces
* back to plugins.Store
* fix registry name
* remove context.TODOs
* remove some ctx for now
* tidy
* remove dupe logic
* update naming
* move from manager.go to store
* amend logger name
* new store writer svc
* restrict changes
* more simplifying
* move interfaces around
* remove unused
* fix linter
* tidy
* add registry test
* fix tests
* revert testdata changes
* revert testdata changes #1
* revert testdata changes #2
* revert testdata changes #3
* revert testdata changes #4
* revert testdata changes #5
* revert testdata changes
* fixup testdata
* remove unused log
* update naming in test
* adjust ctx in test
2022-06-03 13:06:27 +02:00
Kat Yang
3c3039f5b3
Chore: Remove Wrap ( #50048 )
...
* Chore: Remove Wrap and Wrapf
* Fix: Add error check
2022-06-03 09:24:24 +02:00