* allow DatasourceOnboarding title and cta text customization
* Explore: use Datasource Onboarding page when visiting without any datasource set up
* move & rename DatasourceOnboarding
* Rename component
* Add adoption metrics for Cloud Monitoring
- Add metrics to track each query type (MQL/Time Series Query, Builder/Time Series Filter, SLO, Annotation)
* Remove hidden fields and account for pre 9.4 queries
* Simplify object
* Identify and show onCall contact points with a badge in case the plugin is installed
* Add onCall logo for onCall contact points Badge
* Refactor and make Grafana App Receiver type more generic, not only for onCall type
* Show onCall notification policy in the specific routing table with special onCall badge
* Fix tests
* Move onCall badge to the type column in contact points view table
* Fix typos and remove onCallIntegrations from tagTypes in alertingApi
* Fetch only local plugins instead of all (external are not needed) and don't fetch plugin details
* Use directly useGetOnCallIntegrationsQuery and more PR review suggestions
* Move onCall contact point to the top in the drop-down, in the notification policy view
* Add PR review requested changes
* Logs A11y: Support keyboard interactions with log lines
* LogRowMessage: specify text align
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Add icons, use them for split pane resizing
* Change icons
* Apply scale to child div
* Use fancier logic for displaying icon
* Remove color fill on icon
* Change icons, remove scale
* Change icons and logic
* Simplify underlying components
* Move state management deeper to RoleMenuGroupsSection component
* Get rid of some unnecessary props passing
* Reduce number of unnecessary re-renders
* Simplify state
* feat: grouping matrix transformer empty value
Allow grouping matrix data transformer to define the value used when the matrix entry is not defined
* fix: grouping to matrix empty value test
* remove balel width for empty value text
Co-authored-by: bohandley <brendan.ohandley@gmail.com>
* GoogleCloudMonitoring: Migrate queries to the new format
* Refactor Aligment and AligmentFunction components (#60235)
* Adapt CloudMonitoringDatasource and CloudMonitoringAnnotationSupport (#60177)
* Fix: avoid migration for new queries (#60375)
* Move preprocessor handling to the backend (#60383)
* Other fixes and new function (#60411)
* Adapt components to the new API (#60451)
* Split metrics query type in time series list and query (#60475)
* Clean up metricQuery references (#60478)
* More bug fixes (#60525)
* SQL Datasources: Use health check for config test
* Remove unnecessary test
* Fix test errors
* Revert mysql go driver update
* Use transform query error
* Use TransformQueryError from sql_engine
Time range added for public dashboard:
- Enable/Disable switch added in public dashboard configuration.
- Time range picker shown in public dashboard for viewer user
* Show unknown badge instead of Error in group rule modal in case of Mimir unknown interval
* Use red Badge with xclamation-circle icon in case of Error in ForBadge
* Fix typo
* add space between search field and result table
* add margin between checkbox and log group
* add space between result table and bottom buttons
* revert modal always open
* use secondary variant for cancel button
* fix spacing between selected log groups
* Add `RoleMenuGroupsSection` component
* Add plugin roles data structures
* Use `RoleMenuGroupsSection` for rendering roles
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* Geomap: Add color gradients to route layer
* Add support for all color schemes
* Address PR feedback: remove ! from verified object
* Add arrow support and simplify color functions
* Simplify and clean-up code
* Remove line width slider and drive width by size
* Drive arrow size based on size
* Allow arrows for fixed color
* Add gdev dashboard
* Use square line caps only when arrows are active
* Apply size to width for fixed color and size
* Handle arrows when size and color are fixed
* Add tags to gdev dashboard
* Fix null error in backend test for gdev dashboard
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* refactor header
* split left and right header actions
* cleanup
* fix broken tests
* move MetricsQueryEditor tests to QueryEditor tests
* fix mock imports
* remove no longer used onRunQuery func
* move run queries button
* apply defaults also when changing query type
* remove not used prop
* Add support for transformations
* Add tests for data transformers
* Provide replace function to transformations
* Unsubscribe from existing transformations stream if new data comes in
* fix DataSourceAddButton component
This component implicitly returned `false` when `canCreateDataSource`
was false, and that way it didn't qualify as a function component.
We fixed it to explicitly return null in this case.
* DataSourceAddButton: update function signature
This is more consistent with other code in this codebase.
* Enable editing evaluation interval in alert form when creating a new group
* Disable group when no folder selected and focus on group when clicking add new
* Improve group selector showing interval as a description for each option
* Fix evaluate every input and label aligment
* Fix columns width in EditRuleGroupModal rules table
* Reduce amount of space in the evaluation behaviour section
This commit renames contact point type to integration in the user interface
as "New contact point type" suggests that you are creating a new type,
when instead you are just creating a new integration of a pre-determined type,
such as email or Slack. You can also have two or more integrations of the same
type, something which is not apparent from the current text.
This change will also make it easier to explain the difference between
a contact point integration, and how to configure an integration of a certain type,
such as email.
* Chore: refactor test to improve internal categorization of scenarios
* feat(loki-monaco-unwrap): add unwrap situation support
* Chore: remove redundant path from aggregation situation
* feat(loki-monaco-unwrap): add unwrap suggestions
* feat(loki-monaco-autocomplete): rename IN_DURATION and add missing tests
* feat(loki-monaco-autocomplete): detect parser and line filter
* feat(loki-monaco-autocomplete): optionally suggest line filters and parsers
* feat(loki-monaco-autocomplete): improve suggestions and update completions tests
* feat(loki-monaco-autocomplete): allow for multiple line filters suggestions
* Chore: update situations test
* Chore: add test case for AFTER_UNWRAP completion
* feat(loki-monaco-autocomplete): use logs query instead of labels for data sample
* Chore: improve getParser function name and add tests
* Chore: update test mock data
* Update public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/situation.test.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* feat(loki-monaco-autocomplete): improve after unwrap detection
* feat(loki-monaco-autocomplete): remove leftover parser detection
* Chore: completely remove parser suggestion exclusion implementation
It was correct to have more than one parser, so we don't need to exclude parsers if one is present.
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Track events for rule creation/abortion
These events will be sent to Rudderstack using the EchoSrv in order to be consumed from Intercom
* Change method names and send user_id
* Track validation errors
* Only track errors for rule creation
* Implement getDefaultQuery for cloudwatch logs and metrics
* Fix bug with query reference in queryMigrations and replace tests
* Move migrate functions to /migrations, remove onChange from LogsQueryField
* [EMPTY] Retry CI
* Fix naming
* CloudWatch: Add arns to log insights button
* start test
* convert to function component
* add tests
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* Remove TraceID tab when TraceQL is enabled. Use TraceQL editor to query for trace IDs by checking whether the content is an hex only string
* Highlight valid trace IDs in traceql editor
* Update trace and span links to use TraceQL tab when feature flag is enabled
* Remove traceqlEditor feature flag.
* Remove traceId query type from Tempo and replace it with traceQl
* set custom width for modals in the loki query editor
* convert unit from px to vw
* add media query for smaller devices
* use theme breakpoints instead of @media
* Datasource settings: Add deprecation notice for database field
* SQL Datasources: Migrate from settings.database to settings.jsonData.database
* Check jsonData first
* Remove comment from docs
* Working on the all value
* Support for custom allValue
* Fixes
* More progress
* Progress
* Updated
* Fixed issue with multi and All value
* Clarified tests
* update feature tracking names
* track when label browser is opened
* remove old feature tracking
* report interaction on modal close
* update
* fix type error
* revert changes to modal
* revert changes to modal
* remove close method from report interaction
* remove close type for grafana_loki_log_browser_closed
* nit pick
* add closeType to grafana_loki_label_browser_closed
* WIP first attempt to query variable
* regex issue repro demo
* Refresh variable on time range change if refresh specified
* Instantiate variable runner when updating query variable options
* Simplify runners getTarget interface
* Fix issue with variable ot being updated correctly after other variable changed
* Add templateSrv.replace compatibility with query variable
* QueryVariable: use datasource variable as source
* use proper format
* Make sure variables set is correctly updated when query variable errors
* Do not destruct scopedVars when using sceneGraph.interpolate in templateSrv
* Add support for Legacy variables (metricFindQuery)
* Review
* Fix lint
* Test: Add unit for datasource by variable
* test: Add unit for datasource as var
* query: delegate interpolation to datasourceSrv
* Cleanup
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* Fix not all recently used time ranges showing
* Refactor time picker history to store simpler json objects
* Don't store duplicate items
* update todo tests:
* Add tests for TimePickerWithHistory
* better fix for focus scope issues in test
* Put traceID on top
* Update exemplar popover styles
* Remove console.log
* Make exemplar header opt-in via optional prop
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Update dependency @reduxjs/toolkit to v1.9.0
* fix types on mockToolkitActionCreator
* Fix external AM selector tests
* timeout added in shared public dashboard test
* Revert "timeout added in shared public dashboard test"
This reverts commit 205c295192.
* update to @reduxjs/toolkit@1.9.1
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* usageinsights: record events for Explore queries
* usageinsights: make the source field optional
It is not logical to have it for an event like the dashboard-view
* usageinsights: add comment to Explore test
Explain why we are reversing a previous decision
* Fix RuleEditor flaky test for existing grafana managed alert
* Fix RuleEditor flaky test for creating a new grafana managed alert
* Fix tests for cloud rules
* Split tests for different rule types
* Move common clickSelectOption method to helpers
* Remove from RuleEditorCloudRules.test.tsx a repeated cloud rule test
* Move existing grafana rule test case to a new file
* Split RuleEditorCloudRules test: move checking only allowed data sources test case to a new test file
* Re-use common ui const
* Re-use renderRuleEditor method
* Create getDiscoverFeaturesMock to reduce code
* add query tracking
* add app
* add comment
* use `reportInteraction` not `console.log`
* add test to `queryUtils`
* organize imports
* add datasource tests
* change `metrics` to `metric`
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* change `parseToArray` to `parseToNodeNamesArray`
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Elasticsearch: Fix removing of empty settings from query in backend implementation
* Update
* Update
* Update pkg/tsdb/elasticsearch/time_series_query.go
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Send time range params when requesting labels
* Update public/app/plugins/datasource/prometheus/datasource.tsx
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Send params when calling values too
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* RBAC: add viewer grand if dspermissions enforcement is not enabled
* RBAC: Change permissions based on role prefix
* RBAC: Add option to for permission service to add a license middleware
* RBAC: Remove actions from query struct
* wip
* wip
* almost there..
* wip - change so it can run.
* treelist is working.
* support CODEGEN_VERIFY env variable
* use log.fatal
* comment out old PluginTreeList code generation
* cleanup
* rename corelist package files
* fix makefile
* move pkg/codegen/pluggen.go to pkg/plugins/codegen
* copy and refactor files to pkg/plugins/codegen
* use pkg/plugins/codegen instead of pkg/codegen for core plugins code gen
* remove unneeded files
* remove unused code to resolve linting errors
* adapters first hack
* added flattener
* add back ignore build tags to go generate file
* cleaned up the code a bit.
* seems to work, needs to do some refactoring of the GoTypesJenns and TSTypesJenny.
* one more step, going to get upstream changes in this branch.
* working but need to run import tmpl in jenny_schemapath to have the proper imports.
* added header to generated files.
* added missing jenny.
* preventing plugins with multiple decls/schemas to insert multiple lines in corelist.
* fixed so we use Slot type from kindsys to detect if its group.
* adding a go jenny that only runs if the plugin has a backend.
* added version object to generated ts.
* generating the ts types with the same output as prior to this refactoring.
* removed code that is replaced by the jenny pattern.
* removed the go code that isn't used anymore.
* removed some more unused code and renamed pluggen to util_ts
* fixed linting issue.
* removed unused vars.
* use a jenny list postprocessor for header injection
* moved decl and decl_parser to pfs.
* removed the pre-pended header in the gotypes jenny since it is done in the postprocess.
* moved decl to pfs.
* removed unused template.
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* deprecate timeseries-many in favor of timeseries-multi
* deprecate timeseries-many, do not just remove it
* undo changes to jsonc files
* update deprecation message
* return TimeSeriesMulti for prepareTimeSeries transformer
* wip for exposing full nav tree in command palatte
* Expose whole nav tree in command palette
* give search an icon
* comments
* remove unused index variable
* navigate to parents
* include image icons
* comment
Unlocking the UI for AuthProxy users
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* feat(plugins-catalog): only allow admins to access plugins catalog routes
* add backend check
* fix(plugins-catalog): update route role access to include server admins
Co-authored-by: Will Browne <will.browne@grafana.com>
* navtree.go: update Data sources title and subtitle
* DataSourceList: move add button to header
* DataSourcesList: add buttons to items
The action buttons are added inside `<Card.Tags>` so that they end up at
the right end of the card, as it was designed.
The "Build a Dashboard" button's functionality is not defined yet.
* DataSourcesListHeader: add sort picker
* fix css
* tests: look for the updated "Add new data source" text
* tests: use an async test method to verify component updates are wrapped in an act()
* update e2e selector for add data source button
* fix DataSourceList{,Page} tests
* add comment for en dash character
* simplify sorting
* add link to Build a Dashboard button
* fix test
* test build a dashboard and explore buttons
* test sorting data source elements
* DataSourceAddButton: hide button when user has no permission
* PageActionBar: remove unneeded '?'
* DataSourcesList: hide explore button if user has no permission
* DataSourcesListPage.test: make setup prop explicit
* DataSourcesList: use theme.spacing
* datasources: assure explore url includes appSubUrl
* fix tests and add test case for missing permissions
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* refactor(PluginDetails): use react-router hooks instead of props
* Wip
* refactor: remove unnecessary constant
* feat: use the original plugin details page under connections
* chore: use better wording in the not-found warning
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* chore: use the renderer utility everywhere in the test
* chore: don't show a title while loading a plugin
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Tempo: Add the ability to show/hide the Span column in the table when using TraceQL
* Add optional chaining
* Update tests
* Show subcols in a subtable
* Add more space for the subtable
* Remove unused import
* Better expander icon. Improved the subtable styling. Integrated with real data
* Fix expanding the wrong index when table already has an expanded row
* ⚠️ Hack ⚠️ - Fix table links
* Link to spans
* Tempo: [TraceQL] Don't wrap the autocomplete vals for the status tag in quotes
* TraceQL result table improvements and fixes
* Include span name in the subtable
* Loop through data only if it is not nullish
* Integrate traceql with sub-tables
* Added booleans as keywords. Make query editor multiline
* Make date format consistent between trace and span
* Reset expanded indexes when data or subdata change
* Dynamic attributes by trace
* Fix test. Cleanup and refactor
* Tiny refactor
Co-authored-by: Hamas Shafiq <hamas.shafiq@grafana.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
* Lattice: Point to private prerelease of aws-sdk-go (#515)
* point to private prerelease of aws-sdk-go
* fix build issue
* Lattice: Adding a feature toggle (#549)
* Adding a feature toggle for lattice
* Change name of feature toggle
* Lattice: List accounts (#543)
* Separate layers
* Introduce testify/mock library
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
* point to version that includes metric api changes (#574)
* add accounts component (#575)
* Test refactor: remove unneeded clientFactoryMock (#581)
* Lattice: Add monitoring badge (#576)
* add monitoring badge
* fix tests
* solve conflict
* Lattice: Add dynamic label for account display name (#579)
* Build: Automatically sync lattice-main with OSS
* Lattice: Point to private prerelease of aws-sdk-go (#515)
* point to private prerelease of aws-sdk-go
* fix build issue
* Lattice: Adding a feature toggle (#549)
* Adding a feature toggle for lattice
* Change name of feature toggle
* Lattice: List accounts (#543)
* Separate layers
* Introduce testify/mock library
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
* point to version that includes metric api changes (#574)
* add accounts component (#575)
* Test refactor: remove unneeded clientFactoryMock (#581)
* Lattice: Add monitoring badge (#576)
* add monitoring badge
* fix tests
* solve conflict
* add account label
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* fix import
* solve merge related problem
* add account info (#608)
* add back namespaces handler
* Lattice: Parse account id and return it to frontend (#609)
* parse account id and return to frontend
* fix route test
* only show badge when feature toggle is enabled (#615)
* Lattice: Refactor resource response type and return account (#613)
* refactor resource response type
* remove not used file.
* go lint
* fix tests
* remove commented code
* Lattice: Use account as input when listing metric names and dimensions (#611)
* use account in resource requests
* add account to response
* revert accountInfo to accountId
* PR feedback
* unit test account in list metrics response
* remove not used asserts
* don't assert on response that is not relevant to the test
* removed dupe test
* pr feedback
* rename request package (#626)
* Lattice: Move account component and add tooltip (#630)
* move accounts component to the top of metric stat editor
* add tooltip
* CloudWatch: add account to GetMetricData queries (#627)
* Add AccountId to metric stat query
* Lattice: Account variable support (#625)
* add variable support in accounts component
* add account variable query type
* update variables
* interpolate variable before its sent to backend
* handle variable change in hooks
* remove not used import
* Update public/app/plugins/datasource/cloudwatch/components/Account.tsx
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Update public/app/plugins/datasource/cloudwatch/hooks.ts
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* add one more unit test
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* cleanup (#629)
* Set account Id according to crossAccountQuerying feature flag in backend (#632)
* CloudWatch: Change spelling of feature-toggle (#634)
* Lattice Logs (#631)
* Lattice Logs
* Fixes after CR
* Lattice: Bug: fix dimension keys request (#644)
* fix dimension keys
* fix lint
* more lint
* CloudWatch: Add tests for QueryData with AccountId (#637)
* Update from breaking change (#645)
* Update from breaking change
* Remove extra interface and methods
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
* CloudWatch: Add business logic layer for getting log groups (#642)
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Lattice: Fix - unset account id in region change handler (#646)
* move reset of account to region change handler
* fix broken test
* Lattice: Add account id to metric stat query deep link (#656)
add account id to metric stat link
* CloudWatch: Add new log groups handler for cross-account querying (#643)
* Lattice: Add feature tracking (#660)
* add tracking for account id prescense in metrics query
* also check feature toggle
* fix broken test
* CloudWatch: Add route for DescribeLogGroups for cross-account querying (#647)
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* Lattice: Handle account id default value (#662)
* make sure right type is returned
* set right default values
* Suggestions to lattice changes (#663)
* Change ListMetricsWithPageLimit response to slice of non-pointers
* Change GetAccountsForCurrentUserOrRole response to be not pointer
* Clean test Cleanup calls in test
* Remove CloudWatchAPI as part of mock
* Resolve conflicts
* Add Latest SDK (#672)
* add tooltip (#674)
* Docs: Add documentation for CloudWatch cross account querying (#676)
* wip docs
* change wordings
* add sections about metrics and logs
* change from monitoring to observability
* Update docs/sources/datasources/aws-cloudwatch/_index.md
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* apply pr feedback
* fix file name
* more pr feedback
* pr feedback
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* use latest version of the aws-sdk-go
* Fix tests' mock response type
* Remove change in Azure Monitor
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* WIP
* TablePanel: Add support for Count calculation per column or per entire dataset
* refactor
* refactor
* refactor + fixes
* refactor + tests
* Docs and cue model fix
* elastic: response parsing: convert TableModel to DataFrame
* elastic: response parsing: convert JSONDocumentData to DataFrame
* elastic: response parsing: convert TimeSeries to DataFrame
* elastic: unit tests: type fixes
* elastic: fixed unit test
* Update jest monorepo to v29
* update snapshots + wrap test in act
* fix linting errors: jest.mocked now defaults to deep mocking
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* TimeseriesPanel: Preserve string fields for data link interpolation
* clean code
* Modify tests so that string fields are allowed only when a valid time/number dataframe exists
* performance mods
* fix wrong length
* remove console.log
* Check if aligned dataframe has links