Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

druid datasource fixes #93

Merged
merged 3 commits into from
Oct 14, 2023

Conversation

gurinder39
Copy link

@gurinder39 gurinder39 commented Oct 13, 2023

Summary by CodeRabbit

  • New Feature: Added support for the Druid data source in Grafana's time series database (tsdb). This includes the ability to handle and format group-by, timeseries, and top-N data from Druid.
  • Test: Introduced new test functions to validate the correct unmarshalling of JSON data into various result structures.
  • Chore: Updated JavaScript source file path in the fn_dashboard microfrontend.

@github-actions
Copy link

github-actions bot commented Oct 13, 2023

Image description CodeRabbit

Walkthrough

This pull request introduces support for the Druid data source in Grafana's time series database (tsdb). It includes changes to core plugin registration, addition of new types and functions for handling Druid results, and updates to test cases. A minor change in a JavaScript file path is also included.

Changes

Files Summary
pkg/api/plugin_resource_test.go, pkg/plugins/manager/manager_integration_test.go, pkg/plugins/backendplugin/coreplugin/registry.go, pkg/plugins/pfs/corelist/corelist_load_gen.go, pkg/server/wire.go These files involve changes to the TestCallResource function and the addition of the druid package as a dependency. They update the arguments passed to the coreplugin.ProvideCoreRegistry function by adding additional nil values and include it in the coreRegistry initialization. These changes suggest that the codebase now supports integration with the Druid data source.
pkg/tsdb/druid/column_type.go, pkg/tsdb/druid/result/common.go, pkg/tsdb/druid/result/groupby.go, pkg/tsdb/druid/result/timeseries.go, pkg/tsdb/druid/result/topn.go, pkg/tsdb/druid/result/groupby_test.go, pkg/tsdb/druid/result/timeseries_test.go, pkg/tsdb/druid/result/topn_test.go The added code defines several functions and types in the druid and result packages. This includes a function detectColumnType for determining column types based on their values, a function toTypedResults for converting raw data into typed results, and types GroupByResult, GroupByRecord, TimeseriesResult, TimeseriesRecord for handling and formatting group-by and timeseries data. New test functions are also added to validate the correctness of these functionalities.
public/microfrontends/fn_dashboard/index.html The diff shows a change in the source file path for a JavaScript script. The previous path was "../../../public/build/fn_dashboard.f70eea41e2b210c53c4a.js" and it has been updated to "../../../public/build/fn_dashboard.c31d0eede6e9c2fa2d94.js".

🐇💻

In the land of code, where logic is king,

A new data source, joy it will bring.

Druid now joins, with data so vast,

Making Grafana's capabilities unsurpassed!

Tests ensure correctness, as they should,

And the rabbit rejoices, "The code is good!" 🎉


Uplevel your code reviews with CodeRabbit Pro

CodeRabbit Pro

If you like this project, please support us by purchasing the Pro version. The Pro version has advanced context, superior noise reduction and several proprietary improvements compared to the open source version. Moreover, CodeRabbit Pro is free for open source projects.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

Commits Files that changed from the base of the PR and between 4bcfeda and faf294c commits.
Files selected (13)
  • pkg/api/plugin_resource_test.go (1)
  • pkg/plugins/backendplugin/coreplugin/registry.go (4)
  • pkg/plugins/manager/manager_integration_test.go (3)
  • pkg/plugins/pfs/corelist/corelist_load_gen.go (1)
  • pkg/tsdb/druid/column_type.go (1)
  • pkg/tsdb/druid/druid.go (1)
  • pkg/tsdb/druid/result/common.go (1)
  • pkg/tsdb/druid/result/groupby.go (1)
  • pkg/tsdb/druid/result/groupby_test.go (1)
  • pkg/tsdb/druid/result/timeseries.go (1)
  • pkg/tsdb/druid/result/timeseries_test.go (1)
  • pkg/tsdb/druid/result/topn.go (1)
  • pkg/tsdb/druid/result/topn_test.go (1)
Files ignored due to filter (2)
  • go.mod
  • go.sum
Files not summarized due to errors (1)
  • pkg/tsdb/druid/druid.go (diff tokens exceeds limit)
Files skipped from review due to trivial changes (7)
  • pkg/plugins/backendplugin/coreplugin/registry.go
  • pkg/plugins/pfs/corelist/corelist_load_gen.go
  • pkg/tsdb/druid/result/groupby.go
  • pkg/tsdb/druid/result/timeseries.go
  • pkg/tsdb/druid/result/topn.go
  • pkg/tsdb/druid/result/topn_test.go
  • pkg/tsdb/druid/druid.go (diff too large)
Review comments generated (8)
  • Review: 3
  • LGTM: 5

Tips

Chat with Image description CodeRabbit Bot (@coderabbitai)

  • Reply on review comments left by this bot to ask follow-up questions. A review comment is a comment on a diff or a file.
  • Invite the bot into a review comment chain by tagging @coderabbitai in a reply.

