The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Go to file
Totalus 754aca25c5
Transformation: added support for excluding/including rows based on their values. (#26884)
* Adding FilterByValue transformer skeleton

* Connecting options with Editor

* Improving UI and making deep copy of options on change.

* Improving Transformation Editor UI

* Implementing Regex filtering

* Adding valueFilters.ts and creating filter registry

* Connecting the test function

* Correcting TypeScript errors

* Using FilterInstance instead of simple Filter test function

* Adding field.type as filter options

* Improving UI. Adding custom placeholder depending on filter.

* Implementing a few more filter types

* Implementing more filters

* Return original data if no filter were processed

* Improving UI

* Correcting TS errors

* Making sure inequality transform are invalid until the filterExpression is not empty

* Cleanup in the UI file

* Improving UI (highlight invalid fields)

* Only show filterType that are supported for the selected field

* Adding tests + correction of a filter

* Adding transformer test

* Adding doc

* Cleanup

* Typing props for FilterSelectorRow component

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>

* Moving rendering in the JSX

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>

* Memoizing filterTypeOptions computation

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>

* Improve code compactness

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>

* Cleanup + solving TS errors

* Updating some labels

* Wrapping stuff around useMemo and useCallback

* Using cloneDeep from lodash

* Don't highlight field name input if null

* Removing time type fields in selectable options

* We want loose equality in this scenario.

* Adding `onChange` to useCallback dependencies

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>

* Include or exclude matching any or all conditions

* Correcting field name matching

* Cleanup

* Don't highlight the filterExpression input when its empty

* Adding Range filter

* Updating doc

* Correcting TS error

* Only showing the Match All/Match Any option if more than one condition

* Two inputs for the Range filter instead of one

* Improving invalid highlight for Range filter type

* Cleanup

* Improving labels in UI

* Using ButtonSelect to improve UI

* editor UI updates.

* Updating tests

* Adding component for Regex

* Improve TS typing

* Adding components for the other filter types.

* Cleanup

* Correct error

* Updating valueFilter.test.ts

* Updating filterByValue.test.ts

* Reverting and removing Range filter

* Update docs/sources/panels/transformations.md

* starting to implement poc.

* added a small poc.

* wip

* added tests.

* added structure for dynamic value matcher editors.

* added more support.

* added some more value matchers.

* removed unused value filters.

* added some more matchers.

* adding more matchers.

* added a range matcher.

* fixing some tests.

* fixing tests.

* remove unused dep.

* making the matching a bit more performant.

* UX improvements and alignment fixes

* fixed delete button.

* fixed some spacing in the UI.

* added docs for matchers.

* adding docs and exposing value matcher types.

* will store dateTime as string.

* updated docs according to feedback.

* moved filter by value in transformation list.

* Improved description.

* added regex value filter.

* added support for regex.

* fixing failing tests.

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-12-01 10:22:37 +01:00
.circleci Circle: Remove release pipeline (#28474) 2020-10-22 16:22:48 +02:00
.github Automation: Adds GitHub release action (#29194) 2020-11-18 11:24:31 +01:00
conf Add an option to hide certain users in the UI (#28942) 2020-11-24 12:10:32 +01:00
contribute Update documentation-style-guide.md (#29354) 2020-11-24 12:41:39 -08:00
dashboard-schemas dashboard-schemas cue 3.0.0 compatible (#29352) 2020-11-25 07:43:09 +01:00
devenv Alerting: Add support for Sensu Go notification channel (#28012) 2020-11-27 19:09:24 +02:00
docs Transformation: added support for excluding/including rows based on their values. (#26884) 2020-12-01 10:22:37 +01:00
e2e Transformation: added support for excluding/including rows based on their values. (#26884) 2020-12-01 10:22:37 +01:00
emails Chore: MEGA - Make Eslint Great Again 💅 (#26094) 2020-08-11 17:52:44 +02:00
grafana-mixin reduce severity level to warning (#28939) 2020-11-20 10:30:51 +01:00
packages Transformation: added support for excluding/including rows based on their values. (#26884) 2020-12-01 10:22:37 +01:00
packaging Docker: use root group in the custom Dockerfile (#28639) 2020-10-29 15:02:09 +01:00
pkg Chore: Enable exhaustive linter (#29458) 2020-12-01 09:53:27 +01:00
plugins-bundled Expressions: Move GEL into core as expressions (#29072) 2020-11-19 07:17:00 -05:00
public Transformation: added support for excluding/including rows based on their values. (#26884) 2020-12-01 10:22:37 +01:00
scripts Chore: Enable exhaustive linter (#29458) 2020-12-01 09:53:27 +01:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.babelrc Performance/Webpack: Introduces more aggressive code-splitting and other perf improvements (#18544) 2019-09-03 09:29:02 +01:00
.bra.toml Chore: Upgrade to Go 1.14 (#23371) 2020-04-08 14:13:05 +02:00
.browserslistrc Fix: Autoprefixer is now working (#16351) 2019-04-02 18:15:30 +02:00
.dockerignore remove duplicated /tmp entry in .dockerignore 2018-08-09 09:10:53 +02:00
.drone.star Drone: Add version branch pipeline (#28490) 2020-10-23 10:16:17 +02:00
.drone.yml Drone: Upgrade build pipeline tool (#29365) 2020-11-25 10:54:27 +01:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Chore: eslint plugin react hooks fix in jeager (#27580) 2020-09-24 14:41:57 +02:00
.eslintrc ESlint: React fixes part 1 (#29062) 2020-11-18 15:36:35 +01:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore Build: changing docs docker image to prevent setting up frontend devenv. (#28670) 2020-10-30 10:22:01 +01:00
.prettierignore Migration: TestData Query Editor (#27997) 2020-10-14 13:08:35 +03:00
.prettierrc.js Prettier: Add prettier config that imports prettier from toolkit (#23729) 2020-04-21 17:23:49 +02:00
api-extractor.json Docs: added code comments for everything in the @grafana/runtime package. (#23456) 2020-04-15 10:46:51 +02:00
build.go Build: support custom build tags (#28609) 2020-10-29 11:28:23 +01:00
CHANGELOG_ARCHIVE.md Automation: Adds new changelog actions (#29142) 2020-11-16 21:34:19 +01:00
CHANGELOG.md ReleaseNotes: Updated changelog and release notes for 7.3.4 (#29430) 2020-11-27 10:53:13 +01:00
CODE_OF_CONDUCT.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
CONTRIBUTING.md IssueTriage: Needs more info automation and messages (#28137) 2020-10-16 16:49:55 +02:00
Dockerfile Docker: update docker root group docs and docker image (#29222) 2020-11-23 12:29:53 +01:00
Dockerfile.ubuntu Chore: Upgrade Node to 12.19.0 (#28168) 2020-10-12 07:10:50 +02:00
go.mod InfluxDB: update flux library and support boolean label values (#29310) 2020-11-23 13:19:52 -08:00
go.sum InfluxDB: update flux library and support boolean label values (#29310) 2020-11-23 13:19:52 -08:00
GOVERNANCE.md Add Alex Khomenko as member (#28032) 2020-10-05 15:08:16 +03:00
Gruntfile.js Chore: MEGA - Make Eslint Great Again 💅 (#26094) 2020-08-11 17:52:44 +02:00
ISSUE_TRIAGE.md GrafanaBot: Update labels and commands and adds docs (#28950) 2020-11-09 21:45:18 +01:00
jest.config.js Chore: Bump storybook to v6 (#28926) 2020-11-24 10:38:41 +01:00
latest.json Chore: Update latest.json (#29351) 2020-11-25 09:39:56 +01:00
lerna.json Chore: Update package.json (#28291) 2020-10-15 14:41:25 +02:00
LICENSE Small license correction 2019-03-21 16:36:24 +01:00
MAINTAINERS.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
Makefile Proposal to include a tidy check (#27204) 2020-09-21 10:00:44 +02:00
NOTICE.md Update NOTICE.md 2018-08-09 10:51:04 +02:00
package.json ReactGridLayout: Update dependency to 1.2 (#29455) 2020-11-29 18:10:51 +01:00
PLUGIN_DEV.md Update PLUGIN_DEV.md (#19387) 2019-09-26 12:40:47 +02:00
README.md Fix titles case and add missing punctuation marks (#28713) 2020-11-05 09:17:08 -05:00
ROADMAP.md Update ROADMAP.md (#19384) 2019-09-25 07:18:35 +02:00
SECURITY.md Docs: Fix broken link (#25664) 2020-06-18 14:08:26 +02:00
SUPPORT.md Update SUPPORT.md (#19383) 2019-09-25 07:17:01 +02:00
tsconfig.json Tests: Adds expects for observables (#28929) 2020-11-18 15:18:55 +01:00
UPGRADING_DEPENDENCIES.md Docs: Fix note format for documentation (#27940) 2020-09-30 12:45:07 -07:00
WORKFLOW.md Docs: Minor docs update 2020-11-10 12:14:02 +01:00
yarn.lock ReactGridLayout: Update dependency to 1.2 (#29455) 2020-11-29 18:10:51 +01:00

Grafana

The open-source platform for monitoring and observability.

License Circle CI Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:

  • Visualize: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

License

Grafana is distributed under the Apache 2.0 License.