Selene
37cbed4b48
Rendering: Check if default image exists to avoid breaking reports if it's moved ( #40930 )
2021-10-27 16:08:03 +02:00
knuzhdin
3df001db93
ImageRendering: fix leakage of the rendering inflight counter ( #34607 )
2021-08-28 09:05:03 +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
Agnès Toulet
0757ba1c64
Renderer: delete debug.log file when Grafana is stopped ( #37367 )
2021-07-30 17:29:02 +02:00
Agnès Toulet
5f6c172b5a
Renderer: add version information ( #34964 )
...
* Renderer: add version information
* fix alerting test
2021-06-04 14:33:49 +03:00
idafurjes
1e8e7e34f1
Plugins: Remove support for deprecated backend plugin protocol version ( #34127 )
...
* 33959: Remove support for deprecated backend plugin protocol (v1)
* 33959: Remove unused methods
* 33959: Remove some additional unused code
* 33959: Remove some additional unused code
* 33959: Remove datasource plugin wrapper with test
* 33959:Remove DefaultProtocolVersion
2021-05-19 08:57:48 +02:00
Agnès Toulet
ec71919e7b
Rendering: add CSV support ( #33729 )
...
* Rendering: add CSV rendering support
* Rendering: save csv files into a separate folder
* add missing field
* Renderer: get filename from renderer plugin
* apply PR suggestions
* Rendering: remove old PhantomJS error
* Rendering: separate RenderCSV and Render functions
* fix alerting test
* Rendering: fix handling error in HTTP mode
* apply PR feedback
* Update pkg/services/rendering/http_mode.go
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com >
* apply PR feedback
* Update rendering metrics with type label
* Rendering: return error if not able to parse header
* Rendering: update grpc generated file
* Rendering: use context.WithTimeout to render CSV too
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com >
2021-05-12 17:16:57 +02: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
47f13abf7a
Backend: Migrate to using non-global configuration ( #31856 )
...
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-03-10 12:41:29 +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
Arve Knudsen
50b649a869
Middleware: Add CSP support ( #29740 )
...
* Middleware: Add support for CSP
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored by @iOrcohen
2021-01-12 07:42:32 +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
Arve Knudsen
12661e8a9d
Move middleware context handler logic to service ( #29605 )
...
* middleware: Move context handler to own service
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Emil Tullsted <sakjur@users.noreply.github.com >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
2020-12-11 11:44:44 +01:00
Arve Knudsen
f2b7fbc32a
Chore: Check errors from Close calls ( #29562 )
...
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-12-03 10:11:14 +01:00
Arve Knudsen
f55818ca70
Chore: Enable exhaustive linter ( #29458 )
...
* Chore: Enable exhaustive linter
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-12-01 09:53:27 +01:00
Arve Knudsen
9593d57914
Chore: Enable errorlint linter ( #29227 )
...
* Enable errorlint linter
* Handle wrapped errors
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com >
2020-11-19 14:47:17 +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
cb62e69997
Chore: Convert API tests to standard Go lib ( #29009 )
...
* Chore: Convert tests to standard Go lib
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
2020-11-13 09:52:38 +01:00
Arve Knudsen
7897c6b7d5
Chore: Fix staticcheck issues ( #28854 )
...
* Chore: Fix issues reported by staticcheck
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Undo changes
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-11-05 11:57:20 +01: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
Arve Knudsen
d4e4cb4c71
Chore: Enable Go linter gocritic ( #26224 )
...
* Chore: Enable gocritic linter
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-07-16 14:39:01 +02:00
Arve Knudsen
41d432b5ae
Chore: Enable whitespace linter ( #25903 )
...
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-07-06 20:17:28 +02:00
Alexander Zobnin
fa710a3172
Rendering: Add metrics ( #23827 )
...
* Rendering: base metrics
* Rendering: rendering_queue_size metric
* Chore: fix linter error
* Rendering metrics: refactoring
* Apply suggestions from code review
Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com >
* Rendering metrics: handle DeadlineExceeded errors
* Rendering metrics: don't measure canceled request time
* Rendering metrics: revert deleting summary for canceled requests
* Update pkg/services/rendering/rendering.go
Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com >
* Rendering: return ErrTimeout if context deadline exceeded
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
2020-04-27 15:29:46 +03:00
Marcus Efraimsson
58de0dabd4
Alerting: Upload error image when image renderer unavailable ( #23713 )
...
When Include image is enabled for an alert notification channel, but there's
no image renderer available/installed when sending notification an error
image will be uploaded/attached explaining that you need to install the
Grafana Image Renderer plugin.
Ref #13802
Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com >
2020-04-24 11:35:55 +02:00
Leonard Gram
ebdbb0c96d
Rendering: makes sure IsAvailable can be used during init of other services ( #23817 )
...
* Rendering: makes sure service knows if it is configured after Init()
* Rendering: refactor
2020-04-23 14:44:52 +02:00
Marcus Efraimsson
61de19250d
Image Rendering: Make it work using serve_from_sub_path configured ( #23706 )
...
Make rendering work when using serve_from_sub_path and not have rendering.renderer_url configured.
Fixes #21925
2020-04-21 19:57:11 +02:00
Marcus Efraimsson
871ad73414
Backend plugins: Renderer v2 plugin ( #23625 )
...
grafana-plugin-model is legacy and is replaced by new backend
plugins SDK and architecture. Renderer is not part of SDK and
we want to keep it that way for now since it's highly unlikely there
will be more than one kind of renderer plugin.
So this PR adds support for renderer plugin v2.
Also adds support sending a Device Scale Factor parameter to the
plugin v2 remote rendering service and by that replaces #22474 .
Adds support sending a Headers parameter to the plugin v2 and
remote rendering service which for now only include
Accect-Language header (the user locale in browser when using
Grafana), ref grafana/grafana-image-renderer#45 .
Fixes health check json details response.
Adds image renderer plugin configuration settings in defaults.ini
and sample.ini.
Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com >
2020-04-21 16:16:41 +02:00
Marcus Efraimsson
6e313e7d37
Image Rendering: Remove PhantomJS support ( #23460 )
...
Removes all references and usage of PhantomJS #23375 .
Remove direct link rendered image e2e smoke test for now.
Docker: Fix installing chrome in ubuntu custom docker image.
Improve handling of image renderer not available/installed #23593 .
Add PhantomJS breaking change and upgrading notes.
Use grabpl v0.2.10.
Closes #13802
Co-authored-by: Kyle Brandt <kyle@grafana.com >
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com >
2020-04-15 22:17:41 +02:00
Marcus Efraimsson
d0a80c59f3
Rendering: Store render key in remote cache ( #22031 )
...
By storing render key in remote cache it will enable
image renderer to use public facing url or load
balancer url to render images and thereby remove
the requirement of image renderer having to use the
url of the originating Grafana instance when running
HA setup (multiple Grafana instances).
Fixes #17704
Ref grafana/grafana-image-renderer#91
2020-02-19 19:47:39 +01:00
Marcus Efraimsson
6e80315531
Image Rendering: Fix render of graph panel legend aligned to the right using Grafana image renderer plugin/service ( #21854 )
...
Don't render class body--phantomjs on body element when
PhantomJS renderer not is in use.
Fixes #21830
2020-01-30 17:35:32 +01:00
Carl Bergquist
5dbd7c9e58
Add link guide for installing new renderer ( #21702 )
2020-01-28 10:57:55 +01:00
Marcus Efraimsson
d2b08c8368
Render: Use https as protocol when rendering if HTTP2 enabled ( #21600 )
...
This fixes so that protocol is https instead of h2 when rendering
image if Grafana is configured to use HTTP2.
Ref grafana/grafana-image-renderer#77
2020-01-20 00:43:02 +01:00
Marcus Efraimsson
71ffd1d108
Alerting: Fix image rendering and uploading timeout preventing to send alert notifications ( #21536 )
...
* svc alerting - use a shorter ctx to upload the img
This will prevent timeout on img upload to cancel the notifications from being sent
* components img uploader - pass the ctx to aws lib
* make webdavuploader use the ctx
* make azureblobuploader use the ctx
* rename uploadImage() to renderAndUploadImage()
for better clarity about what this method work
* Use timeout + 2s for plugin renderer (same as service and phantomjs)
* Make sure that original EvalContext is updated after render and upload
* Verify notification sent even if render or image upload times out
* fix lint
* fixes after review
Co-authored-by: Edouard Hur <3418467+hekmon@users.noreply.github.com >
Fixes #21018
2020-01-17 12:07:16 +01:00
Marcus Efraimsson
baba1634b8
Plugins: Use grafana-plugin-sdk-go v0.5.0 ( #21116 )
...
* fix dispense
* plugin loading refactor
Moves common functionality of registering, starting,
stopping and restarting backend plugins to
backendplugin package.
* simplify plugin descriptors
* target sdk v0.5.0
Co-authored-by: Kyle Brandt <kyle@kbrandt.com >
2020-01-08 11:43:28 -05:00
Marcus Efraimsson
34236ca1ae
Chore: Improve rendering logging ( #21008 )
...
Moving info log from phantomjs to rendering service
so it's logged for all kinds of renderers.
Add debug log for image renderer plugin and remote
renderer.
2019-12-11 15:06:59 +01:00
Paul Traylor
10d36b282b
Renderer: Add user-agent to rendering plugin requests ( #20956 )
2019-12-09 09:11:40 +01:00
Jon Gyllenswärd
1b38d94537
Image-rendering: Cleanup of rendering code ( #20496 )
2019-11-20 09:26:59 +01:00
Jon Gyllenswärd
7a8c6a9b54
Reporting: Handle timeouts in rendering ( #20415 )
...
* Added timeout in grpc call to plugins for rendering
2019-11-18 16:58:15 +01:00
Kyle Brandt
009d58c4a2
Plugins: Transform plugin support ( #20036 )
...
currently temporary separate http api
2019-10-29 12:22:31 -04:00
Arve Knudsen
35e0e078b7
pkg/util: Check errors ( #19832 )
...
* pkg/util: Check errors
* pkg/services: DRY up code
2019-10-23 10:40:12 +02:00
Sofia Papagiannaki
7f40dc5317
Image rendering: Add deprecation warning when PhantomJS is used for rendering images ( #18933 )
...
* Add deprecation warning
* Update pkg/services/rendering/rendering.go
Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com >
2019-09-10 16:16:51 +03:00
Andrej Ocenas
8c49d27705
CLI: Allow installing custom binary plugins ( #17551 )
...
Make sure all data is sent to API to be able to select correct archive version.
2019-07-29 10:44:58 +02:00
Leonard Gram
2014549fa5
PhantomJS: Fixes rendering on Debian Buster ( #18162 )
...
Closes #17588
2019-07-20 13:03:10 +02:00
zhulongcheng
2fff8f77dc
move log package to /infra ( #17023 )
...
ref #14679
Signed-off-by: zhulongcheng <zhulongcheng.me@gmail.com >
2019-05-13 08:45:54 +02:00
Carl Bergquist
a86b8c8a04
http: remove dualstack since its deprecated ( #16940 )
...
Deprecated: Fast Fallback is enabled by default. To
disable, set FallbackDelay to a negative value.
https://golang.org/src/net/dial.go
2019-05-08 10:37:48 +02:00
bergquist
f7c8d90d1a
phantomjs: set web-security to true
2019-04-29 14:37:52 +02:00
Oleg Gaidarenko
54c1bf0cc9
Chore: a bit of spring cleaning ( #16710 )
...
* Chore: use early return technic everywhere
And enable "indent-error-flow" revive rule
* Chore: remove if-return rule from revive config
* Chore: improve error messages
And enable "error-strings" revive rule
* Chore: enable "error-naming" revive rule
* Chore: make linter happy
* Chore: do not duplicate gofmt execution
* Chore: make linter happy
* Chore: address the pull review comments
2019-04-23 11:24:47 +03:00
Marcus Efraimsson
36f3accf0d
log phantomjs output even if it timeout and include orgId when render alert
2019-03-06 13:53:23 +01:00
Torkel Ödegaard
cb96c6d942
Changed setting to be an alerting setting
2018-09-25 12:17:04 +02:00
Torkel Ödegaard
4dab595ed7
rendering: Added concurrent rendering limits
2018-09-24 16:14:11 +02:00