Source++ is an open-source live coding platform. Add breakpoints, logs, metrics, and distributed tracing to live production software in real-time on-demand, right from your IDE or CLI.
Powered by Apache SkyWalking, Source++ enhances the software development experience with production debugging and development capabilities. Become a production-aware developer, understand code faster and deeper with developer-native observability technology, safely debug production applications with negligible to minimal overhead, and gain continuous insight into your application as it behaves in its natural environment.
Features
- Live Instruments
- Live Breakpoints: Non-Breaking Breakpoints
- Live Logs: Just-in-Time Logging
- Live Meters: Real-Time KPI Monitoring
- Live Spans: User-Domain Tracing
- Multi-instance/Serverless debugging
- Role-based access control
- Instrument conditionals
- Instrument TTL, sampling, rate limiting
- Feedback whitelist/blacklist
- PII redaction
Quickstart
docker-compose
(macOS/Linux/Windows) 👈 recommended (click to expand)
- Install Docker and Docker Compose on your system (if not already installed).
- Download the
docker-compose.yml
file into a new empty directory (can be anywhere).mkdir ~/spp-platform && cd ~/spp-platform curl -O 'https://raw.githubusercontent.com/sourceplusplus/sourceplusplus/master/docker/docker-compose.yml'
- Start services.
docker-compose up
docker
(macOS/Linux/Windows)
- Install Docker on your system (if not already installed).
- Start Live Platform (Live Dashboard available at https://127.0.0.1:12800)
docker run -d --name=spp-platform -p 11800:11800 -p 12800:12800 sourceplusplus/spp-platform
Get Started
Compiling Project
Follow this document.
Documentation
The Source++ documentation is available here.
Directory Structure
├── demos # Feature demonstrations
├── groovy # Groovy demo
├── java # Java demo
├── kotlin # Kotlin demo
├── nodejs # Node.js demo
└── python # Python demo
├── docker # Docker setup files
├── e2e # End-to-end testing environment
└── spp-platform # Live coding server image
├── documentation # Live coding documentation
├── interfaces # Live coding clients
├── cli # Command-line interface
└── jetbrains # JetBrains IDE plugin
├── platform # Live coding server
├── bridge # Bridge clients to platform
├── common # Common platform code
├── core # Core platform code
├── dashboard # Live Dashboard
├── processor # Observability data processors
├── live-instrument # Live Instrument processor
└── live-view # Live View processor
└── storage # Platform persistent memory
├── probes # Live coding probes
├── jvm # JVM support
├── nodejs # Node.js support
└── python # Python support
└── protocol # Communication protocol
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the LICENSE file in our repository for the full text.