coredashio / community

🌐 CoreDash Community
https://coredash.io
Apache License 2.0
30 stars 1 forks source link

Reusing code from an existing project #7

Open mihaibudiu opened 3 years ago

mihaibudiu commented 3 years ago

Are you interested in reusing parts or integrating another o/s distributed visualization project with an Apache 2 license? http://github.com/vmware/hillview is the one I am talking about. It does not overlap too much with Grafana, but it may have some desirable features.

Nexucis commented 3 years ago

Hello @mbudiu-vmw,

/cc @geekygirldawn @juliusv

mihaibudiu commented 3 years ago

One of the most desirable features is that the code exists and works, and has a license that allows it to be reused. Hillview is a distributed data visualization service, which is designed to scaling to very large data sets and to federated datasets. It has a UI that allows users to explore datasets interactively by performing filtering, zooming in, simple statistical analyses. It also supports many data sources, including raw files, databases and parallel databses, data lakes, etc.

juliusv commented 3 years ago

Thanks for letting us know about Hillview!

For Perses, I'm not sure yet how much overlap there would be both in the tech stack and the goals of the project, since Hillview does seem pretty different in terms of the data it works with (big data tables vs. initially numeric Prometheus time series data for Perses), isn't a React/Go project (but TS/Java), etc., but there are for example graphing components and some ideas that we can always take a look at for inspiration.

For CoreDash in general, I have less of an opinion. It seems like this is something the steering committee would eventually have to decide on, once it exists: https://github.com/coredashio/community/blob/main/GOVERNANCE.md#adding-new-subprojects. But roughly a project should fit into this goal structure: https://github.com/coredashio/community#draft-goals - note the current initial focus on PromQL and time series, although I think most people agree that we want to support handling more signal types (traces, logs...) and datasources later on.

mihaibudiu commented 3 years ago

Hillview can handle timeseries data as well, but it does it in a relatively unconventional manner at this point (using heatmaps to plot time-series data). Hillview's architecture is modular, built around a scalable distributed query engine on top of which you can write many types of queries and build many types of visualizations. So it could conceivably be extended to display timeseries data in more conventional ways. There is a fair amount of documentation on github about Hillview's architecture and UI https://github.com/vmware/hillview/blob/master/docs/userManual.md, and even a live demo running on AWS that you can play with. These are the chart types currently supported: https://github.com/vmware/hillview/blob/master/docs/userManual.md#5-charts For some visualization tasks I can claim that you won't find easily a faster engine (given the same hardware resources).

juliusv commented 3 years ago

It's important to point out that the goal of CoreDash is not to provide a query engine or a data storage and processing backend, but to become a dashboard for PromQL/Prometheus, and then later on, other existing backends (similar to Grafana). It's very focussed on the systems monitoring use case.