Commit Graph
17405 Commits
Author SHA1 Message Date
Kevin Yu 70f600db10 Cloudwatch Logs: Make mixed type fields fallback to being strings (#63981)
* Cloudwatch Logs: make mixed type fields fallback to being strings

* addressing pr comments
2023-03-07 14:35:19 -08:00
Ezequiel VictoreroandChristopher Moyer 1a5ab1b308 PublicDashboards: Remove dev mode for share by email toggle (#64330)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-07 16:42:24 -03:00
Brendan O'HandleyandChristopher Moyer 9b6e531549 Prometheus: Metric encyclopedia (#63423)
* add metric encyclopedia feature toggle and component

* remove unused button

* move file, add test file

* add tests

* add pagination and tests

* test with 10,000,000 metrics

* remove unused import

* add filter by type

* search alphabetically and add switch to exclude metrics with no metadata

* add suggested functions and filter for functions

* allow user to select variables in encyclopedia

* fix style and tests

* add fuzzy search by either metric name or all metadata

* if missing metadata, remove metadata fuzzy search option, exclude metadata, and filter by type

* add encyclopedia feature tracking

* indicate that metrics are filtered by labels

* handle metric singular or plural

* add tooltips and fix language

* add filtering tests

* change 'search' to 'browse'

* remove functions filter and tests as not part of work flow

* add m.e. button and selected metric is a tag

* fix hanging search and update styles, padding, labels, and groupings

* small performance improvements

* fix tests

* add backend metrics query option

* add loading spinner for start load and backend search

* autofocus search input

* Update docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* run prettier

* run prettier

* fix text for feature toggle

* for license check since https://cla-assistant.io/check/grafana/grafana?pullRequest=<PR#> is not working

* fixing tests

* fix feature toggle docs

* fix feature toggle

* fix feature toggle

* add owner to feature toggle

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-07 13:41:05 -05:00
Will Browne 94f39e69a3 Plugins: Migrate plugincontext, adapters and pluginsettings to pkg/services/pluginsintegration package (#64154)
* migrate plugincontext, adapter and pluginsettings

* add to CODEOWNERS

* fix imports

* fix CODEOWNERS

* take pluginsettings

* migrate wire stuff
2023-03-07 11:22:30 -05:00
Artur WierzbickiandRyan McKinley 13650f3dc0 Code: codeownership for feature toggles (#64266)
* ownership for feature toggles v2

* add traceqlSearch

* MT -> app platform

* assign publicdashboards

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-03-07 20:04:20 +04:00
Ryan McKinley bb9ae04bd8 Chore: cleanup entity api from CodeQL scan (#64277)
cleanup
2023-03-07 07:54:25 -08:00
Will Browne 68df83c86d Plugins: Add Plugin FS abstraction (#63734)
* unexport pluginDir from dto

* first pass

* tidy

* naming + add mutex

* add dupe checking

* fix func typo

* interface + move logic from renderer

* remote finder

* remote signing

* fix tests

* tidy up

* tidy markdown logic

* split changes

* fix tests

* slim interface down

* fix status code

* tidy exec path func

* fixup

* undo changes

* remove unused func

* remove unused func

* fix goimports

* fetch remotely

* simultaneous support

* fix linter

* use var

* add exception for gosec warning

* fixup

* fix tests

* tidy

* rework cfg pattern

* simplify

* PR feedback

* fix dupe field

* remove g304 nolint

* apply PR feedback

* remove unnecessary gosec nolint

* fix finder loop and update comment

* fix map alloc

* fix test

* remove commented code
2023-03-07 16:47:02 +01:00
Alexander Weaver 4a1c18abf6 Alerting: Fix intermittency when seeding database in rule store tests (#64322)
Force unique IDs when seeding database
2023-03-07 09:40:55 -05:00
Dan Cech 9276f11388 Chore: Add stat for remote cache config (#64276)
* add stat for remote cache config
2023-03-07 09:24:04 -05:00
Ivana Huckova 07ab12c07d Elasticsearch: Rename time series query to es data query (#64225) 2023-03-07 13:57:24 +01:00
Ivana Huckova 3bd7217aa2 Elasticsearch: Remove _source field when processing raw data on backend (#64119)
* Elasticsearch: Remove _source field when processing raw data on backend

* Update snapshot test
2023-03-07 13:56:34 +01:00
Alex Khomenko 8999de4313 Cloudwatch: Use generated TS types (#63166)
* Add veneer

* Fix queries

* Remove redundant type

* Fix todos

* Sync and fix some todos

* Revert unrelated changes

* Revert unrelated changes[2]

* Revert unrelated changes[3]
2023-03-07 14:39:52 +02:00
Pepe Fagoaga fa0f640d6a SQL Engine: Handle one session to connect the DB (#63246)
fix(postgresql): Handle one session to the DB
2023-03-07 10:33:59 +01:00
Andrej Ocenas 58eb25e47d Phlare: Refactor the pprof transform (#64028) 2023-03-07 10:26:51 +01:00
Karl PerssonandJo 872d2d1e1c AuthN: Login error handling (#64239)
* Social: Fix type so it appears in error responses

* AuthN: construct errutil.Error from social.Error

* login: Check for errutil.Error and use public message

* Login: redirectURLWithErrorCookie for authn errors

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-03-07 09:57:25 +01:00
Andres Martinez Gotor c67bb07968 Docs: sync plugin JSON info in the different files (first part) (#63750) 2023-03-07 09:14:51 +01:00
Isabella Siu 4f3d64e8b7 CloudWatch: Make deeplinks work for us-gov and china regions (#64080) 2023-03-06 16:00:59 -05:00
Todd TreeceandWill Browne e217854c24 Chore: Add initial support for deployment modes (#63992)
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-03-06 14:06:52 -05:00
Will Browne 88666f9bbd Plugins: Fix Cache-Control header response for public/plugins/* assets API (#64051)
* fix caching

* fixeroo

* simplify

* undo changes

* fix test
2023-03-06 12:42:18 -05:00
George Robinson ed71012ced Alerting: Fix Classic Conditions $values variable (#64243)
This commit fixes a bug in the $values variable in notification
templates when using Classic Conditions. Since Classic Conditions
are not multi-dimensional, the values of each series that exceeded
the condition should be available as a RefID and offset. For example,
B0, B1, etc. However, this bug meant that instead just a single
condition would be printed as B, not B0.
2023-03-06 12:08:00 -05:00
Alexander Weaver 19d01dff91 Alerting: Expose Prometheus metrics for persisting state history (#63157)
* Create historian metrics and dependency inject

* Record counter for total number of state transitions logged

* Track write failures

* Track current number of active write goroutines

* Record histogram of how long it takes to write history data

* Don't copy the registerer

* Adjust naming of write failures metric

* Introduce WritesTotal to complement WritesFailedTotal

* Measure TransitionsFailedTotal to complement TransitionsTotal

* Rename all to state_history

* Remove redundant Total suffix

* Increment totals all the time, not just on success

* Drop ActiveWriteGoroutines

* Drop PersistDuration in favor of WriteDuration

* Drop unused gauge

* Make writes and writesFailed per org

* Add metric indicating backend and a spot for future metadata

* Drop _batch_ from names and update help

* Add metric for bytes written

* Better pairing of total + failure metric updates

* Few tweaks to wording and naming

* Record info metric during composition

* Create fakeRequester and simple happy path test using it

* Blocking test for the full historian and test for happy path metrics

* Add tests for failure case metrics

* Smoke test for full annotation persistence

* Create test for metrics on annotation persistence, both happy and failing paths

* Address linter complaints

* More linter complaints

* Remove unnecessary whitespace

* Consistency improvements to help texts

* Update tests to match new descs
2023-03-06 10:40:37 -06:00
gotjosh 5422f7cf56 Alerting: Add metrics for active receiver and integrations (#64050)
* Alerting: Add metrics for active receiver and integrations

Introduces metrics that allows us to track the number of configured receivers and integration in the Alertmanager for all orgs.

As a bonus, I realised that the alert reception metrics where not being exported nor collected. This does that too.
2023-03-06 16:37:07 +00:00
Andre Pereira fd37ff29b5 Tempo: New Search UI using TraceQL (#63808)
* WIP of creating new components to support the Search tab using TraceQL

* Search fields now require an ID. Added duration fields to new Search UI

* Distinguish static from dynamic fields. Added dynamic tags input

* Moved new search behind traceqlSearch feature flag. Added handling of different types of values to accurately wrap them in quotes when generating query.

* Hold search state in TempoQuery to leverage state in URL. Moved types to schema file

* Use a read only monaco editor to render a syntax highlighted generated query. Added tooltip to duration. Added query options section

* Support multiple values using the regex operator and multi input

* Delete dynamic filters

* Automatically select the regex op when multiple values are selected. Revert to previous operator when only one value is selected

* Added tests for SearchField component

* Added tests for the TraceQLSearch component

* Added tests for function that generates the query

* Fix merge conflicts

* Update test

* Replace Search tab when traceqlSearch feature flag is enabled. Limit operators for both name fields to =,!=,=~

* Disable clear button for values

* Changed delete and add buttons to AccessoryButton. Added descriptions to operators

* Remove duplicate test

* Added a prismjs grammar for traceql. Replaced read only query editor with syntax highlighted query. Removed spaces between tag operator and value when generating query.

* Fix support for custom values when isMulti is enabled in Select

* Use toOption function
2023-03-06 16:31:08 +00:00
Karl Persson 66ef5325d1 AuthN: add metrics for login and authentication (#63783)
* AuthN: Add metrics
2023-03-06 17:07:57 +01:00
Jo 45fde4235b Deps: Replace go-jose v2 with go-jose v3 (#64228)
replace go-jose v2 with go-jose v3
2023-03-06 15:12:51 +01:00
Karl Persson 4ede9fc7a4 AuthN: User sync info clean up (#64217)
* AuthN: handle case where auth_info exists but not the user
2023-03-06 14:17:48 +01:00
Ivana Huckova 7353299495 Elasticsearch: Fix using of correct size for log and document queries on backend (#64155)
* Elasticsearch: Fix using of correct size for log and document queries

* Fix linting
2023-03-06 13:41:45 +01:00
Ivana Huckova 50cf024fef Elasticsearch: Uncomment FIXME parts of test in TestRefIdMatching (#64156) 2023-03-06 13:35:00 +01:00
Sofia Papagiannaki e41311e8be Library elements: Add MySQL migration for increasing the column size (#63856)
* Library elements: Add MySQL migration for increasing column size
2023-03-06 12:13:30 +01:00
Serge Zaitsev 0bdb105df2 Chore: Remove xorcare/pointer dependency (#63900)
* Chore: remove pointer dependency

* fix type casts

* deprecate xorcare/pointer library in linter

* rooky mistake
2023-03-06 05:23:15 -05:00
Sofia Papagiannaki fde96c91c1 Chore: Differentiate the ErrOrgNotFound error messages (#64131)
* Better org not found error messages
2023-03-06 09:57:46 +02:00
Ryan McKinley b7d8589588 FieldType: Add enum type and include it in testdata scenarios (#64059) 2023-03-03 13:37:56 -08:00
Tania 40ba848bf5 Codegen: Render disjunctions in docs (#63590)
* Codegen: Render disjunctions in docs

* Fix references

* Regenerate docs
2023-03-03 17:48:25 +01:00
Eric LeijonmarckandAlexander Zobnin ad4b053231 API keys: Remove state hideAPIkeys and refactor interface to IsDisabled (#64018)
* remove state and refactor interface to IsDisabled

* update docs and span

* Update pkg/services/apikey/apikey.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-03-03 16:12:34 +00:00
Sofia Papagiannaki e6e8351ee9 Chore: Remove CreateUserForTests() (#64125)
* Chore: Remove CreateUserForTests

* Apply suggestion from code review
2023-03-03 11:01:23 -05:00
IevaandKristin Laemmert a52999a886 Access Control: revert to using folder store from the scope resolvers (#64132)
* revert to using folder store from the resolvers

* fixing tests after revert

* api test fixes

---------

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2023-03-03 10:56:33 -05:00
Kristin Laemmert dbb72f2c6e fix: create temp user no longer sets ID to 0 for all users (#64149)
* fix: create temp user no longer sets ID to 0 for all users

The xorm tag added to the tempuser ID field caused xorm to create all temp users with ID 0. Removing that tag allows xorm to set the ID based on the database result instead. I also added a test which was failing before this.

Fixes #63995
2023-03-03 10:50:54 -05:00
Ashley Harrison d61bcdf4ca Chore: Pass signed user_hash to Intercom via Rudderstack (#63921)
* move analytics identifiers to backend

* implement hash function

* grab secret from env

* expose and retrieve intercom secret from config

* concat email with appUrl to ensure uniqueness

* revert to just using email

* Revert "revert to just using email"

This reverts commit 8f10f9b1bc.

* add docstring
2023-03-03 14:39:53 +00:00
Giordano Ricci 4a7fbea7a4 Correlations: Fix flaky integration tests (#64004)
* Correlations: Fix flaky integration tests

* set explore-squad as correlations tests code owners
2023-03-03 13:23:46 +00:00
Karl Persson f258adadbf AuthN: add utility functions for different type of login responses (#64133)
* AuthN: add utility functions to handle response and redirect after
successful login

* API: Reuse utility functions for logins if authnService flag is enabled
2023-03-03 14:17:09 +01:00
juanicabanas c59682fad6 PublicDashboards: Paused or deleted public dashboard screen (#63970) 2023-03-03 10:12:29 -03:00
Jo 92f47e72e1 Authn: Add missing jwt auth stat (#64127)
add missing jwt auth stat
2023-03-03 13:39:08 +01:00
Dimitris Sotirakis b42fd92fad Docker Build: Use tonistiigi/binfmt image for cross compilation (#64108)
* Change docker image used for cross-compilation

* Replace fmt.Println with log.Println

* Add specific tag for docker image
2023-03-03 10:44:54 +01:00
Eric Leijonmarck 76bc288d67 Service accounts: Remove revertapikeys endpoint (#64020)
* remove revertapikeys endpoints

* remove unused method
2023-03-03 09:03:06 +00:00
Alexander Weaver 8ea71d37c2 SQLStore: Enable clientFoundRows for MySQL connections (#64070)
Enable clientFoundRows for MySQL connections
2023-03-02 16:31:01 -06:00
Yuri Tseretyan e760f22402 Alerting: Use background context for maintenance function (#64065) 2023-03-02 14:19:52 -05:00
Ezequiel Victorero 4cc0399ee5 PublicDashboards: add recipient uid to recipient list (#63982) 2023-03-02 15:20:24 -03:00
Emil TullstedtandSofia Papagiannaki 10ee900beb Errors: Remove direct dependencies on github.com/pkg/errors (#64026)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-03-02 16:28:10 +01:00
8c8f584b41 Plugins: Extend panel menu with links from plugins (#63089)
* feat(plugins): introduce dashboard panel menu placement for adding menu items

* test: add test for getPanelMenu()

* added an unique identifier for each extension.

* added context to getPluginExtensions.

* wip

* Wip

* wiwip

* Wip

* feat: WWWIIIIPPPP 🧨

* Wip

* Renamed some of the types to align a bit better.

* added limit to how many extensions a plugin can register per placement.

* decreased number of items to 2

* will trim the lenght of titles to max 25 chars.

* wrapping configure function with error handling.

* added error handling for all scenarios.

* moved extension menu items to the bottom of the more sub menu.

* added tests for configuring the title.

* minor refactorings.

* changed so you need to specify the full path in package.json.

* wip

* removed unused type.

* big refactor to make things simpler and to centralize all configure error/validation handling.

* added missing import.

* fixed failing tests.

* fixed tests.

* revert(extensions): remove static extensions config in favour of registering via AppPlugin APIs

* removed the compose that didn't work for some reason.

* added tests just to verify that validation and error handling is tied together in configuration function.

* adding some more values to the context.

* draft validation.

* added missing tests for getPanelMenu.

* added more tests.

* refactor(extensions): move logic for validating extension link config to function

* Fixed ts errors.

* Update packages/grafana-data/src/types/app.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packages/grafana-runtime/src/services/pluginExtensions/extensions.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* refactor(extensions): rename limiter -> pluginPlacementCount

* refactor(getpanelmenu): remove redundant continue statement

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-03-02 15:42:00 +01:00
Ludovic Viaud 5bd2fac9c8 InfluxDB: Update InfluxQL querybuilder to qualify identifiers (#62230) 2023-03-02 15:05:24 +01:00