Skip to content

sourceplusplus/sourceplusplus

Repository files navigation

License GitHub release Build

Source++ is the open-source continuous feedback platform for developers. 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 docker-compose (macOS/Linux/Windows)   👈  recommended   (click to expand)
  1. Install Docker and Docker Compose on your system (if not already installed).
  2. 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'
  3. Start services.
    docker-compose up
Docker docker (macOS/Linux/Windows)
  1. Install Docker on your system (if not already installed).
  2. 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.