opensearch-project / opensearch-metrics

OpenSearch Metrics
https://metrics.opensearch.org
Apache License 2.0
2 stars 4 forks source link

[PROPOSAL] OpenSearch health Project #5

Closed prudhvigodithi closed 3 months ago

prudhvigodithi commented 10 months ago

Proposal

Taking a step forward for OpenSearch community contributions and foundation model, there should be a way to track the health of the entire OpenSearch project (including the repos part of the project). OpenSearch health is a heath dashboard project that showcases and keeps track of several OpenSearch health metrics. The project goal is to show the health and status of the OpenSearch Project to community.

Background

OpenSearch health Project started with a goal to show the OpenSearch project health by displaying the metrics based out of multiple factors and attributes. In order to display the health we need to evaluate the data collected from multiple data sources. The high level design is to scrape and collect several heterogenous data sources and create dashboards to visualize the download numbers and data patterns. The idea is to leverage the mechanisms and use the collected data part to run health metric calculations.

Tenets

Transparency: The health dashboard should be transparent and provide clear, real-time information about the OpenSearch project's status, including development activity, issue tracking, and other relevant metrics.

Key Metrics: It should display key metrics (classified as factors/themes/attributes) that indicate the project's health, such as the number of open issues, pull requests, commit activity, and the status of the build and test processes.

User-Friendly: The dashboard should be user-friendly and easy to understand, even for non-technical stakeholders. Use visualizations, charts, and color-coding to make data easily digestible.

Customization: Provide the ability to customize the dashboard to display the most relevant metrics for the project's specific goals and audience.

Historical Data: In addition to current data, the dashboard should offer historical data (filter by date), allowing users to track trends and changes in the project's health over time.

Integration: The dashboard should integrate with other tools and services commonly used in open source development, such as version control systems, continuous integration platforms, and issue tracking systems.

Security: Ensure that sensitive metrics data is not exposed on the dashboard, and that access is properly controlled and authenticated for sensitive project information.

Alerts and Notifications: Implement a system for sending alerts or notifications when certain metrics or health indicators fall below acceptable levels.

Community Engagement: Encourage community engagement by allowing users to contributors and to comment, discuss, or provide feedback directly through the Github repo.

Open Source Licensing: Since the health dashboard itself is an open source project, it should have a clear open source license, and its source code should be accessible for others to contribute to and use.

Accessibility: Ensure that the dashboard is accessible to all users, by following accessibility best practices.

Documentation: Provide clear documentation on how to use, contribute and interpret the information presented on the dashboard.

What problems are you trying to solve?

In the OpenSearch Community, the absence of a centralized dashboard poses a challenge in monitoring project health, assessing the current state of affairs, and tracking essential metrics. Without such a tool, it becomes difficult for the community to comprehend the overall status of the project/repository, including future goals and the current health condition. The lack of detailed information also hinders the attraction of additional contributions. The aim of this project is to present a comprehensive overview by surfacing as much information as possible, allowing a thorough understanding of the holistic status across various metrics.

What is the developer experience going to be?

A Dashboard application that will display all the project (sorted per repo) metrics, based on multiple factors and themes.

Terminology:

What is the user experience going to be?

A user will access the dashboard that will have the list of repos, each repo showing the current status of the themes and factors. It will also display the top action items that needs to be addressed in order to ensure the repo is healthy. Along with the metrics it will also display the thresholds for the themes and factors and by how much a given factor is exceeding the threshold.

Why should it be built? Any reason not to?

There is no reason not to build this project, as there is no central dashboard that displays the entire OpenSearch metrics at one place.

What will it take to execute?

Following is the high level design

Note: This repo is used to tackle the backend application and business logic that can power the frontend node application. The repo for the frontend node application is https://github.com/opensearch-project/opensearch-health-dashboard.

panda-metrics-backend-github

prudhvigodithi commented 10 months ago

Adding @dblock, @bbarani, @bshien.

prudhvigodithi commented 3 months ago

Closing this issue as the project initial setup is completed and the dashboard is now publicly accessible https://metrics.opensearch.org/. Thank you