Commit Graph

10484 Commits

Author SHA1 Message Date
Giuseppe Guerra 652c6dbd22 Plugins: Refactoring: Move plugins tracing env vars to separate func (#66170) 2023-04-07 17:11:47 +02:00
Stephanie Hingtgen 536fad5b61 Plugins: add env variables needed for the secure socks proxy in the plugins sdk (#65878) 2023-04-07 08:20:25 -06:00
Matthew Jacobson 63187fae0c Alerting: Remove and revert flag alertingBigTransactions (#65976)
* Alerting: Remove and revert flag alertingBigTransactions

This is a partial revert of #56575 and a removal of the `alertingBigTransactions` flag.

Real-word use has seen no clear performance incentive to maintain this flag. Lowered db connection count
came at the cost of significant increase in CPU usage and query latency.

* Fix lint backend

* Removed last bits of alertingBigTransactions

---------

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2023-04-06 18:06:25 +02:00
gotjosh 1c3ce0735f Alerting: Tiny refactor on the eval and schedule packages (#66130)
* Alerting: Tiny refactor on the eval and schedule packages

two very small things:

- We had a constructor on something called a `Context` which is not a `context.Context` so let's just name that constructor `NewContext`
- The user that we use to run query evaluations is the same (with some variation) abstract it to a function so that it can be re-used when necessary.

* Update pkg/services/ngalert/schedule/schedule.go

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>

* Update pkg/services/ngalert/schedule/schedule.go

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>

---------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-04-06 16:02:28 +01:00
linoman 3e85c90759 Restructure the org upsert method (#64763) 2023-04-06 16:48:31 +02:00
Will Browne 7808e74260 Plugins: Skip instrumenting plugin build info for core and bundled plugins (#66105)
* only instrument plugin build for non core/bundled plugins

* fix import
2023-04-06 12:50:50 +02:00
Sofia Papagiannaki 988a120d6d Search v1: Add support for inherited folder permissions if nested folders are enabled (#63275)
* Add features dependency to SQLBuilder

* Add features dependency to AccessControlDashboardPermissionFilter

* Add test for folder inheritance

* Dashboard permissions: Return recursive query

* Recursive query for inherited folders

* Modify search builder

* Adjust db.SQLBuilder

* Pass flag to SQLbuilder if CTEs are supported

* Add support for mysql < 8.0

* Add benchmarking for search with nested folders

* Set features to AlertStore

* Update pkg/infra/db/sqlbuilder.go

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* Set features to LibraryElementService

* SQLBuilder tests with nested folder flag set

* Apply suggestion from code review

Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2023-04-06 11:16:15 +03:00
Ida Štambuk 2648fcb833 Cloudwatch: Add missing AWS/IVS namespace metrics (#65985) 2023-04-06 09:52:26 +02:00
Matthew Jacobson 85f738cdf9 Alerting: Add endpoint to revert to a previous alertmanager configuration (#65751)
* Alerting: Add endpoint to revert to a previous alertmanager configuration

This endpoint is meant to be used in conjunction with /api/alertmanager/grafana/config/history to
revert to a previously applied alertmanager configuration. This is done by ID instead of raw config
string in order to avoid secure field complications.
2023-04-05 14:10:03 -04:00
Kyle Brandt 6c6427e63f Chore: Use latest go-sdk (v0.158.0) (#66054)
SDK release notes:
* Logs contract: ignore remaining fields by @gabor in #659
* Logs contract: more robust field finding, explicit approach by @gabor in #660
* Tracing: Support multiple OTel propagators by @xnyo in #663
* Tracing: Add more details to HTTP Outgoing Request by @xnyo in #664
* Data: Encode Nanosecond into JSON by @kylebrandt in #647
* Data: cmp tests using FrameTestCompareOptions() will no longer ignore time differences beyond millisecond resolution
2023-04-05 21:00:31 +03:00
Ivana Huckova abc11d1dcf Elasticsearch: Run log context queries through backend (#65805)
* Elasticsearch: Run context queries trough backend

* Fix typing

* Update

* Add possibility to run context query torugh backend and frontend

* Correctly sort
2023-04-05 18:32:02 +02:00
Karl Persson 7cd6018253 GenericOAuth: Set sub as auth id (#65902)
* GenericOAuth: Set sud as auth id

* GenericOAuth: Extract function to reduce complexity
2023-04-05 17:24:06 +02:00
Ezequiel Victorero 232834f455 PublicDashboards: fix collapsed rows queries (#66014) 2023-04-05 10:35:00 -03:00
Andrej Ocenas 37eaf50197 FlameGraph: Use pyroscope/flamegraph (#65896) 2023-04-05 14:57:24 +02:00
Will Browne bff9f4c890 Plugins: Move config factory to pluginsintegration package (#65716)
* move config to pluginsintegration package

* change to all plugin toggle

* fixes

* fixes

* fix lerna

* fix test
2023-04-05 14:40:08 +02:00
Sofia Papagiannaki caac9838d8 Build: Fix Redis/Memcached integration tests (#64298)
* Build: Fix integration cache tests

* Allow REDIS_URL with scheme

* Reduce cache integration tests timeout to 5m

* Apply suggestion from code review

* Run redis/memcached integration tests in OSS pipelines

* Change redis image
2023-04-05 11:55:55 +03:00
Gábor Farkas 4ded937c79 Show traceids for failing and successful requests (#64903)
* tracing: show backend trace ids in frontend

* better trace id naming

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* better trace id naming

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* better trace id naming

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* added feature flag

* bind functionality to the feature flag

* use non-generic name for traceid header

* fixed tests

* loki: do not create empty fields

* do not add empty fields

* fixed graphite test mock data

* added unit-tests to queryResponse

* added unit-tests for backend_srv

* more typescript-friendly check

* added unit-tests for runRequest

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-04-05 09:13:24 +02:00
Ryan McKinley d974e5f25a TrendPanel: Add new trend panel (Alpha) (#65740) 2023-04-04 20:52:20 -07:00
Alexander Weaver fb520edd72 Alerting: Use a completely isolated context for state history writes (#64989)
* Add fresh context with timeout and same log properties, re-derive logger

* Unify timeout constants

* Move ctx after shortcut that got added through rebasing

* Unify timeouts

* Port opentracing's SpanFromContext and ContextFromSpan to the grafana tracing package

* Support both opentracing and otel variants

* Better document why we're creating a new ctx

* Add new func to FakeSpan which was added after rebase

* Support grafana-specific traceID key in both tracer implementations
2023-04-04 16:41:46 -05:00
Giuseppe Guerra f1eddbad06 Plugins: Tracing: Add test for composite propagation (#65917) 2023-04-04 23:16:57 +02:00
Will Browne 819c2f4ad8 Plugins: Remove unnecessary CDN code (#65929)
remove unnecessary code
2023-04-04 17:01:49 +02:00
Dan Cech d072b62960 Packaging: Remove chkconfig dependency (#65887)
Remove chkconfig dependency

This dependency prevents installation on recent opensuse as they no longer provide chkconfig.

As far as I can tell we don't use it anywhere so it shouldn't be required under any modern linux using systemd,
2023-04-04 07:05:35 -04:00
gotjosh 673aee30c2 Feature Flags: Remove dev-mode and alpha from grpc server feature flag (#65789)
* Feature Flags: Remove dev-mode from grpc server feature flag

---------

Co-authored-by: Todd Treece <todd.treece@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-04-04 08:42:07 +01:00
Sofia Papagiannaki a270188f0c Nested folders: Fix moving folder under root (#65684)
* Nested folders: Fix moving folder under root

* Add store test for not empty parent after update

* Modify folder and document store update implementation

Move folder only if NewParentUID is not nil

* Apply suggestion from code review
2023-04-03 21:24:36 +03:00
Joan López de la Franca Beltran 87a0c95164 Rendering: Experimental support to use JWTs as auth method (#60841)
* Rendering: Add support for auth through JWT

* Goimports

* Apply review suggestions

* Correct feature toggle ref

* Minor changes
2023-04-03 18:53:38 +02:00
George Robinson bd29071a0d Revert "Alerting: Add limits to the Prometheus Rules API" (#65842) 2023-04-03 15:20:37 +00:00
Guilherme Caulada 8f282b8a6e Build: Add CloudMode to build versions (#65651)
* Add CloudMode to build versions

* Use linux-amd64 variant without musl for cloud mode

* Add cloud mode to version folder on package upload

* Use musl variant for CloudMode

* Only sign rpm packages if there's any to sign

* Remove trailing whitespace
2023-04-03 11:15:39 -03:00
Galen Kistler 96e9e80739 Prometheus: Browser resource caching (#60711)
Add cache control headers and range snapping to Prometheus resource API calls.
2023-04-03 09:07:17 -05:00
Gábor Farkas 3ae39ff02b elasticsearch: removed code related to removed esVersion field (#65439)
elastic: remove code that references obsolete json field
2023-04-03 14:47:10 +02:00
Alexa V 2b0c0d4b95 Dashboards: Enable feature flag newPanelChromeUI by default (#65593) 2023-04-03 13:50:43 +02:00
Polina Boneva bf0f4a6751 Dashboard: Enable feature toggle emptyDashboardPage by default (#65464)
* enable FF emptyDashboardPage by default

* fix smoke test for creating a panel after enabling FF emptyDashboardPage by default
2023-04-03 14:04:54 +03:00
Giuseppe Guerra 2647b2e0f9 Plugins: Tracing: Disable distributed tracing for plugins by default (#65796)
* Plugins: Tracing: Disable tracing by default, pass GF_VERSION only if tracing is enabled

* Plugins: Tracing: Fix GF_PLUGIN_VERSION instead of GF_VERSION
2023-04-03 12:48:24 +02:00
George Robinson d96b0a71d3 Alerting: Add limits to the Prometheus Rules API (#65169)
This commit adds a number of limits to the Grafana flavor of the
Prometheus Rules API:

1. `limit` limits the maximum number of Rule Groups returned
2. `limit_rules` limits the maximum number of rules per Rule Group
3. `limit_alerts` limits the maximum number of alerts per rule

It sorts Rule Groups and rules within Rule Groups such that data in the
response is stable across requests. It also returns summaries (totals) for
all Rule Groups, individual Rule Groups and rules.
2023-04-03 10:17:02 +01:00
Ezequiel Victorero 63998b0ad2 PublicDashboards: fix annotations when Target is nil (#65744) 2023-03-31 19:13:06 -03:00
Santiago aba91d3053 Alerting: Fetch all applied alerting configurations (#65728)
* WIP

* skip invalid historic configurations instead of erroring

* add warning log when bad historic config is found

* remove unused custom marshaller for GettableHistoricUserConfig

* add id to historic user config, move limit check to store, fix typo

* swagger spec
2023-03-31 17:43:04 -03:00
Yuri Tseretyan 7b2f44762e Alerting: Update migration to put alerts to the default folder if dashboard folder is missing (#65577)
* extract function

* use context logger

* put alert to general folder if folder is missing

* move folderHelper init

* add test

* Update pkg/services/sqlstore/migrations/ualert/ualert.go

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-03-31 18:40:21 +02:00
Alexander Weaver da4832724e Alerting: Delete stub for SQL alert state history backend (#65667)
Delete stub for SQL backend
2023-03-31 11:15:56 -05:00
Stephanie Hingtgen 211beae736 MSSQL: Update forked go-mssqldb dependency (#65658) 2023-03-31 10:07:37 -06:00
Matthew Jacobson b9dc04139a Alerting: Respect "For" Duration for NoData alerts (#65574)
* Alerting: Respect "For" Duration for NoData alerts

This change modifies `resultNoData` to be more inline with the logic of the other state handlers.

The main effects of this are:

1) NoData states with NoDataState config set to Alerting will respect "For" duration.
2) Prevents zero value in StartsAt and EndsAt for alerts that have only even been in normal state. This includes state transitions from NoDataState=OK and ExecErrState=OK.
3) Better state transition logging.
2023-03-31 19:05:15 +03:00
Yuri Tseretyan ed8628e39d Alerting: Fix integration test for creating silences (#65722)
* fix integration test for creating silences

to create correct silence with endsAt in the future

* Update api_alertmanager_test.go
2023-03-31 18:44:05 +03:00
Karl Persson 46cfb73e21 AuthToken: client token rotation fix (#65709)
* AuthToken: respond with 401 if token is not found

* Set retry to one so we don't retry a failed token rotation
2023-03-31 16:44:08 +02:00
Karl Persson 355f47628f AuthN: Tune logs in client (#65714)
* AuthN: Remove log

* AuthN: Check for user not found error in hook
2023-03-31 16:43:24 +02:00
Ieva 94cc93cc83 LDAP: Always synchronize Server Admin role through role sync if role sync is enabled (#58820)
fix a bug with role sync
2023-03-31 15:39:23 +01:00
Steve Simpson 04336d53a9 Alerting: Update prometheus version (#65688) 2023-03-31 16:34:35 +02:00
Yuri Tseretyan 622c23716a Alerting: Use logger with context in the state cache (#65663) 2023-03-31 10:11:30 -04:00
Emil Tullstedt be9361cb9e Logger: Add feature toggle for errors in HTTP request logs (#64425) 2023-03-31 15:38:09 +02:00
Andrej Ocenas 977a7e9a55 Phlare: Rollback pprof code (#65689) 2023-03-31 15:27:14 +02:00
Ivana Huckova b09aa7d5f7 Elasticsearch: Add benchmarks for processing of requests and responses (#65354)
* Elasticsearch: Add benchmarks for processing of requests and responses

* Update, use package variable to elimitnate possible optimization

* Update, require no error
2023-03-31 11:59:11 +02:00
Andre Pereira 541a03f33b Tempo: TraceQL Configurable static fields (#65284)
* TraceQL - configurable static fields for new UI

* TraceQL - filter out static fields from Tags section. Added tooltip to static fields

* Add more units to duration validation. Improve duration field tooltip with accepted units

* Better control of delete button on SearchField

* Move new config behind feature toggle

* Special title for intrinsic "name"

* Fix tests

* Move static fields not in the datasource to the Tags section

* Start using the useAsync hook in the Tempo TraceQL configuration page to retrieve the tags and datasource

* Fix tests

* Fix test. Use useAsync to retrieve options in SearchField

* Remove ability to set a default value in filter configuration.
Removed type from filter, dynamic filters are now any filters not present in the datasource config

* Updated the static filters tooltip

* Replace useState + useEffect with useMemo for scopedTag
2023-03-31 10:35:37 +01:00
Ashley Harrison e39c3b76dd Navigation: Rename Alerts & incidents to Alerts & IRM (#65635)
update Alerts & incidents to Alerts & IRM
2023-03-31 09:40:06 +01:00