* Add information that Loki as Prometheus data source is not supported
* Fix ugly error when loki as prometheus used
* Refactor, add test
* Fix type error
* Fix test by passing missing method
* Update public/app/plugins/datasource/prometheus/query_hints.ts
* Remove optionality in prop
* [WIP] Metrics browser
* Removed unused import
* Metrics selection logic
* Remove redundant tests
All data is fetched now regardless to the current range so test for checking reloading the data on the range change are no longer relevant.
* Remove commented out code blocks
* Add issue number to todos
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* If POST, pass params as data not in url string
* Fix metricNameAndLabelsQuery
* Improve test for new functionality
* Add multiple parameters in test scenarios
* Change urlParams to object
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.
* Remove unnecessary _ import from Graph component
* Enforce lodash import style
* Fix remaining lodash imports
* Run post-friendly request with set method first
* Improve messaging, retry only when post and specific status code
* Add comments
* Fix backend
* Update public/app/plugins/datasource/prometheus/datasource.ts
* Implement POST to specific endpoints and change POST as default
* Add tests for PromSettings
* Add tests to dataosurce.ts for new functionality
* Remove /label /series implementation
* Update public/app/plugins/datasource/prometheus/configuration/PromSettings.tsx
* Fix typos
* Query exemplars API
* Add link to traceID
* Update exemplar to show more information
Reduce exemplars density
* Fix typos
* Query exemplars API
* Add link to traceID
* Update exemplar to show more information
Reduce exemplars density
* Update GraphNG legend type
* Show new graph component in Explore
* Add exemplar annotation a design update
* Graph panel not to show red line annotation
Exemplar plugin to use y value
* Address review comments
* Density filter for exemplars
* Update schema of exemplars
* Density filter with y-value sampling
* Enforce axis scales to include 0
* Changes after merge with master
* Show metrics when there is no result
* Decorators tests fix
* ExemplarMarker to receive component prop
* Remove context menu from explore graph
* Add color to graph
* Update explore graph panel
* Update graph config to use default values
* Fix data source tests
* Do not show exemplars outside of graph
* Add exemplars switch
* Fix typos
* Add exemplars query only when enabled
* Show graph in explore without filling it
* Update exemplars plugin y value scale selection
* Update tests
* Add data source picker for internal linking
* Increase pointSize for better visibility
* Fix explore e2e test
* Fix data link title variable interpolation
* Use new switch component in PromExemplarField
* Move FieldLink component to new file
* Convert exemplar to datalink
* Add legend toggling logic to Explore
* Add legend toggling to Explore
* Address Ivana's feedback
* Address Andrej's comments
* Address Gio's feedback
* Add tests for result_transformer
* Fix eslint issues
* Change sampler formula for better readability
Co-authored-by: David Kaltschmidt <david@leia.lan>
Co-authored-by: David Kaltschmidt <david@leia.fritz.box>
Co-authored-by: David Kaltschmidt <david.kaltschmidt@gmail.com>
* Chore: Remove angular dependency from data sources
* Removes default export for time and template srvs
Also uses @grafana/runtime versions of the interfaces where possible
* Replace usage of internal templateSrv where possible
* Use runtime templateSrv in a couple more places
* Add typing to prometheus response
* Refactor result_transformer to return DataFrame
* Refactor + test fixes
* Fix Prometheus data source test
* Modify heatmap function + add back tests
* Update performInstantQuery return type
* Remove duplicate code from result_transformer
* Address review comments
* Update metric labels retrival logic to be safer
* Add time range parameters to labels API
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
* Fix minor issues
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
* Add range to explore component
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
* Add range to query component
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
* Cache metric names for time range
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
* Update public/app/plugins/datasource/prometheus/components/PromQueryField.tsx
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Remove unused method
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
* Only compare the ranges
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
* Update public/app/plugins/datasource/prometheus/components/PromQueryField.tsx
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Make graph and table collapsing just a UI thing
* Remove showingGraph and showingTable, set them defaultly to true
* Remove collaapsing for panels in Explore
* UI toggle WiP
* WIP, add query type
* Refactor, clean up
* Update tests
* Clean uo
* Update rangeAll to range and instant
* Remove console logs
* Update packages/grafana-data/src/types/datasource.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update public/app/core/utils/explore.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Fix prettier error
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Add rate interval variable to prometheus data source
* Add tests + auto complete
* Fix prometheus tests
* Add doc
* Modify test title
* Modify kbn method name after merge
* Run query on splitOpen action
* Escape \ in prometheusRegularEscape
* Revert "Run query on splitOpen action"
This reverts commit 3559b6c5739f351f4e797c57069bc937bd06c065.
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
* BackendSrv: Observable all the way POC
* starting to unify code paths
* tests pass
* Unified error handling
* Single request path and error handling
* Fixed ts issue
* another ts issu
* Added back old requestId cancellation
* Slow progress trying to grasp the full picture of cancellation
* Updates
* refactoring
* Remove a bunch of stuff from backendSrv
* Removed another function
* Do not show error alerts for data queries
* Muu
* Updated comment
* fixed ts issue
* unify request options type
* Made query inspector subscribe to backendSrv stream instead of legacy app events
* Add back support for err.isHandled to limit scope
* never show success alerts
* Updated tests
* Fixing tests
* Minor weak
* Improved logic for the showErrorAlert and showSuccessAlert boolean flags, now they work more logically
* Fix issue
* Table: Adds adhoc filtering
* Refactor: changes after PR comments
* Refactor: hides filtering for data sources that do not support modifyQuery in Explore
* Refactor: fixes strict null error
* Changed tooltip position to above icon
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Prometheus: Add off switch for metric/label name lookup
This will help users with amounts of metric name
data that is too much for a browser to handle.
Autocomplete will be disabled and metrics chooser hidden,
since obviously both rely on this data.
Fixes#22702
* Use onUpdateDatasourceJsonDataOptionChecked
... from `@grafana/data`. Refactor naming to faciliate its
use and stick with prop names as passed down from
`ConfigEditor`.
PLUS:
- Rephrase switch label, add a tooltip and reduce the
size of the to what "Custom query parameters" originally
was.
- Change `languageProvider` type in `PromQueryField`.
* Put language provider back in
Functions and history still work, even when metrics
lookup gets disabled.
Also: Rewording of setting.
* Display a message when lookup got disabled manually
* Call property for setting disableMetricsLookup
* Show disabled metrics chooser instead of warning
* Fix: Show results of instant queries in Explore tables
* Add PreferredVisualisationType to meta
* Implement visualisation exception for Prometheus
* Implement visualisation exception for Elastic
* Make $__range more precise in Prometheus
It is now always equivalent to `${__range_s}s`, rather than rounding
down to an integer multiple of the biggest possible unit. For example,
a range of 47 hours is now represented as `169200s` rather than `1d`.
Closes#21689.
* Update a unit test to match new __range calc
* Chore: Remove angular dependency from backendSrv
* Refactor: Naive soultion for logging out unauthorized users
* Refactor: Restructures to different streams
* Refactor: Restructures datasourceRequest
* Refactor: Flipped back if statement
* Refactor: Extracted getFromFetchStream
* Refactor: Extracts toFailureStream operation
* Refactor: Fixes issue when options.params contains arrays
* Refactor: Fixes broken test (but we need a lot more)
* Refactor: Adds explaining comments
* Refactor: Adds latest RxJs version so cancellations work
* Refactor: Cleans up the takeUntil code
* Refactor: Adds tests for request function
* Refactor: Separates into smaller functions
* Refactor: Adds last error tests
* Started to changed so we require getBackendSrv from the @grafana-runtime when applicable.
* Using the getBackendSrv from @grafana/runtime.
* Changed so we use the getBackendSrv from the @grafana-runtime when possible.
* Fixed so Server Admin -> Orgs works again.
* Removed unused dependency.
* Fixed digest issues on the Server Admin -> Users page.
* Fix: Fixes digest problems in Playlists
* Fix: Fixes digest issues in VersionHistory
* Tests: Fixes broken tests
* Fix: Fixes digest issues in Alerting => Notification channels
* Fixed digest issues on the Intive page.
* Fixed so we run digest after password reset email sent.
* Fixed digest issue when trying to sign up account.
* Fixed so the Server Admin -> Edit Org works with backendSrv
* Fixed so Server Admin -> Users works with backend srv.
* Fixed digest issues in Server Admin -> Orgs
* Fix: Fixes digest issues in DashList plugin
* Fixed digest issues on Server Admin -> users.
* Fix: Fixes digest issues with Snapshots
* Fixed digest issue when deleting a user.
* Fix: Fixes digest issues with dashLink
* Chore: Changes RxJs version to 6.5.4 which includes the same cancellation fix
* Fix: Fixes digest issue when toggling folder in manage dashboards
* Fix: Fixes bug in executeInOrder
* Fix: Fixes digest issue with CreateFolderCtrl and FolderDashboardsCtrl
* Fix: Fixes tslint error in test
* Refactor: Changes default behaviour for emitted messages as before migration
* Fix: Fixes various digest issues when saving, starring or deleting dashboards
* Fix: Fixes digest issues with FolderPickerCtrl
* Fixed digest issue.
* Fixed digest issues.
* Fixed issues with angular digest.
* Removed the this.digest pattern.
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
Closes#19598
Fixes bug introduced recently where the new PromQueryEditor did not preserve
the PromContext.Explore set on the query model by PromQueryField which caused
the table to be empty for Prometheus in explore.
Much easier to wrap one's head around it if it is expressed more
directly.
This is not mathematically the same as the previous version involved
more rounding than necessary because of the way the intervalFactor was
handled. I'd argue the new version is better because it gets closer to
the 11,000 points limit and thus approaches better what the user
wanted within the limits of Prometheus.
Note that in practice, the 11,000 points limit should never be of
relevance. (Even a 4k screen doesn't have 11k points on the x axis.)
Signed-off-by: beorn7 <beorn@grafana.com>