Open-source Automated Programming Assistant
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.
- To enable developers easy access to feedback-driven development methodologies
- APMs often lack tight integration with actual development of the source code they monitor
- 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)
- No websites or dashboards necessary to debug complex asynchronous runtime issues
- AI-based pair programming is going to be pretty cool when we get it right
Integrated Runtime Performance
|Overview||Activity||Latest Traces||Trace Stack||Span Info|
|Live Telemetry||Error Tracking|
|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|
- Supported APMs: Apache SkyWalking
- Supported IDEs: JetBrains
- Supported OSes: Linux, macOS, and Windows
Downloading the IDE
Install a JetBrains IDE if you don’t already have one.
Install the Source++ Plugin
Ctrl+Alt+Sto open the
Settingsdialog and then go to
- Click the
Install JetBrains plugin.
- In the dialog that opens, search for
Settingsdialog and restart your IDE.
After installation, you will need to configure the Source++ Plugin (see Configure Plugin).
|: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+|
|SourceMarker||Used to tie visual marks & popups to source code artifacts||Kotlin 1.3+|
Run all Source++ tests:
Build Source++ Plugin:
Run Source++ Core (in Docker):
Run Source++ Plugin (in JetBrains IDE):
For full documentation, visit the knowledge base.
To know what is going on, see the roadmap.
Feel free to open issues on just about anything related to Source++.
This project was highly influenced by PerformanceHat. Thanks for the insights that made this possible.