Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Contents

...

Extend visualization capabilities of Apache StreamPipes

Background

 
Apache StreamPipes is a self-service Industrial IoT toolbox which helps users to connect, analyze and exploit industrial data streams. StreamPipes offers a variety of tools which help users to interact with data from industrial sources such as PLCs. An adapter library allows to get real-time data from industrial controllers or other systems, a pipeline editor allows to build stream processing pipelines using either graphical or code-based flow modeling, and a data explorer allows to quickly create visualizations based on connected adapters.

 Current Challenges

The StreamPipes data explorer consists of a chart view, where users can create charts based on live data, and a dashboard view, where users can create live dashboards based on charts.

The data explorer provides a set of charts, which are mainly based on Apache ECharts. The currently available chart library includes time-series line/bar charts, heatmaps, scatter plots, density charts and others. To improve the user experience and add additional capabilities, we plan to extend this chart library with additional charts that are useful for industrial data analytics. 

 Objectives

The primary objectives of this project are as follows:

  • Explore the Apache ECharts library and identify useful additional charts for industrial data analytics
  • Improve the StreamPipes data explorer by adding new chart types using Apache ECharts
  • Add a more advanced table visualization
  • Extend existing charts with additional configurations (e.g., axis configurations, labels, data transformations)
  • Add a data preview for all charts, which is shown below the actual chart in the chart view
  • Design and implement end-to-end-tests using Cypress

 Recommended Skills


  1. Proficiency in TypeScript programming + testing 
  2. Proficiency in Angular
  3. Excellent logical thinking and problem-solving skills.
  4. Good sense for beautifully looking user interfaces 


Mentor


Dominik Riemer, Apache StreamPipes PMC, riemer@apache.org

Difficulty: Major
Project Size: ~350 hours (large)

Difficulty: Major
Project size: ~350 hour (large)
Potential mentors:
Dominik Riemer, mail: riemer (at) apache.org
Project Devs, mail: dev (at) streampipes.apache.org

...

HertzBeat

[GSOC][HertzBeat] AI Agent Based on the MCP Protocol for Monitoring Info Interaction

Website: https://hertzbeat.apache.org/

Github: http://github.com/apache/hertzbeat/

*Background*

Apache HertzBeat is an open-source real-time monitoring tool that supports a wide range of monitoring targets, including web services, databases, middleware, and more. It features high performance, scalability, and security.

With the advancement of artificial intelligence (AI) technologies, integrating AI with monitoring systems can significantly enhance their usability and interactivity. By developing an AI Agent based on the Model Context Protocol (MCP), we aim to enable conversational interaction for querying monitoring information, adding new monitoring tasks, and retrieving monitoring metrics. This will provide a more user-friendly and intelligent monitoring management experience.

*Objectives*

1. Research and Implementation: Develop an AI Agent based on Apache HertzBeat and the MCP protocol to enable conversational interaction with users.

2. Functional Implementation:

  • Query Monitoring And Alarm Information: Allow users to query the status of monitoring targets (e.g., normal, abnormal) and retrieve metrics data (e.g., CPU usage, memory usage, response time), alarm data through conversational commands.
  • Add New Monitoring Tasks: Enable users to add new monitoring targets (e.g., web services, databases, middleware) and configure alert thresholds via conversational commands.
  • Retrieve Monitoring Metrics Data: Allow users to obtain metrics data for specific monitoring targets and support data visualization via conversational commands.

*Requirements Analysis*

  • Apache HertzBeat: As the core backend for the monitoring system, it provides functions for data collection, storage, and management.
  • MCP Protocol: An open protocol that enables seamless integration between LLM applications and external data sources and tools.
  • Front-end Interaction: Develop a user-friendly interface that supports voice or text input and displays monitoring information and interaction results.

*Recommended Skills*

  • Java + TypeScript: Apache HertzBeat is developed based on this technology stack. Therefore, mastering these technologies is crucial for integrating with HertzBeat.
  • SpringAi: It is recommended to use SpringAi to build the AI agent.
  • LLM + MCP: You need to have an understanding of LLM (Large Language Models) and the MCP protocol. SpringAi seem supports the MCP protocol or consider use the mcp-sdk directly.

*Size*

  • Difficulty: Hard
  • Project size: ~350 hours

*Potential Mentors*

  • Chao Gong: gongchao@apache.org 
     
  • Shenghang Zhang: shenghang@apache.org
Difficulty: Major
Project size: ~350 hour (large)
Potential mentors:
Chao Gong, mail: gongchao (at) apache.org
Project Devs, mail: dev (at) hertzbeat.apache.org