Code suggestions

  • The bot may make code suggestions, but please review them carefully before committing since the line number ranges may be misaligned.
  • You can edit the comment made by the bot and manually tweak the suggestion if it is slightly off.

Pausing incremental reviews

  • Add @coderabbitai: ignore anywhere in the PR description to pause further reviews from the bot.

pkg/api/plugin_resource_test.go Show resolved Hide resolved
pkg/tsdb/druid/column_type.go Show resolved Hide resolved
pkg/tsdb/druid/result/common.go Show resolved Hide resolved
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

Commits Files that changed from the base of the PR and between faf294c and 88d3bc0 commits.
Files selected (2)
  • pkg/server/wire.go (3)
  • public/microfrontends/fn_dashboard/index.html (1)
Files skipped from review due to trivial changes (1)
  • public/microfrontends/fn_dashboard/index.html
Review comments generated (3)
  • Review: 0
  • LGTM: 3

Tips

Chat with Image description CodeRabbit Bot (@coderabbitai)

  • Reply on review comments left by this bot to ask follow-up questions. A review comment is a comment on a diff or a file.
  • Invite the bot into a review comment chain by tagging @coderabbitai in a reply.

Code suggestions

  • The bot may make code suggestions, but please review them carefully before committing since the line number ranges may be misaligned.
  • You can edit the comment made by the bot and manually tweak the suggestion if it is slightly off.

Pausing incremental reviews

  • Add @coderabbitai: ignore anywhere in the PR description to pause further reviews from the bot.

@gurinder39 gurinder39 merged commit f4721f8 into fluxninja_micro_frontends Oct 14, 2023
2 checks passed
@gurinder39 gurinder39 deleted the gurinder/druid-datasource branch October 14, 2023 02:35
GurinderRawala pushed a commit that referenced this pull request Aug 27, 2024
* druid datasource fixes

