Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
api
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Open-source Automated Programming Assistant

Website :: Knowledge Base :: Roadmap


Introduction

Source++ is an open-source automated programming assistant with runtime-aware and context-aware functionality. Source++ is an observant-only programming assistant and aims to bridge application performance management (APM) solutions with the software developer's integrated development environment (IDE), enabling tighter feedback loops. Source++ can be used to help debug and prevent runtime issues by providing contextualized behavior about your source code throughout development.

Why?

  1. To enable developers easy access to feedback-driven development methodologies
  2. APMs often lack tight integration with actual development of the source code they monitor
  3. Source code comprehension can be improved by providing an extra dimension of behavior linked with said source code (ie. being able to visualize how a particular method acts in production vs. locally)
  4. No websites or dashboards necessary to debug complex asynchronous runtime issues
  5. AI-based pair programming is going to be pretty cool when we get it right

Demonstration

Augments

Integrated Runtime Performance

User Interfaces

Overview Activity Latest Traces Trace Stack Span Info

Inlay Marks

Live Telemetry Error Tracking

Gutter Marks

Mark Meaning
Method handles user requests (SOAP, REST, etc)
Method has thrown exception in application's most recent run
Indicates the span stack is a child of the trace created by method caller

Getting Started

Prerequisites

  • Supported APMs: Apache SkyWalking
  • Supported IDEs: JetBrains
  • Supported OSes: Linux, macOS, and Windows

Installation

Downloading the IDE

Install a JetBrains IDE if you don’t already have one.

Install the Source++ Plugin

  1. Press Ctrl+Alt+S to open the Settings dialog and then go to Plugins.
  2. Click the Install JetBrains plugin.
  3. In the dialog that opens, search for SourcePlusPlus (direct link).
  4. Press Install.
  5. Click OK in the Settings dialog and restart your IDE.

After installation, you will need to configure the Source++ Plugin (see Configure Plugin).

Project Structure

Internal Module Description Language
:api Holds common data models and communication clients Java 8+
:core Handles integrations, contextualization, & subscriptions Groovy 2.5+
:plugin:jetbrains-plugin JetBrains implementation of the Source++ Plugin Groovy 2.5+
:portal Used to visually display contextualized artifact data Groovy 2.5+
External Module Description Language
SourceMarker Used to tie visual marks & popups to source code artifacts Kotlin 1.3+

Building/Testing

Run all Source++ tests:

./gradlew test

Build Source++ Plugin:

./gradlew buildPlugin

Run Source++ Core (in Docker):

./gradlew runCore

Run Source++ Plugin (in JetBrains IDE):

./gradlew runIde

Documentation

For full documentation, visit the knowledge base.

Roadmap

To know what is going on, see the roadmap.

Contributing

Feel free to open issues on just about anything related to Source++.

Attribution

This project was highly influenced by PerformanceHat. Thanks for the insights that made this possible.

License

Apache License 2.0

You can’t perform that action at this time.