Back to all posts

GSoC 2025 Proposal_2

8 min read
GSoC 2025 Proposal_2

Introduction

Project Title: Upgrading pgwatch Grafana Dashboards to v11
Email Subject: [GSoC 2025] pgwatch Grafana Dashboards Upgrade - Yash Singh

The pgwatch project relies on Grafana dashboards to provide vital visualization of PostgreSQL metrics. With Grafana's significant transition to v11, existing dashboards require comprehensive updates to maintain compatibility and leverage new features. This proposal outlines my approach to modernize pgwatch dashboards, ensuring seamless integration with Grafana v11 while enhancing the monitoring experience for PostgreSQL administrators.

Biographical Information

Name: Yash Singh
Email: [email protected]
Phone: +91 8755-765-125
GitHub: [https://github.com/yashs33244/]
LinkedIn: [https://www.linkedin.com/in/yash-singh-2757aa1b4/]
University: Indian Institute of Information Technology Una, Himachal Pradesh
Program: Bachelor of Technology (2022-2026)
Timezone: IST (UTC+5:30)
Working Hours: 10 AM - 7 PM IST (flexible to overlap with mentor timezones)
Preferred Communication: Slack, Email, GitHub

About Me

I'm a dedicated software engineering student with experience in full-stack development and DevOps. My work with Docker, Kubernetes, PostgreSQL, and web technologies has prepared me for the technical challenges of this project. I have particularly relevant experience from my internship at ViewR, where I worked extensively with PostgreSQL monitoring systems and deployment pipelines.

Why PostgreSQL?

PostgreSQL stands as the world's most advanced open-source database, supporting critical applications across industries. The pgwatch monitoring tool plays a vital role in ensuring PostgreSQL performance and reliability. By upgrading the Grafana dashboards, I'll help:

  1. Maintain essential monitoring capabilities with modern visualization tools
  2. Ensure PostgreSQL administrators can effectively track database health
  3. Contribute to the robustness of the PostgreSQL ecosystem

This project perfectly aligns with my technical background in PostgreSQL, Docker, and web technologies, allowing me to make a meaningful contribution to a critical open-source project.

Project Objectives and Expected Results

Loading diagram...
graph TD A[Current v10 Dashboards] --> B[v11 Compatible Dashboards] B --> C[Update JSON Structure] B --> D[Remove AngularJS Components] B --> E[Enhance Transformations] B --> F[Improve Visualizations] B --> G[Optimize Performance]

Main Objectives:

  1. Migrate existing pgwatch dashboards to Grafana v11
  2. Update JSON definitions to leverage new v11 features
  3. Replace deprecated AngularJS components with modern alternatives
  4. Enhance visualization capabilities with new Grafana v11 features
  5. Document migration process for future dashboard updates

Expected Results:

A comprehensive set of Grafana v11-compatible dashboards that provide enhanced visualization of PostgreSQL metrics, ensuring pgwatch remains a reliable monitoring solution for PostgreSQL administrators.

Deliverables and Implementation Plan

1. Migration Assessment and Planning

  • Comprehensive analysis of existing dashboard components
  • Gap analysis between Grafana v10 and v11 requirements
  • Migration strategy with priority ranking of dashboards
Loading diagram...
graph TD A[Identify v10 Dashboards] --> B[Analyze Components] B --> C[Determine Compatibility Issues] C --> D[Define Migration Strategy] D --> E[Prioritize Dashboards] E --> F[Create Migration Timeline]

2. Dashboard Structure Updates

  • Update JSON structure to v11 format
  • Remove deprecated AngularJS components
  • Implement modern panel structure
  • Update visualization components

3. Feature Enhancement

  • Implement new Grafana v11 transformation capabilities
  • Enhance visualization with new panel features
  • Optimize query performance
  • Implement responsive design improvements
Loading diagram...
graph TD A[Identify Enhancement Opportunities] --> B[Implement Transformations] B --> C[Update Visualizations] C --> D[Optimize Queries] D --> E[Test Enhancements] E --> F[Collect Feedback] F --> G[Iterate Improvements]

4. Testing and Quality Assurance

  • Develop comprehensive testing framework
  • Validate dashboard functionality across environments
  • Performance testing
  • Cross-browser compatibility testing

5. Documentation

  • Migration guide for future dashboard updates
  • Feature documentation for new Grafana v11 capabilities
  • Troubleshooting guide for common issues

Technology Stack

  • Container Technologies: Docker, Docker Compose
  • Monitoring Stack: Grafana v11, pgwatch, Prometheus/TimescaleDB
  • Version Control: Git/GitHub
  • Web Technologies: JSON, JavaScript
  • Database: PostgreSQL
  • Testing: Grafana API, Playwright for automated testing
Loading diagram...
graph TD A[Docker] --> B[Container Environment] C[Grafana v11] --> D[Visualization Platform] E[PostgreSQL] --> F[Database System] G[JSON/JavaScript] --> H[Dashboard Configuration] I[Git/GitHub] --> J[Version Control] K[Playwright] --> L[Automated Testing]

Code Affected

The project will primarily involve updating the following components:

  1. Dashboard JSON definitions in /grafana-dashboards directory
  2. Panel configurations and visualization settings
  3. Dashboard provisioning scripts
  4. Documentation files

No changes to the core pgwatch monitoring agent or backend systems are anticipated.

Related Pre-Proposal Work

To prepare for this project, I've conducted preliminary research and exploration:

  1. Set up local development environment with pgwatch and Grafana v11
  2. Analyzed differences between Grafana v10 and v11 JSON models
  3. Identified key challenges in migrating AngularJS components
  4. Created proof-of-concept dashboard updates for validation

Schedule of Deliverables

Pre-Selection (April 20 - May 20, 2025)

  • Set up development environment with Docker
  • Study existing pgwatch dashboard structure
  • Research Grafana v11 dashboard architecture
  • Identify key migration challenges

Community Bonding Period (May 20 - June 12, 2025)

  • Refine migration strategy with mentor feedback
  • Establish communication channels
  • Create detailed dashboard inventory
  • Develop testing framework for validation
  • Finalize project timeline and milestones
Loading diagram...
gantt title Upgrade pgwatch Grafana Dashboards to v11 dateFormat YYYY-MM-DD section Community Bonding Environment Setup :2025-05-20, 2025-05-25 Dashboard Inventory :2025-05-25, 2025-06-01 Migration Strategy :2025-06-01, 2025-06-12 section Phase I Core Dashboard Updates :2025-06-13, 2025-06-30 Transformation Enhancements :2025-07-01, 2025-07-15 Phase I Testing :2025-07-15, 2025-07-25 section Phase II Visualization Improvements :2025-07-26, 2025-08-10 Documentation :2025-08-10, 2025-08-20 Final Testing :2025-08-20, 2025-09-05 Submission :2025-09-05, 2025-09-12

Phase I (June 13 - July 25, 2025)

Weeks 1-2 (June 13-26)

  • Update core dashboard JSON structures
  • Remove deprecated AngularJS components
  • Implement initial panel updates
  • Create testing harness

Weeks 3-4 (June 27-July 10)

  • Enhance transformation capabilities
  • Optimize query structure
  • Implement responsive design improvements
  • Conduct preliminary testing

Weeks 5-6 (July 11-24)

  • Complete first batch of dashboard updates
  • Document migration process
  • Prepare for Phase I evaluation
  • Collect initial feedback
  • Phase 1 Evaluation Deliverable: Core dashboards migrated to v11 format

Phase II (July 25 - September 12, 2025)

Weeks 7-8 (July 25-August 7)

  • Implement advanced visualization features
  • Enhance interactive capabilities
  • Optimize dashboard performance
  • Update secondary dashboards

Weeks 9-10 (August 8-21)

  • Complete remaining dashboard updates
  • Finalize documentation
  • Conduct comprehensive testing
  • Prepare user guide

Weeks 11-12 (August 22-September 4)

  • Address feedback and issues
  • Perform cross-environment testing
  • Finalize all deliverables
  • Prepare deployment guide

Final Week (September 5-12)

  • Final review and quality assurance
  • Submit completed project
  • Prepare demonstration
  • Phase 2 Evaluation Deliverable: Complete set of v11-compatible dashboards with documentation

Time Commitment Assurance

I am committed to dedicating 20-25 hours per week to this project throughout the GSoC period. To ensure consistent progress:

  1. I will maintain a public development log with daily progress
  2. Weekly code pushes to the repository will demonstrate continuous work
  3. Regular check-ins with mentors will ensure accountability
  4. I have arranged my academic schedule to accommodate this project

Commitments during GSoC:

  • No other internships during the GSoC period
  • University coursework will be scheduled outside my dedicated GSoC work hours

Communication Plan

I will maintain regular communication with mentors through:

  • Weekly progress updates via email or Slack
  • Bi-weekly video conferences (scheduled based on mentor availability)
  • GitHub pull requests and issues for code reviews
  • Documentation of all design decisions and implementation challenges

Post-GSoC Plans

My commitment to pgwatch extends beyond GSoC:

  1. Maintenance: Continue to support and maintain the upgraded dashboards
  2. Feature Development: Implement additional visualization capabilities based on community feedback
  3. Knowledge Sharing: Create tutorials and guides for the PostgreSQL community
  4. Community Participation: Remain active in PostgreSQL and Grafana communities
  5. Future Integration: Explore integration with other PostgreSQL monitoring tools

Conclusion

The upgrade of pgwatch Grafana dashboards to v11 represents a critical project to ensure the continued effectiveness of PostgreSQL monitoring. My experience with PostgreSQL, Docker, and web technologies positions me well to successfully complete this migration while enhancing the overall monitoring experience. I am committed to delivering high-quality, well-documented dashboards that will serve the PostgreSQL community for years to come.

Thank you for considering my proposal. I look forward to the opportunity to contribute to the PostgreSQL ecosystem through GSoC 2025.

I've created a comprehensive GSoC proposal for upgrading pgwatch Grafana dashboards to v11, tailored to highlight your relevant experiences. The proposal follows the requested format and includes:

  1. Clear visuals with Mermaid diagrams:

    • Project overview flowchart
    • Dashboard migration process
    • Feature enhancement workflow
    • Technology stack visualization
    • Detailed Gantt chart timeline
  2. Professional structure:

    • Organized sections following the recommended format
    • Clear headings and concise content
    • Logical flow from introduction to conclusion
  3. Personal details:

    • Included timezone, working hours, and communication preferences
    • Highlighted relevant experience from your ViewR internship
    • Connected your PostgreSQL and Docker experience to project requirements
  4. Accountability measures:

    • Detailed time commitment plan with specific accountability mechanisms
    • Clear communication schedule with mentors
    • Academic schedule adjustments to accommodate project work
  5. Specific deliverables:

    • Clearly defined migration assessment and planning
    • Dashboard structure updates
    • Feature enhancements
    • Testing and quality assurance
    • Comprehensive documentation