Marcus Efraimsson
8f12fb94f9
Plugins: Factory for instantiating core plugin ( #85047 )
2024-03-25 15:41:26 +01:00
Dan Cech
7b4925ea37
Storage: Watch support ( #82282 )
...
* initial naive implementation
* Update pkg/services/store/entity/sqlstash/sql_storage_server.go
Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
* tidy up
* add action column, batch watch events
* initial implementation of broadcast-based watcher
* fix up watch init
* remove batching, it just adds needless complexity
* use StreamWatcher
* make broadcaster generic
* add circular buffer to replay recent events to new watchers
* loop within poll until all events are read
* add index on entity_history.resource_version to support poller
* increment r.Since when we send events to consumer
* switch broadcaster and cache to use channels instead of mutexes
* cleanup
---------
Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
2024-03-05 10:14:38 -05:00
Agnès Toulet
28e66b4ad8
Rendering: Adds PDF support behind feature toggle ( #81811 )
...
* start pdf refactor
* Update AppChrome.tsx
* Update AppChrome.tsx
* add encoding param to rendering grpc service
* fix plugin mode
* clean up
* fix backend tests
* fix lint errors
* Support pdf encoding in render http api
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-02-08 13:09:34 +01:00
Giuseppe Guerra
b1c7aa269b
Dependencies: Bump github.com/grafana/grafana-plugin-sdk-go from v0.197.0 to v0.198.0 ( #79928 )
...
* chore: Bump google.golang.org/grpc from 1.59.0 to 1.60.1
* Bump google.golang.org/protobuf to v1.32.0
* Fix make protobuf failing with latest protoc and protoc-gen-go
* Re-generate protobuf files
* Re-generate protobuf files
* Bump grafana-plugin-sdk-go
* go mod tidy
2024-01-03 13:36:44 +02:00
Will Browne
ce8fd14f1f
Plugins: Make renderer service load renderer plugin ( #77854 )
...
* rendering service loads renderer plugin
* update naming
* tidy
* apply PR feedback
* fix missing feature manager
* fix step
* set plugin
2023-12-14 17:33:29 +01:00
Giuseppe Guerra
027a157898
Plugins: Allow disabling "skip host environment variables" per-plugin ( #78266 )
...
* Plugins: Allow disabling skipping host environment variables per-plugin
* Renamed SkipEnvVarsDecorateFunc to SkipHostEnvVarsDecorateFunc
* PR review feedback
* fix tests
2023-11-17 16:12:05 +02:00
Will Browne
ddb7406caa
Plugins: Add running method to interface ( #78326 )
...
* add running to interface
* add context
2023-11-17 13:52:31 +01:00
Giuseppe Guerra
cb0a88a027
Plugins: Backend: Skip host environment variables ( #77858 )
...
* Add pluginsSkipHostEnvVars feature flag
* Set go-plugin's SkipHostEnvVar depending on feature flags
* add missing file
* Re-generate feature flags
* Add allowedHostEnvVarNames
* Fix feature toggles not being passed to plugin context service's plugin env vars
* Fix tests
* PR review feedback: Use cfg.Features
* Fix tests
* PR review feedback: removed DefaultProviderWithFeatures
* merge with master
* fix tests
* use features.IsEnabledGlobally
2023-11-15 18:09:14 +01:00
Will Browne
b3ad61e180
Plugins: Add plugin version field to proto interface ( #78213 )
...
add plugin version
2023-11-15 16:53:30 +01:00
Andres Martinez Gotor
fcc2f01c7e
Chore: Update otel deps ( #78069 )
...
Co-authored-by: Giuseppe Guerra <giuseppe@guerra.in>
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2023-11-14 14:14:15 +01:00
Will Browne
4299efbc56
Plugins: Expose PID through proto interface ( #77821 )
...
* expose PID thru interface
* apply PR feedback
* simplify
* add read lock
2023-11-13 14:41:53 +01:00
Gábor Farkas
2d391c1bf5
postgresql: change plugin id ( #77444 )
...
* postgres: change plugin id
* fixed cue file
* codeowners update
* fixed backend test
2023-11-13 08:49:26 +01:00
Will Browne
19cd7dbae1
Plugins: Add API for creating pluginv2 proto client ( #77492 )
...
* first pass
* remove client from plugin
* fix wire
* update
* undo import change
* add opts
* add check
* tidy
* re-use logic
* rollback changes
2023-11-03 14:01:08 +01:00
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