Commit Graph

84 Commits

Author SHA1 Message Date
Arve Knudsen 82f4fc2783
Fail when server is unable to bind port (#20409)
* Server: Return error when unable to bind port
* Server: Exit if a service fails
* Build: Remove graceful kill from Bra config
2019-11-18 09:49:08 +01:00
Arve Knudsen 573e78feeb
pkg/cmd: Check errors (#19700)
* pkg/cmd: Check errors
* pkg/cmd: Make sure server waits on services, even in case of error
* pkg/cmd: Inform of error to show help
* pkg/cmd: Only warn on failure to send systemd notification
* pkg/cmd: Don't log errors stemming from context cancelation
* pkg/cmd: Don't fail if unable to write to systemd
2019-10-15 16:44:15 +02:00
Marcus Olsson 428ca600c0
Chore: Refactor grafana-server (#19796)
* Rename GrafanaServerImpl to Server

* Make flag dependencies explicit

* Extract method for building service graph

* Document and clarify methods

* Rename HttpServer to HTTPServer
2019-10-14 14:18:22 +02:00
Marcus Efraimsson e1df51109e
Fix so that correct cache is provided to di registry (#17566)
This fix prevents Grafana from crashing after being logged in.

Ref #17519
2019-06-13 12:15:52 +02:00
Carl Bergquist 6809d2bb29
codestyle: moves cache to infra (#17519) 2019-06-13 10:55:38 +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
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
bergquist 7e7427637c renames distcache -> remotecache 2019-03-11 10:49:55 +01:00
bergquist daa3b17951 code layouts and comments 2019-03-11 10:49:42 +01:00
Leonard Gram 36788183d8 service: fix for disabled internal metrics.
Update of the internal metrics for Grafana was
disabled by mistake when refactoring the code.

Fixes #15651
2019-02-26 11:41:55 +01:00
Carl Bergquist 369aa2d5dd
Merge pull request #15628 from bergquist/move_tracing_infra
moves tracing packge into /infra
2019-02-25 16:16:45 +01:00
bergquist 60fef31748 moves social package to /login
ref #14679
2019-02-25 15:30:40 +01:00
bergquist 0c67194b45 moves tracing packge into /infra 2019-02-25 15:29:25 +01:00
bergquist 8a3a3cccc3 moves metric package to /infra
ref #14679
2019-02-24 21:12:51 +01:00
Marcus Efraimsson 8ae066ab5d
move authtoken package into auth package 2019-02-06 17:02:57 +01:00
bergquist ff136b6ba8 initial verison of server lock 2018-12-17 16:36:57 +01:00
Marcus Efraimsson a6a1362ad1
temporary fix for starting grafana not running systemd 2018-11-21 18:15:28 +01:00
Mario Trangoni 774ad3ff39 pkg/cmd/grafana-server/server.go: Check sendSystemdNotification return value.
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=errcheck ./...
server.go:165:25⚠️ error return value not checked (sendSystemdNotification("READY=1")) (errcheck)
2018-11-13 21:21:18 +01:00
Mario Trangoni dae7c11a5f pkg/cmd/grafana-server/server.go: check serviceGraph.Provide() errors
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=errcheck ./...
pkg/cmd/grafana-server/server.go:77:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: bus.GetBus()})) (errcheck)
pkg/cmd/grafana-server/server.go:78:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: g.cfg})) (errcheck)
pkg/cmd/grafana-server/server.go:79:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: routing.NewRouteRegister(middleware.RequestMetrics, middleware.RequestTracing)})) (errcheck)
pkg/cmd/grafana-server/server.go:80:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: cache.New(5*time.Minute, 10*time.Minute)})) (errcheck)
pkg/cmd/grafana-server/server.go:87:23⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: service.Instance})) (errcheck)
pkg/cmd/grafana-server/server.go:90:22⚠️ error return value not checked (serviceGraph.Provide(&inject.Object{Value: g})) (errcheck)
2018-11-13 20:02:55 +01:00
Marcus Efraimsson 5d4dc18bbc
revert application lifecycle event support 2018-10-30 12:31:28 +01:00
Marcus Efraimsson 2332b3e205
remove unused code 2018-10-30 09:34:09 +01:00
Marcus Efraimsson 9edaa3fa8c
application lifecycle event support 2018-10-30 09:32:32 +01:00
Marcus Efraimsson cfb061ddab
refactor datasource caching 2018-10-30 09:31:56 +01:00
bergquist c9ac762fb1 build: adds branch info to binary build 2018-10-29 13:27:29 +01:00
Carl Bergquist 88783d6e0a avoid calling os.Exit outside main.go (#12459)
I don't think we should call os.Exit outside main.go. Calling
os.Exit breaks the application control flow.
2018-06-29 22:48:26 -07:00
Torkel Ödegaard 7a7c6f8fab fix: log close/flush was done too early, before server shutdown log message was called, fixes #12438 2018-06-28 04:38:23 -07:00
bergquist dbfafa1cb5 routing: allows routes to be added to existing groups
this enables services to add routing to ex /api
without causing conflicts.
2018-06-25 16:50:27 +02:00
Torkel Ödegaard 80d694d205
Backend image rendering as plugin (#11966)
* rendering: headless chrome progress

* renderer: minor change

* grpc: version hell

* updated grpc libs

* wip: minor progess

* rendering: new image rendering plugin is starting to work

* feat: now phantomjs works as well and updated alerting to use new rendering service

* refactor: renamed renderer package and service to rendering to make renderer name less confusing (rendering is internal service that handles the renderer plugin now)

* rendering: now render key is passed and render auth is working in plugin mode

* removed unneeded lines from gitignore

* rendering: now plugin mode supports waiting for all panels to complete rendering

* fix: LastSeenAt fix for render calls, was not set which causes a lot of updates to Last Seen at during rendering, this should fix sqlite db locked issues in seen in previous releases

* change: changed render tz url parameter to use proper timezone name as chrome does not handle UTC offset TZ values

* fix: another update to tz param generation

* renderer: added http mode to renderer service, new ini setting [rendering] server_url
2018-05-24 15:26:27 +02:00
Torkel Ödegaard d0c17100cb fix: fixed some minor startup logging issues 2018-05-18 11:17:31 +02:00
Torkel Ödegaard 6c0752473a
Sqlstore refactor (#11908)
* refactor: tracing service refactoring

* refactor: sqlstore to instance service

* refactor: sqlstore & registory priority

* refactor: sqlstore refactor wip

* sqlstore: progress on getting tests to work again

* sqlstore: progress on refactoring and getting tests working

* sqlstore: connection string fix

* fix: not sure why this test is not working and required changing expires

* fix: updated grafana-cli
2018-05-18 11:10:10 +02:00
Torkel Ödegaard 27e1c67453
refactor: tracing service refactoring (#11907) 2018-05-10 16:51:55 +02:00
bergquist 65352dccc0 only error log when err is not nil 2018-05-08 11:59:27 +02:00
Torkel Ödegaard c40a50829d fix: removed manully added http server from inject graph as it is now a self registered service 2018-05-02 21:30:15 +02:00
Torkel Ödegaard e3ea6c683c fix: comment spell fix 2018-05-02 19:56:15 +02:00
Torkel Ödegaard 23655315b8 fix: fixed race condition between http.Server ListenAndServe & Shutdown, now service crash during startup correctly closes http server every time 2018-05-02 19:56:15 +02:00
Torkel Ödegaard d04ad835e2 refactoring: lots of refactoring around server shutdown flows, making sure process is terminated when background service has crashed 2018-05-02 19:56:15 +02:00
Torkel Ödegaard 053c2039bb refactor: provisioning service refactoring 2018-05-02 19:56:15 +02:00
Torkel Ödegaard 14bb7832af
Metrics package now follows new service interface & registration (#11787)
* refactoring: metrics package now follows new service interface & registration

* fix: minor fix, make sure metrics service is imported, by grafana-server
2018-05-02 19:54:07 +02:00
Torkel Ödegaard 2b93cbbf04 --amend 2018-05-01 14:18:10 +02:00
Torkel Ödegaard 13e015fe3f fix: improved handling of http server shutdown 2018-05-01 14:14:11 +02:00
Torkel Ödegaard fa7d7ed5df
Initial Baby Step to refactoring settings from global vars to instance (#11777)
* wip: start on refactoring settings

* settings: progress on settings refactor

* refactor: progress on settings refactoring

* fix: fixed failing test

* settings: moved smtp settings from global to instance
2018-04-30 16:21:04 +02:00
Carl Bergquist 2cc855a131 Merge branch 'master' into notification-service-refactor2 2018-04-27 16:59:14 +02:00
Torkel Ödegaard a8eed9d344 Refactoring PluginManager to be a self registering service (#11755)
* refator: refactored PluginManager to be a self registering service, a lot more work needed to fully make plugin manager use instance variables and not so many globals
2018-04-27 15:11:55 +02:00
Torkel Ödegaard df71fe33fd refactor: refactoring notification service to use new service registry hooks 2018-04-27 14:15:17 +02:00
Carl Bergquist 28f7b6dad1 Enable Grafana extensions at build time. (#11752)
* extensions: import and build

* bus: use predefined error

* enterprise: build script for enterprise packages

* poc: auto registering services and dependency injection

(cherry picked from commit b5b1ef875f905473af41e49f8071cb9028edc845)

* poc: backend services registry progress

(cherry picked from commit 97be69725881241bfbf1e7adf0e66801d6b0af3d)

* poc: minor update

(cherry picked from commit 03d7a6888b81403f458b94305792e075568f0794)

* ioc: introduce manuel ioc

* enterprise: adds setting for enterprise

* build: test and build specific ee commit

* cleanup: test testing code

* removes example hello service
2018-04-27 13:41:58 +02:00
bergquist 45d9bfca97 print to stderr since logger might not exist 2018-03-28 22:51:21 +02:00
Julian Kornberger 0a415c50d0 Make golint happier 2018-03-22 22:38:44 +01:00
Julian Kornberger 7aab6a8887 Make golint happier 2018-03-22 12:40:21 +01:00
bergquist 75a54e85dc dont spawn new subprocess while shutting down 2017-12-25 14:12:25 +01:00
bergquist 411e8a16c2 backend plugins: manage plugins lifecycle with context 2017-12-11 15:05:06 +01:00