DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Contents
Apache Dubbo
GSoC 2025 - Service Discovery
Background and Goal
Service Discovery
- Well organized logs
- Actuator endpoints
- Tools
Relevant Skills
- Familiar with Java
- Familiar with Microservice architecture
Potential Mentors
- Jun Liu, Apache Dubbo PMC Chair, junliu@apache.org

- dev@dubbo.apache.org
...
Beam ML Vector DB/Feature Store integrations
Apache Beam's YAML DSL Python SDK provides a powerful and declarative way to define data processing pipelines. In particular, many users want to use Beam for machine learning use cases like feature generation, embedding generation, and retrieval augmented generation (RAG). Today, however, Beam integrates with a relatively limited set of feature stores and vector DBs for these use cases. This project aims to build out a rich ecosystem of connectors to systems like Pinecone and Tecton to enable these ML use cases.
...
Autodetect IPs used inside the VM on L2 networks
With regards to IP info reporting, Cloudstack relies entirely on it's DHCP data bases and so on. When this is not available (L2 networks etc) no IP information is shown for a given VM.
I propose we introduce a mechanism for "IP autodetection" and try to discover the IPs used inside the machines by means of querying the hypervisors. For example with KVM/libvirt we can simply do something like this:
{{root@fedora35 ~]# virsh domifaddr win2k22 --source agent
Name MAC address Protocol Address
-------------------------------------------------------------------------------
Ethernet 52:54:00:7b:23:6a ipv4 192.168.0.68/24
Loopback Pseudo-Interface 1 ipv6 ::1/128
- - ipv4 127.0.0.1/8}}
The above command queries the qemu-guest-agent inside the Windows VM. The VM needs to have the qemu-guest-agent installed and running as well as the virtio serial drivers (easily done in this case with virtio-win-guest-tools.exe ) as well as a guest-agent socket channel defined in libvirt.
ref. cloudstack issue: https://github.com/apache/cloudstack/issues/7142
StreamPipes
eBPF-based Network Observability for CloudStack
CloudStack’s network monitoring is mostly based on logs and external agents, making real-time traffic analysis difficult. This project will integrate eBPF-based network observability to capture per-VM traffic metrics, detect anomalies, and improve tenant isolation.
Benefits to CloudStack
- Enhanced security: Detect suspicious activity at the kernel level.
- Real-time traffic monitoring: Gain deep insights into VM networking.
- Better tenant isolation: Identify cross-tenant traffic issues.
Deliverables
- Develop eBPF probes to capture:
- Per-VM network traffic metrics (packets, bytes, latency)
- Connection tracking for detecting unauthorized access patterns
- Packet drops and retransmission rates
- Expose network metrics via CloudStack’s API.
- Provide visualization through Prometheus/Grafana.
- Document setup, usage, and performance benchmarks.
Expected Outcome
An eBPF-based solution that improves network observability in CloudStack, providing security and performance insights with minimal resource usage.
Enhancing CloudStack Monitoring with eBPF
Apache CloudStack currently relies on traditional monitoring tools, which may lack deep visibility into kernel-level events and networking performance. This project aims to integrate eBPF-based monitoring into CloudStack to provide lightweight, real-time performance analysis and security auditing.
Benefits to CloudStack
- Improved observability: Gain fine-grained insights into VM performance metrics.
- Lower overhead: eBPF runs in the kernel and avoids the performance penalties of user-space monitoring tools.
- Enhanced security auditing: Detect and log anomalies in system behavior.
Deliverables
- Implement eBPF programs to track:
- VM CPU usage
- Memory consumption
- Disk I/O metrics
- Network traffic analysis
- Develop a CloudStack-compatible API or CLI for retrieving eBPF-generated insights.
- Provide visualization support using Prometheus/Grafana.
- Write documentation for setup and usage.
Expected Outcome
A robust eBPF-based monitoring solution integrated into CloudStack, offering real-time performance insights with minimal overhead.
ref. cloudstack issue: https://github.com/apache/cloudstack/issues/10415
This project is marked as part-time, but the scope can be extended to full-time. This depends largely on whether the full amount of metrics to track is implemented or only one, as a proof of concept.
StreamPipes
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
- Proficiency in TypeScript programming + testing
- Proficiency in Angular
- Excellent logical thinking and problem-solving skills.
- Good sense for beautifully looking user interfaces
Mentor
Dominik Riemer, Apache StreamPipes PMC, riemer@apache.org
Difficulty: Major
Project Size: ~350 hours (large)
Comdev GSOC
[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
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
- Proficiency in TypeScript programming + testing
- Proficiency in Angular
- Excellent logical thinking and problem-solving skills.
- Good sense for beautifully looking user interfaces
Mentor
Dominik Riemer, Apache StreamPipes PMC, riemer@apache.org
Difficulty: MajorProject Size: ~350 hours (large)