* wire gen fix
GurinderRawala added a commit that referenced this pull request Sep 3, 2024
* [v9.3.x] OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (grafana#58940)

OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (grafana#58782)

* Add ApprovalForce to AuthCodeOptions

* Extract access token validity check to a function

* Refactor

* Oauth: set options internally instead of exposing new function

* Align tests

* Remove unused function

Co-authored-by: Karl Persson <[email protected]>
(cherry picked from commit 9c98314)

Co-authored-by: Misi <[email protected]>

* [v9.3.x] Preferences: Add confirmation modal when saving org preferences (grafana#59119) (grafana#59141)

* Navigation: share logic between `buildBreadcrumbs` and `usePageTitle`… (grafana#59155)

Navigation: share logic between `buildBreadcrumbs` and `usePageTitle` (grafana#58819)

* simplify usePageTitle logic a bit

* use buildBreadcrumbs logic in usePageTitle

* always add home item to navTree, fix some tests

* fix remaining unit tests

(cherry picked from commit 824a562)

* [v9.3.x] CloudWatch: Cross-account querying support  (grafana#59389)

* add cross-account querying support

* fix tests

* FN FluxNinja changes

* Run `go mod tidy`

* Fix druid plugin registration

* FN FluxNinja changes

* FN FluxNinja changes

* Build: Streamline and sync dockerfiles (grafana#58101)

* streamline and sync dockerfiles

* improve go dependency cacheability

* unify alpine and ubuntu Dockerfiles

* include glibc support in locally-built alpine images

* FN Remove internationalization provider

* FN Update sankey panel (30b5be0b5bf03ee8c7)

* FN Render filters and time selector, hide loader despite pageNav and sectionNav

* FN Remove tenary expressions with explicit booleans in DashNav

* FN Use optional chaining - keybindingSrv in initDashboard

* FN Set isPublicDashboardView to false

* FN Set hiddenVariables in initial FN state

* FN Lint RenderFnDashboard

* FN Lint create-mfe

* Updated SSH Keys (#43)

* Time range selector changes (#42)

* changed time picker dropdown designs

* change time setting button

* added dark and light

* 7829 Read hiddenVariables, mode, FNDashboard from grfana's state (#44)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* Add tool versions (#45)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* Added support for updating nightly environment (#46)

* 7911 Add graphql datasource plugin (#47)

* 7911 Update FN_README

* 7911 Add graphql plugin

* 7911 Add graphql plugin

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* 7911 Allow loading unsigned graphql plugin (#49)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* 7911 Modify url in graphql datasource plugin (#50)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* Minor grafadruid fixes (#51)

* Support Druid GroupBy queries (#52)

* 8225 Fix missing grafana loader (#53)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* Fix ad hoc filters (#54)

* 8238 Remove panel header menu (#55)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* added presisted time range (#56)

* Updates to latest instead of demo environment (#57)

* Loading dashboards with update function (#58)

* changed dashboard loading to use update fn

* removed extra package

* changed query filter designs (#59)

* Add ChatGPT-based PR Reviewer and Summarizer (#62)

* fix (#63)

* 8822 ci (#66)

* 8822 Remove dashes from dashboard filter labels

* 8822 Empty commit

---------

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* 8740 Fix variables in titles by using PanelHeader component to render panel header (#64)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* update action

* update review job name (#69)

* Load dashboard with specific version passed from FN UI (#68)

* Add full metadata for versions query too (#70)

* 8963 Remove edit icons in dashboard row (#71)

Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>

* Update openai-review.yml (#73)

* Update openai-review.yml

* update action

* Fix table panel (#75)

* Grafana firefox (#77)

* vscode fix

* fixed firefox bugs

---------

Co-authored-by: Gurinder Singh <[email protected]>

* Pull latest time range changes from upstream grafana (#78)

* Support math expressions for druid granularity (#81)

* Remove font size from global styles (#82)

* Add fnLoader in grafana instead of prop from parent mfe (#83)

* Fixed CircleCI config (#84)

* Font update, bug fixes (#85)

* Fix grafana bugs

* Update grafana font to source sans pro

* Revert code format change

* replace function error fix (#87)

* Add missing config in opsninja.yaml (#88)

* Update font to Source Sans Pro (#90)

* filter label design fix (#92)

* druid datasource fixes (#93)

* druid datasource fixes

* wire gen fix

* page definations fix (#94)

* Fix headers in Druid DS (#97)

Co-authored-by: Jakub Michalak <[email protected]>

* Pass headers to Druid query (#99)

* Fix headers in Druid variable queries (#100)

* typing error fix and modifications (#101)

* typing error fix and modifications

* react-use module installed

* Fix type error and adhoc filter alignment

* Fix one more type error

---------

Co-authored-by: Spikatrix <[email protected]>

* render time range selector any where, removed dead code (#103)

* removed graphql data source, updated local test info in fn readme

* portal for time range selector

* Enable panel resizing (#105)

* Adhoc filter fix, update sankey plugin (#106)

* Adhoc filter style fix

* Update sankey plugin

* confirm grafana initialization (#107)

* window event to confirm initialization

* grafana start up status events

* Show filters icon only when there are some variables to show (#116)

* Don't panic on empty var Druid query (#123)

* Remove not needed GH Actions (#124)

* changed to cirular progress (#148)

* changed to cirular progress

* codeRabbit suggestions

* remove reviewer

* loader color fix (#150)

* page title Flux Ninja -> FluxNinja

* Add allowed cookies field in druid datasource settings (#171)

* Fix sentry heatmap crash (#168)

Co-authored-by: Gurinder Singh <[email protected]>

* removed make doc workflow (#172)

* Coderabbit theme and fixes (#175)

* coderabbit theme

* theme change

* checkpoint

* fixes

* added coderabbit authentication

* Create deploy-cloud-run-grafana.yaml (#176)

* Update deploy-cloud-run-grafana.yaml

* Update deploy-cloud-run-grafana.yaml with CD

* webpack fix for prod (#177)

* added GH for prod (#178)

Co-authored-by: dikshant <[email protected]>

* Deploy grafana image to cloud run

* Update deploy-cloud-run-grafana-prod.yaml

* dashboard style changes (#179)

* disabled drag for mfe (#180)

* changed error message to no data (#182)

* fix

* log fix

* rebase issues resolved

* webpack changes

* mfe fix

* checkpoint

* tooltip, icons fix

* deleted github actions

* dependency updates fix

* fixes

---------

Co-authored-by: Grot (@grafanabot) <[email protected]>
Co-authored-by: Misi <[email protected]>
Co-authored-by: Joao Silva <[email protected]>
Co-authored-by: Ashley Harrison <[email protected]>
Co-authored-by: Erik Sundell <[email protected]>
Co-authored-by: Katarzyna Ziomek-Zdanowicz <[email protected]>
Co-authored-by: Krzysztof Kwapisiewicz <[email protected]>
Co-authored-by: Dan Cech <[email protected]>
Co-authored-by: Hardik Shingala <[email protected]>
Co-authored-by: Gurinder Singh <[email protected]>
Co-authored-by: Kasia <[email protected]>
Co-authored-by: Szymon Bieńkowski <[email protected]>
Co-authored-by: Jakub Michalak <[email protected]>
Co-authored-by: Harjot Gill <[email protected]>
Co-authored-by: Daria Bialobrzeska <[email protected]>
Co-authored-by: Gurinder Singh <[email protected]>
Co-authored-by: Jaseel <[email protected]>
Co-authored-by: Gurinder Singh <[email protected]>
Co-authored-by: dikshant-infracloud <[email protected]>
Co-authored-by: dikshant <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants