diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6986379..07b1445 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,14 +28,14 @@ jobs: pip3 install fancyboxmd pip3 install mkdocs-macros-plugin pip3 install mkdocs-git-revision-date-localized-plugin - + - name: Build docs run: mkdocs build && mv site html - - name: Update docs.sourceplusplus.com + - name: Update docs.sourceplus.plus uses: appleboy/scp-action@master with: - host: docs.sourceplusplus.com + host: docs.sourceplus.plus username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} port: 22 diff --git a/docs/.pages b/docs/.pages index e69f83b..5fdb0f9 100644 --- a/docs/.pages +++ b/docs/.pages @@ -1,10 +1,8 @@ nav: - - Overview: - - Introduction: README.md - - Alternatives: alternatives - - Getting started: getting-started + - README.md + - Getting Started: getting-started - features - - implementation - - advanced - - ... - - legal + - technology + - contributing + - changelog + - reference diff --git a/docs/README.md b/docs/README.md index 9b05ebe..7868f7c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,5 +1,3 @@ -# Introduction - Source++ is the open-source live coding platform built to assist in the debugging and development of actively-running production software. Source++ works by enhancing your application's code through safe and completely reversible runtime modifications. These modifications are minuscule and negligible in nature, serving only to emit additional data which is collected by [Apache SkyWalking](https://skywalking.apache.org), which Source++ is proudly built on top of. @@ -18,15 +16,15 @@ familiar with, and it is through this triadic arrangement that developers can sa ### Platform -The [Source++ Platform](implementation/tools/platform/) is the backbone of the Source++ system. It serves +The [Source++ Platform](technology/platform/) is the backbone of the Source++ system. It serves as the gateway for both probes and clients and handles auditing, authentication, and authorization. ### Probe -The [Source++ Probe](implementation/tools/probe/) uses bytecode-manipulations to add live instruments in real-time, allowing developers to debug live production applications. +The [Source++ Probe](technology/probes/) uses bytecode-manipulations to add live instruments in real-time, allowing developers to debug live production applications. ### Clients -- [JetBrains Plugin](implementation/tools/clients/jetbrains-plugin.md) -- [Command Line Interface](implementation/tools/clients/cli/) -- [GraphQL](implementation/tools/clients/graphql.md) +- [JetBrains Plugin](technology/clients/jetbrains-plugin.md) +- [Command Line Interface](technology/clients/cli/) +- [GraphQL](technology/platform/apis/graphql.md) diff --git a/docs/advanced/.pages b/docs/advanced/.pages deleted file mode 100644 index 6b454dc..0000000 --- a/docs/advanced/.pages +++ /dev/null @@ -1,3 +0,0 @@ -nav: - - ... - - development \ No newline at end of file diff --git a/docs/advanced/installation/.pages b/docs/advanced/installation/.pages deleted file mode 100644 index dfd8f56..0000000 --- a/docs/advanced/installation/.pages +++ /dev/null @@ -1,8 +0,0 @@ -nav: - - Requirements: requirements.md - - Docker: docker.md - - Debian/Ubuntu: debian.md - - Windows: windows.md - - Kubernetes: kubernetes.md - - Restarting Source++: restarting.md - - Upgrading Source++: upgrading.md diff --git a/docs/advanced/installation/README.md b/docs/advanced/installation/README.md deleted file mode 100644 index c6f6217..0000000 --- a/docs/advanced/installation/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Install Source++ - -This section discusses the hardware and software requirements as well as the process of installing Source++ on different operating systems. This section has the following topics: - -- [Requirements](requirements.md) -- [Install through Docker or Docker Compose](docker.md) -- [Install on Debian or Ubuntu](debian.md) -- [Install on Windows](windows.md) -- [Deploy on Kubernetes](kubernetes.md) - -For upgrade instructions, refer to [Upgrade Source++](upgrading.md). -To restart Source++, refer to [Restart Source++](restarting.md). - -## General process - -In order to fully utilize Source++, you must: - -1. Download and install the Source++ platform. -1. Download and attach the Source++ probe to your application. -1. Download and install the Source++ plugin to your IDE. - 1. Alternatively, you can use the Source++ CLI for terminal access. -1. Connect to the Source++ platform from your IDE/CLI. -1. Add live instruments, as desired. diff --git a/docs/advanced/installation/debian.md b/docs/advanced/installation/debian.md deleted file mode 100644 index e0656da..0000000 --- a/docs/advanced/installation/debian.md +++ /dev/null @@ -1,28 +0,0 @@ -# Install on Debian or Ubuntu - -This page explains how to install Source++ dependencies, download and install Source++, get the service up and running on your Debian or Ubuntu system, and also describes the installation package details. - -**Note on upgrading:** While the process for upgrading Source++ is very similar to installing Source++, there are some key backup steps you should perform. Read [Upgrading Source++](upgrading.md) for tips and guidance on updating an existing installation. - -## 1. Download and install - -## Install from binary .tar.gz file - -Download the latest [`.tar.gz` file](https://github.com/sourceplusplus/live-platform/releases/latest) and extract it. The files extract into a folder named after the Source++ version downloaded. This folder contains all files required to run the Source++ platform. There are no init scripts or install scripts in this package. - -```bash -wget -tar -zxvf -``` - -## 2. Start the server - -### Execute the binary - -The `spp-platform` binary .tar.gz needs the working directory to be the root install directory where the binary and the `config` folder are located. - -Start Source++ by running: - -```bash -./spp-platform -``` diff --git a/docs/advanced/installation/docker.md b/docs/advanced/installation/docker.md deleted file mode 100644 index 5518e74..0000000 --- a/docs/advanced/installation/docker.md +++ /dev/null @@ -1,40 +0,0 @@ -# Install Source++ with Docker or Docker Compose - -You can install Source++ with Docker or Docker Compose if you are evaluating, testing, or developing Source++. -For production, we recommend installing with Kubernetes. - -## Prerequisites - -- [Docker](https://docs.docker.com/install) -- [Docker Compose](https://docs.docker.com/compose/install) (optional, only needed for the Docker Compose install method) - -## Install with Docker - -Run the following commands in your command line. - -### spp-platform network - -```bash -docker network create spp-platform -``` - -### Source++ Platform -```bash -docker run --name spp-platform --restart always -p 5445:5445 -d --network spp-platform -e SPP_OAP_HOST=skywalking -e SPP_DISABLE_TLS=true -e SPP_DISABLE_JWT=true -it sourceplusplus/spp-platform:latest -``` - -### Apache SkyWalking (incl. Source++ processors) -```bash -docker run --name skywalking-oap --restart always -d --network spp-platform -e SPP_PLATFORM_HOST=spp-platform -e SPP_PLATFORM_PORT=5460 -e SPP_DISABLE_TLS=true -it sourceplusplus/spp-oap-server:latest -``` - -Navigate to http://localhost:5445/stats to view the metrics and http://localhost:5445/health for readiness. - -## Install with Docker Compose - -Run the following commands in your command line. - -```bash -wget https://raw.githubusercontent.com/sourceplusplus/live-platform/main/docker/docker-compose.yml -docker-compose -f docker-compose.yaml up -``` diff --git a/docs/advanced/installation/kubernetes.md b/docs/advanced/installation/kubernetes.md deleted file mode 100644 index 8b13789..0000000 --- a/docs/advanced/installation/kubernetes.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/advanced/installation/requirements.md b/docs/advanced/installation/requirements.md deleted file mode 100644 index 79cba31..0000000 --- a/docs/advanced/installation/requirements.md +++ /dev/null @@ -1,31 +0,0 @@ -# Source++ requirements - -This page lists the minimum hardware and software requirements to install Source++. - -To run Source++, you must have a supported operating system, hardware that meets or exceeds minimum requirements, and a supported IDE. - - - -## Supported languages - -- JVM - -## Supported IDEs - -- JetBrains - -## Supported operating systems - -The following operating systems are supported for Source++ installation: - -- [Debian / Ubuntu](debian.md) -- [Windows](windows.md) - -Installation of Source++ on other operating systems is possible, but it is neither recommended nor supported. - -## Hardware recommendations - -Source++ does not use a lot of resources and is very lightweight in use of memory and CPU. - -Minimum recommended memory: 1 GB -Minimum recommended CPUs: 2 diff --git a/docs/advanced/installation/restarting.md b/docs/advanced/installation/restarting.md deleted file mode 100644 index 433a51d..0000000 --- a/docs/advanced/installation/restarting.md +++ /dev/null @@ -1,19 +0,0 @@ -# Restart Source++ - -This topic provides detailed instructions on how to restart Source++ supported operating systems. - -- [Docker](#docker) - -## Docker - -To restart the Source++ service, use the `docker restart` command. - -`docker restart spp-platform` - -Alternately, you can use the `docker compose restart` command to restart Source++. For more information, refer to [docker compose documentation](https://docs.docker.com/compose/). - -### Docker compose example - -To restart the running container, use this command: - -`docker-compose restart spp-platform` diff --git a/docs/advanced/installation/upgrading.md b/docs/advanced/installation/upgrading.md deleted file mode 100644 index 486a71f..0000000 --- a/docs/advanced/installation/upgrading.md +++ /dev/null @@ -1,7 +0,0 @@ -# Upgrade Source++ - -We recommend that you upgrade Source++ often to stay up to date with the latest fixes and enhancements. -In order to make this a reality, Source++ upgrades are backward compatible and the upgrade process is simple and quick. - -Upgrading is generally safe (between many minor and one major version) and functionality will fundamentally operate the same. -There may be minor breaking changes in some edge cases, which are outlined in the [Changelog](../../changelog). diff --git a/docs/advanced/installation/windows.md b/docs/advanced/installation/windows.md deleted file mode 100644 index cfae921..0000000 --- a/docs/advanced/installation/windows.md +++ /dev/null @@ -1,14 +0,0 @@ -# Install on Windows - -Read [Upgrading Source++](upgrading.md) for tips and guidance on updating an existing installation. - -## Install standalone Windows binary - -1. Click **Download the zip file**. - **Important:** After you've downloaded the zip file and before extracting it, make sure to open the properties for that file (right-click **Properties**) and select the `unblock` check box and then click `Ok`. - -1. Extract this folder to anywhere you want Source++ to run from. - -1. Start Source++ by executing `spp-platform.exe`, located in the root directory, preferably from the command line. If you want to run Source++ as a Windows service, then download [NSSM](https://nssm.cc/). It is very easy to add Source++ as a Windows service using that tool. - -> **Note:** The default Source++ port is `5445`. This port might require extra permissions on Windows. If it does not appear in the default port, you can try changing to a different port. diff --git a/docs/advanced/setup/.pages b/docs/advanced/setup/.pages deleted file mode 100644 index f4a7b82..0000000 --- a/docs/advanced/setup/.pages +++ /dev/null @@ -1,3 +0,0 @@ -nav: - - overview.md - - ... \ No newline at end of file diff --git a/docs/advanced/setup/jetty.md b/docs/advanced/setup/jetty.md deleted file mode 100644 index 6cbda4b..0000000 --- a/docs/advanced/setup/jetty.md +++ /dev/null @@ -1,8 +0,0 @@ - -## Configure Jetty for Source++ - -Modify **jetty.sh**, add `-javaagent` argument to command line in which you start your app. - -``` -export JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/spp-probe-{{ spp.latest_version }}.jar" -``` diff --git a/docs/advanced/setup/tomcat.md b/docs/advanced/setup/tomcat.md deleted file mode 100644 index 16bd2ac..0000000 --- a/docs/advanced/setup/tomcat.md +++ /dev/null @@ -1,37 +0,0 @@ -To start using Source++, first add an additional parameter to the `JAVA_OPTS` configuration variable in the WAR file. - -### Configure Tomcat for Source++ Probe - -1. Copy the following agent path configuration: -``` --agentpath:/spp-probe-{{ spp.latest_version }}.jar -``` - - 2. Insert relevant values for each of the parameters, as follows: - `install_dir` is the path where the probe is saved - `tomcat-path` is the path to the Tomcat project - `app-name.war` is the name of the war file of the project. - -2. Paste the agent path as an additional parameter to the JAVA_OPTS variable in your WAR file. - -3. Restart the Tomcat server to apply the configuration: -``` -./catalina.sh stop -./catalina.sh start -``` - -!!! note - - This configuration enables the Source++ Probe to run every time the webserver restarts. - -### Linux - -- Change the first line of tomcat/bin/catalina.sh. - -``` -CATALINA_OPTS="$CATALINA_OPTS -javaagent:/spp-probe-{{ spp.latest_version }}.jar"; export CATALINA_OPTS -``` - -### Windows - -- Change the first line of tomcat/bin/catalina.bat. - -``` -set "CATALINA_OPTS=-javaagent:/spp-probe-{{ spp.latest_version }}.jar" -``` diff --git a/docs/advanced/setup/weblogic.md b/docs/advanced/setup/weblogic.md deleted file mode 100644 index 119eecd..0000000 --- a/docs/advanced/setup/weblogic.md +++ /dev/null @@ -1,36 +0,0 @@ -# Configure WebLogic for Source++ - -WebLogic is a Java application server by Oracle. The Enterprise Application (EAR) file contains the WebLogic Server configurations that need to be updated for Source++ integration. - -To start using Source++ with a WebLogic server, first add the agent path as an additional JAVA_OPTS parameter in the WebLogic EAR. - -#### To configure WebLogic for Source++ - -Add the parameter with one of the following options: - -- from the WebLogic Admin console: - - 1. Copy the agent path option. - ``` - -agentpath:/spp-probe-{{ spp.latest_version }}.jar - ``` - - 1. Navigate to the Admin panel (usually at [http://localhost:7001/console](https://docs.oracle.com/cd/E13167_01/aldsp/docs21/admin/console.html)) - - 1. Press **Lock & Edit**. - - 1. Go to **(environment) => Servers => (server)** - - 1. Go to the Start/Stop tab and update the Arguments with the agent path. - -- manually from the WebLogic `sh` file of the EAR - - 1. Copy the agent path and update it according to your configuration: - ``` - -agentpath:/spp-probe-{{ spp.latest_version }}.jar - ``` - - 1. Add the path to `Oracle/Middleware/user_projects/domains//bin/setDomainEnv.sh` as an additional parameter to the JAVA_OPTS (see WebLogic documentation for [help](https://docs.oracle.com/cd/E35976_01/general.240/eid_install/src/tidi_studio_weblogic_update_memory_arguments.html)). - -!!! note - This configuration enables the Source++ probe to run every time the webserver restarts. diff --git a/docs/advanced/setup/wildfly.md b/docs/advanced/setup/wildfly.md deleted file mode 100644 index 6259781..0000000 --- a/docs/advanced/setup/wildfly.md +++ /dev/null @@ -1,13 +0,0 @@ -For a standalone JVM deployment, JVM settings can be added as a JAVA_OPTS variable in the standalone.conf file. - - Copy the agent path, update it according to your configuration and then add it to standalone.conf: - --agentpath:/spp-probe-{{ spp.latest_version }}.jar - -Tip - - The default server dynamic logs are in /opt/jboss/wildfly/standalone/log/server.log - To deploy the web interface copy a .war file to the deployment dir /opt/jboss/wildfly/standalone/deployments/ - To redeploy an app, copy a new file to the deployment dir and then run touch .war in the same dir. Then see /opt/jboss/wildfly/standalone/log/server.log to verify; the server stops working following these updates. - -Restart WildFly - How to start/stop the WildFly server diff --git a/docs/alternatives/README.md b/docs/alternatives/README.md deleted file mode 100644 index 9f09cc7..0000000 --- a/docs/alternatives/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# Comparing Source++ - -!!! info - If you're not interested in alternative technologies and wish to get started using Source++, feel free to skip to the [Getting started](../getting-started) section. - -Source++ exists within the realm of "Live-Coding", "Dynamic Observability", "Production Debugging", and related concepts. Being so, there are alternative solutions to Source++ which may be more suitable for your needs. The following comparison matrix shows the differences between Source++ and alternative solutions. - ---- - -## Overview - -### Core - -| | [Source++](https://sourceplusplus.com) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | -|-------------------------------|-----------------------------------------------------|-----------------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------------------------------------------------| -| **Technology** | [Apache SkyWalking](https://skywalking.apache.org/) | [Cloud Debugger](https://cloud.google.com/debugger) | :fontawesome-regular-circle-question: | :fontawesome-regular-circle-question: | :fontawesome-regular-circle-question: | Live-Coding Platform, Developer-Native Observability Platform, Dynamic Observability, Production Debugging | -| Open-source | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | -| Multi-tenant | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | -| Tenant labels | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Label your environments | -| Multi-instance | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Application instance | -| Instance labels | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Tag your agents | -| Collaborative debugging | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | -| Autonomous debugging | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Auto-debug | -| Time travel debugging | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | -| Pipeline integrations | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | -| Exception collection/alerting | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | -| Auditing system | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-regular-circle-question: | :fontawesome-regular-circle-question: | | -| PII redaction | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | -| Supported libraries | 100+ | ~10 | 0 | ~14 | 0 | Auto-link, supported middleware/frameworks, automated instrumentation | - -### Deployment - -| | [Source++](https://sourceplusplus.com) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | -|-------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------------| -| Cloud | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | -| Self-hosted | :fontawesome-solid-circle-check:{ .green } | :mobile_phone: | :mobile_phone: | :fontawesome-solid-circle-minus:{ .red } | :mobile_phone: | | - -### Clients - -| | [Source++](https://sourceplusplus.com) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | -|-------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------------| -| JetBrains | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | -| Visual Studio Code | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | -| Command-line interface | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | - -## Features - -### Live Instruments - -> Allow developers to debug live production applications inside their IDE without redeploying/restarting the application.
More Info: [Live Instruments](../features/live-instruments) - -| | [Source++](https://sourceplusplus.com) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | -|-----------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------------| -| **Supported Languages** | JVM, Python | JVM, Python | JVM, Python, Go, Node.js, .NET, Ruby | JVM, Python | JVM, Python, Node.js, .NET | | -| Live breakpoint | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Non-breaking breakpoint, tracepoint, snapshot, single frame tracepoint | -| Live log | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Logpoint, JIT logging, dynamic logs | -| Live metric | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Custom metrics, counters | -| Live span | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Manual instrumentation | -| Multi-layer instrument | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Snapshot, full stack tracepoint | -| Instrument conditional | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | -| Instrument write protection | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Patent-pending sandbox | -| Instrument TTL | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Time to live | -| Source code blacklisting | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Hiding sensitive data, blocklist | - -### Live Views - -> Offer developers production operational metrics inside their IDE contextualized to the underlying source code.
More Info: [Live Views](../features/live-views) - -| | [Source++](https://sourceplusplus.com) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | -|-------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------------| -| Status Portals | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | IDE production charts | -| Status Indicators | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Production inlay hints | - -### Live Dashboards - -> Traditional APM web dashboards for software operators - -| | [Source++](https://sourceplusplus.com) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | -|-------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------------| -| Web charts | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | -| KPI metrics | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | -| Custom metric analysis | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | - -#### Disclaimer - -The comparison matrix is a guide only and should not be used to determine the suitability of any software for any particular use. If you would like to improve the accuracy of the comparison matrix, please [submit a pull request](https://github.com/sourceplusplus/documentation/pulls) or [open an issue](https://github.com/sourceplusplus/documentation/issues). - - -[//]: # (https://squidfunk.github.io/mkdocs-material/alternatives/) diff --git a/docs/changelog/0.4.5.md b/docs/changelog/0.4.5.md index c2ee869..e469d50 100644 --- a/docs/changelog/0.4.5.md +++ b/docs/changelog/0.4.5.md @@ -3,7 +3,7 @@ ### Ecosystem #### Changed -- Moved changelog to [Source++ Docs](https://docs.sourceplusplus.com/changelog/) +- Moved changelog to [Source++ Docs](https://docs.sourceplus.plus/changelog/) ### [JetBrains Plugin](https://github.com/sourceplusplus/interface-jetbrains) diff --git a/docs/changelog/0.4.7.md b/docs/changelog/0.4.7.md new file mode 100644 index 0000000..eb7c11c --- /dev/null +++ b/docs/changelog/0.4.7.md @@ -0,0 +1,49 @@ +# 0.4.7 (2022-04-20) + +### [JetBrains Plugin](https://github.com/sourceplusplus/interface-jetbrains) + +#### Added +- Portal preloading +- Source guide marks +- Ability to override plugin settings via `.spp/spp-plugin.yml` file +- Auto-connect to local SkyWalking OAP server +- Failing endpoint indicator + +#### Changed +- `spp-skywalking-reroute` header is now `spp-skywalking-reroute-header` +- SkyWalking OAP 9.0.0 compatibility +- Increased portal loading speed + +#### Fixed +- Plugin settings modification check + +### [JVM Probe](https://github.com/sourceplusplus/probe-jvm) + +#### Changed +- Upgraded SkyWalking agent to 8.10.0 + +### [Live Portal](https://github.com/sourceplusplus/interface-portal) + +#### Changed +- Single page portal support + +### [Live View Processor](https://github.com/sourceplusplus/processor-live-view) + +#### Added +- Ability to subscribe to endpoint events by id + +### [Live Platform](https://github.com/sourceplusplus/live-platform) + +#### Added +- PII redaction capabilities +- `/graphql/spp` endpoint + +#### Changed +- Upgraded SkyWalking OAP to 9.0.0 +- Changed default graphql portal from `5445` to `12800` +- `spp-skywalking-reroute` header removed for `spp-platform-request` header + +### [Live Protocol](https://github.com/sourceplusplus/protocol) + +#### Added +- Added `endpoint_resp_time` metric to MetricType diff --git a/docs/changelog/0.5.0.md b/docs/changelog/0.5.0.md new file mode 100644 index 0000000..ddc7701 --- /dev/null +++ b/docs/changelog/0.5.0.md @@ -0,0 +1,20 @@ +# 0.5.0 (2022-05-19) + +### Ecosystem + +#### Added +- Official website: https://sourceplus.plus + +#### Changed +- Replaced [Live Portal](https://github.com/sourceplusplus/interface-portal) with [Booster UI](https://github.com/sourceplusplus/interface-booster-ui) + +### [JetBrains Plugin](https://github.com/sourceplusplus/interface-jetbrains) + +#### Added +- Live command functionality +- UI zoom configuration + +#### Changed +- Replaced Live Portal with Booster UI +- Increased minimum JetBrains compatibility version to 2022.1 +- Increased Kotlin support diff --git a/docs/changelog/0.5.1.md b/docs/changelog/0.5.1.md new file mode 100644 index 0000000..a12f7b5 --- /dev/null +++ b/docs/changelog/0.5.1.md @@ -0,0 +1,24 @@ +# 0.5.1 (2022-06-02) + +### Ecosystem + +#### Added +- Automated release process + +#### Changed +- Replaced JitPack with GitHub Packages + +### [JetBrains Plugin](https://github.com/sourceplusplus/interface-jetbrains) + +#### Fixed +- IU-222.2270.31 compatibility issues + +### [JVM Probe](https://github.com/sourceplusplus/probe-jvm) + +#### Added +- `spp.disable_tls` configuration option + +### [Live Platform](https://github.com/sourceplusplus/live-platform) + +#### Fixed +- NPE on `/graphql/skywalking` when `SPP_DISABLE_JWT=true` diff --git a/docs/changelog/0.5.2.md b/docs/changelog/0.5.2.md new file mode 100644 index 0000000..9b92caf --- /dev/null +++ b/docs/changelog/0.5.2.md @@ -0,0 +1,6 @@ +# 0.5.2 (2022-06-02) + +### Ecosystem + +#### Fixed +- Automated release process issues diff --git a/docs/changelog/0.5.3.md b/docs/changelog/0.5.3.md new file mode 100644 index 0000000..75ef44e --- /dev/null +++ b/docs/changelog/0.5.3.md @@ -0,0 +1,6 @@ +# 0.5.3 (2022-06-02) + +### Ecosystem + +#### Fixed +- Automated release process issues diff --git a/docs/changelog/0.5.4.md b/docs/changelog/0.5.4.md new file mode 100644 index 0000000..d8a1144 --- /dev/null +++ b/docs/changelog/0.5.4.md @@ -0,0 +1,6 @@ +# 0.5.4 (2022-06-06) + +### [JetBrains Plugin](https://github.com/sourceplusplus/interface-jetbrains) + +#### Fixed +- IU-222.2889.14 compatibility issues diff --git a/docs/changelog/README.md b/docs/changelog/README.md index 79e701b..a7287fc 100644 --- a/docs/changelog/README.md +++ b/docs/changelog/README.md @@ -1 +1,44 @@ # Unreleased + +### Ecosystem + +#### Added +- Live Dashboard + +### [JetBrains Plugin](https://github.com/sourceplusplus/interface-jetbrains) + +### Added +- Support for multilingual projects +- Python Flask endpoint detection + +### Changed +- Improved dynamic plugin loading + +#### Fixed +- Action conflicts with LivePlugin +- Portal connection configuration + +### [JVM Probe](https://github.com/sourceplusplus/probe-jvm) + +#### Changed +- Upgraded SkyWalking agent to 8.11.0 + +### [Live Platform](https://github.com/sourceplusplus/live-platform) + +#### Added +- SkyWalking gRPC proxy +- `spp-platform.http.port` configuration option +- `spp-platform.http.ssl_enabled` configuration option +- `spp-platform.http.redirect_to_https` configuration option +- `spp-platform.grpc.port` configuration option +- `spp-platform.grpc.ssl_enabled` configuration option +- `skywalking-oap.grpc_port` configuration option + +#### Changed +- Configuration option from `skywalking-oap.port` to `skywalking-oap.rest_port` + +#### Fixed +- JVM probe generator + +#### Removed +- Documentation submodule diff --git a/docs/advanced/development/How-to-build.md b/docs/contributing/How-to-build.md similarity index 100% rename from docs/advanced/development/How-to-build.md rename to docs/contributing/How-to-build.md diff --git a/docs/features/.pages b/docs/features/.pages index 217c68c..8310cab 100644 --- a/docs/features/.pages +++ b/docs/features/.pages @@ -1,4 +1,6 @@ nav: - README.md + - Live Commands: live-commands - Live Instruments: live-instruments - - Live Views: live-views \ No newline at end of file + - Live Views: live-views + - Live Dashboards: live-dashboards diff --git a/docs/features/README.md b/docs/features/README.md index 7f505ad..78df087 100644 --- a/docs/features/README.md +++ b/docs/features/README.md @@ -1,7 +1,10 @@ -# Using Source++ +# Overview -#### Live Command Palette +Source++ provides numerous features which allow you to collect, explore, and display live application runtime data. -#### Live Instruments +These features include: -#### Live Views \ No newline at end of file +- [Live Commands](./live-commands/README.md) +- [Live Instruments](./live-instruments/README.md) +- [Live Views](./live-views/README.md) +- [Live Dashboards](./live-dashboards/README.md) diff --git a/docs/features/auto-link/.pages b/docs/features/auto-link/.pages deleted file mode 100644 index 33e6518..0000000 --- a/docs/features/auto-link/.pages +++ /dev/null @@ -1,2 +0,0 @@ -nav: - - JVM: jvm.md \ No newline at end of file diff --git a/docs/features/live-commands/README.md b/docs/features/live-commands/README.md new file mode 100644 index 0000000..4e0dacf --- /dev/null +++ b/docs/features/live-commands/README.md @@ -0,0 +1,17 @@ +# Overview + +Live Commands offer the ability for developers to programmatically add custom functionality to their IDE with little effort. Including custom keyboard shortcuts, actions, dialogs, notifications, inlays, and more. Thereby giving developers a powerful way to tailor their IDE to the specific needs of their team and personal preferences. + + + +## LiveCommand API + +#### LiveCommand +#### LiveCommandContext + +### Live Services +#### LiveViewService +#### LiveInstrumentService +#### SkywalkingMonitorService + +### LivePlugin API diff --git a/docs/features/live-commands/live-command-palette.md b/docs/features/live-commands/live-command-palette.md new file mode 100644 index 0000000..201f905 --- /dev/null +++ b/docs/features/live-commands/live-command-palette.md @@ -0,0 +1 @@ +The Live Command Palette (LCP) is a contextual command prompt, included in the [JetBrains Plugin](../../technology/clients/jetbrains-plugin.md), that allows developers to control and query live applications from their IDE. Opened via keyboard shortcut (++ctrl+shift+s++), the LCP allows developers to easily view metrics relevant to the source code they're currently viewing. diff --git a/docs/features/live-dashboards/README.md b/docs/features/live-dashboards/README.md new file mode 100644 index 0000000..ae44810 --- /dev/null +++ b/docs/features/live-dashboards/README.md @@ -0,0 +1 @@ +# Traditional Display diff --git a/docs/features/live-instruments/README.md b/docs/features/live-instruments/README.md index edc8591..e44b2af 100644 --- a/docs/features/live-instruments/README.md +++ b/docs/features/live-instruments/README.md @@ -2,14 +2,14 @@ **Live Instruments** allow developers to easily debug live production applications without leaving their IDE. There are currently four types of live instruments: -#### [Live Breakpoint](breakpoints/introduction.md) +#### [Live Breakpoint](breakpoints/README.md) Live Breakpoints (a.k.a. non-breaking breakpoints) are useful debugging instruments for gaining insight into the live variables available in production at a given scope. -#### [Live Log](logs/introduction.md) +#### [Live Log](logs/README.md) Live Logs (a.k.a. just-in-time logging) are quick and easy debugging instruments for instantly outputting live data from production without redeploying or restarting your application. -#### [Live Metric](metrics/introduction.md) +#### [Live Metric](metrics/README.md) -#### [Live Span](spans/introduction.md) \ No newline at end of file +#### [Live Span](spans/README.md) diff --git a/docs/features/live-instruments/breakpoints/.pages b/docs/features/live-instruments/breakpoints/.pages index 5cd4c7a..d330548 100644 --- a/docs/features/live-instruments/breakpoints/.pages +++ b/docs/features/live-instruments/breakpoints/.pages @@ -1,6 +1,6 @@ nav: - - introduction.md + - README.md - breakpoint-status.md - breakpoint-condition.md - ... - - FAQ: faq.md \ No newline at end of file + - FAQ: faq.md diff --git a/docs/features/live-instruments/breakpoints/introduction.md b/docs/features/live-instruments/breakpoints/README.md similarity index 97% rename from docs/features/live-instruments/breakpoints/introduction.md rename to docs/features/live-instruments/breakpoints/README.md index 42bc27f..dced8de 100644 --- a/docs/features/live-instruments/breakpoints/introduction.md +++ b/docs/features/live-instruments/breakpoints/README.md @@ -12,4 +12,4 @@ Once setup, live breakpoints are created just like conventional breakpoints. You ## Breakpoint Status -Breakpoints blah \ No newline at end of file +Breakpoints blah diff --git a/docs/features/live-instruments/logs/.pages b/docs/features/live-instruments/logs/.pages index 352f9d1..b8d16f1 100644 --- a/docs/features/live-instruments/logs/.pages +++ b/docs/features/live-instruments/logs/.pages @@ -1,4 +1,4 @@ nav: - - introduction.md + - README.md - ... - - FAQ: faq.md \ No newline at end of file + - FAQ: faq.md diff --git a/docs/features/live-instruments/logs/introduction.md b/docs/features/live-instruments/logs/README.md similarity index 100% rename from docs/features/live-instruments/logs/introduction.md rename to docs/features/live-instruments/logs/README.md diff --git a/docs/features/live-instruments/metrics/.pages b/docs/features/live-instruments/metrics/.pages index 352f9d1..b8d16f1 100644 --- a/docs/features/live-instruments/metrics/.pages +++ b/docs/features/live-instruments/metrics/.pages @@ -1,4 +1,4 @@ nav: - - introduction.md + - README.md - ... - - FAQ: faq.md \ No newline at end of file + - FAQ: faq.md diff --git a/docs/features/live-instruments/metrics/introduction.md b/docs/features/live-instruments/metrics/README.md similarity index 100% rename from docs/features/live-instruments/metrics/introduction.md rename to docs/features/live-instruments/metrics/README.md diff --git a/docs/features/live-instruments/spans/.pages b/docs/features/live-instruments/spans/.pages index 352f9d1..b8d16f1 100644 --- a/docs/features/live-instruments/spans/.pages +++ b/docs/features/live-instruments/spans/.pages @@ -1,4 +1,4 @@ nav: - - introduction.md + - README.md - ... - - FAQ: faq.md \ No newline at end of file + - FAQ: faq.md diff --git a/docs/features/live-instruments/spans/introduction.md b/docs/features/live-instruments/spans/README.md similarity index 100% rename from docs/features/live-instruments/spans/introduction.md rename to docs/features/live-instruments/spans/README.md diff --git a/docs/features/live-views/README.md b/docs/features/live-views/README.md index ea4613e..3672368 100644 --- a/docs/features/live-views/README.md +++ b/docs/features/live-views/README.md @@ -2,10 +2,10 @@ **Live Views** are designed for increasing application comprehension and awareness. Unlike [Live Instruments](../live-instruments), which are designed for debugging live applications, Live Views are designed for understanding the behavior of a live application. Live Views are typically more permanent than Live Instruments as they are not automatically expired or removed from the application. -#### [Portal](portal/introduction.md) +#### [Portal](portal/README.md) Portals allow developers to view traditional software operational data filtered down to the relevant metrics. -#### [Indicators](indicators/introduction.md) +#### [Indicators](indicators/README.md) Indicators are production quality indicators that are calculated and displayed in real time. diff --git a/docs/features/live-views/indicators/quick-stats.md b/docs/features/live-views/indicators/quick-stats.md index f112763..db1a004 100644 --- a/docs/features/live-views/indicators/quick-stats.md +++ b/docs/features/live-views/indicators/quick-stats.md @@ -13,8 +13,8 @@ todo: diagram with pointers ### Command -As with other indicators, the **Quick Stats Indicator** can be enabled and disabled for specific contexts via the [Live Command Palette](../../../implementation/concepts/live-command-palette.md). Using the show quick stats/hide quick stats command developers can quickly display or hide this indicator. These preferences will only affect the current developer and will be persisted across IDE reboots. +As with other indicators, the **Quick Stats Indicator** can be enabled and disabled for specific contexts via the [Live Command Palette](../../live-commands/live-command-palette.md). Using the show quick stats/hide quick stats command developers can quickly display or hide this indicator. These preferences will only affect the current developer and will be persisted across IDE reboots. #### Screencast -![](../../../assets/screencasts/show_quick_stats_command.gif) \ No newline at end of file +![](../../../assets/screencasts/show_quick_stats_command.gif) diff --git a/docs/features/live-views/portal/.pages b/docs/features/live-views/portal/.pages index ad062b9..30b8f68 100644 --- a/docs/features/live-views/portal/.pages +++ b/docs/features/live-views/portal/.pages @@ -1,6 +1,6 @@ nav: - - introduction.md + - README.md - overview.md - activity.md - traces.md - - logs.md \ No newline at end of file + - logs.md diff --git a/docs/features/live-views/portal/README.md b/docs/features/live-views/portal/README.md new file mode 100644 index 0000000..e10b99d --- /dev/null +++ b/docs/features/live-views/portal/README.md @@ -0,0 +1 @@ +# Introduction diff --git a/docs/implementation/concepts/source-mark.md b/docs/features/live-views/source-mark.md similarity index 97% rename from docs/implementation/concepts/source-mark.md rename to docs/features/live-views/source-mark.md index a264b59..e37ac8c 100644 --- a/docs/implementation/concepts/source-mark.md +++ b/docs/features/live-views/source-mark.md @@ -1,5 +1,7 @@ *Source Marks* are one of the central components of SourceMarker. *Source Marks* are used to give developers a quick indication about the current behavior of a given source code artifact. These markings are placed in and around source code text to indicate there is additional information that can be viewed about that specific source code artifact. +### Guide Mark + ### Gutter Mark *Gutter Marks* represent the first of the two types of *Source Marks* available. *Gutter Marks* are distinguished by the fact that they do not occur directly inside source code but rather on the side of source code in an area known as the gutter. Typically, the gutter is to the left of source code and is often where line numbers are displayed. *Gutter Marks* are icon-based symbols that are interpreted through the icon which is displayed and context/location in which they are displayed. To get the complete meaning behind any *Gutter Mark* simply click it and the *Source Portal* will appear with the full context. @@ -14,4 +16,4 @@ | ![](../../assets/screenshots/track_sioobe.gif) | |:-------------------------------------------------------------------------------------------:| -| *Inlay Mark tracking the latest production occurrence of an exception occurring on line 54* | \ No newline at end of file +| *Inlay Mark tracking the latest production occurrence of an exception occurring on line 54* | diff --git a/docs/implementation/concepts/source-portal.md b/docs/features/live-views/source-portal.md similarity index 97% rename from docs/implementation/concepts/source-portal.md rename to docs/features/live-views/source-portal.md index c995f40..1036d7b 100644 --- a/docs/implementation/concepts/source-portal.md +++ b/docs/features/live-views/source-portal.md @@ -1,10 +1,6 @@ The *Source Portal* is the primary visual interface of SourceMarker. It is a dynamic and contextual interface that displays visualizations relevant to the source code currently in focus. The *Source Portal* is used to convey larger amounts of relevant runtime information than is possible through *Source Marks*. -To view the *Source Portal* you can click any visible *Source Mark* or you can type the keyboard combination: - -``` -CONTROL+SHIFT+S -``` +To view the *Source Portal* you can click any visible *Source Mark* or you can type the keyboard combination ++ctrl+shift+s++. Doing so will trigger the *Source Portal* to display directly above the artifact for which the information correlates, like so: diff --git a/docs/getting-started/.pages b/docs/getting-started/.pages new file mode 100644 index 0000000..18a1601 --- /dev/null +++ b/docs/getting-started/.pages @@ -0,0 +1,4 @@ +nav: + - README.md + - attach-probe.md + - connect-plugin.md diff --git a/docs/getting-started/1-install-platform.md b/docs/getting-started/1-install-platform.md deleted file mode 100644 index 4a052bc..0000000 --- a/docs/getting-started/1-install-platform.md +++ /dev/null @@ -1,7 +0,0 @@ -# Setup Platform - - -- [Install through Docker or Docker Compose](../advanced/installation/docker.md) -- [Install on Debian or Ubuntu](../advanced/installation/debian.md) -- [Install on Windows](../advanced/installation/windows.md) -- [Deploy on Kubernetes](../advanced/installation/kubernetes.md) diff --git a/docs/getting-started/2-attach-probe.md b/docs/getting-started/2-attach-probe.md deleted file mode 100644 index b6b56e9..0000000 --- a/docs/getting-started/2-attach-probe.md +++ /dev/null @@ -1,27 +0,0 @@ -# Attach Probe - -!!! note - The Source++ Probe currently support JVM-based applications. - -The [Source++ Probe](../implementation/tools/probe/general.md) is the primary tool for how -the [Source++ Platform](../implementation/tools/platform/general.md) collects and displays relevant data for you. - -Prerequisites for installing the probe vary depending on the application server you're using. Specific application -servers have their own distinct set of JVM customization arguments. In these cases, -see [Advanced Setup](../advanced/setup/overview.md) for more information. For the typical usage, see below. - -## Download - -You can use the platform to generate and download a probe which contains embedded connection information. - -```shell -curl -O -J "https://:5445/download/spp-probe?access_token=" -``` - -## Usage - -You can attach the probe via the `-javaagent` option. - -``` --javaagent://spp-probe-{{ spp.latest_version }}.jar -``` diff --git a/docs/getting-started/README.md b/docs/getting-started/README.md index d4aa586..2820bc7 100644 --- a/docs/getting-started/README.md +++ b/docs/getting-started/README.md @@ -1,5 +1,39 @@ -# Installing Source++ +# Installation -## New Users +There are three steps that are necessary to set up Source++: -## SkyWalking Users \ No newline at end of file +1. Boot the Source++ Live Platform +1. Attach the Source++ Agent +1. Connect the Source++ Plugin + +The first step is to boot the Source++ Live Platform. This following instructions will walk you through the process of booting the platform. The recommended approach for booting the platform is via [Docker](#docker). + +## Docker + +### Prerequisites + +- [Docker](https://docs.docker.com/get-docker/) +- [Docker Compose](https://docs.docker.com/compose/install/) + +### Setup + +1. Download the [docker-compose.yml](https://github.com/sourceplusplus/live-platform/blob/master/docker/docker-compose.yml) file into a new empty directory (can be anywhere). + + ```sh + mkdir ~/spp-platform && cd ~/spp-platform + curl -OL "https://raw.sourceplus.plus/live-platform/master/docker/docker-compose.yml" + ``` + +2. Start services + + ```sh + docker-compose up -d + ``` + +## Troubleshooting + +If installation fails, check the list of common installation issues. If your problem is not listed, please open a new issue or discussion on [GitHub](https://github.com/sourceplusplus/live-platform), and we will try to help you. + +--- + +Once the platform is successfully booted, the next step is to attach the Source++ Live Probe. Continue to the next section for instructions on how to attach the probe. diff --git a/docs/getting-started/attach-probe.md b/docs/getting-started/attach-probe.md new file mode 100644 index 0000000..ced91bc --- /dev/null +++ b/docs/getting-started/attach-probe.md @@ -0,0 +1,48 @@ +# Attach Probe + +The [Source++ Probe](../technology/probes/README.md) is the primary tool for how the [Source++ Platform](../technology/platform/README.md) collects and displays relevant data for you. + +## Download + +You can use the platform to generate and serve a probe which contains embedded connection information (including security credentials). Alternatively, you can download the official probe from [GitHub Releases]() and manually configure the necessary connection settings. See [Probe Configuration]() for the required configuration. + +The following command will serve the latest probe version: + +```shell +curl -O -J https:///download/spp-probe?access_token= +``` + +??? example "Example: Download the latest version" + ``` + curl -O -J https://localhost:12800/download/spp-probe?access_token=change-me + ``` + +To download a specific version, use the following command: + +```shell +curl -O -J https:///download/spp-probe?access_token=&version= +``` + +??? example "Example: Download version {{ spp.latest_version }}" + ``` + curl -O -J https://localhost:12800/download/spp-probe?access_token=change-me&version={{ spp.latest_version }} + ``` + +To set the service name, use the following command: + +```shell +curl -O -J https:///download/spp-probe?access_token=&service_name= +``` + +??? example "Example: Download probe with service name "my-cool-app"" + ``` + curl -O -J https://localhost:12800/download/spp-probe?access_token=change-me&service_name=my-cool-app + ``` + +## Usage + +Prerequisites for installing the probe vary depending on the application server you're using. For the typical usage, simply add the `-javaagent` option: + +``` +-javaagent://spp-probe-{{ spp.latest_version }}.jar +``` diff --git a/docs/getting-started/3-install-plugin.md b/docs/getting-started/connect-plugin.md similarity index 79% rename from docs/getting-started/3-install-plugin.md rename to docs/getting-started/connect-plugin.md index 352eb21..6a4422d 100644 --- a/docs/getting-started/3-install-plugin.md +++ b/docs/getting-started/connect-plugin.md @@ -1,13 +1,11 @@ -# Setup Plugin - -## Download Plugin - -With Source++, you can add live instruments (breakpoints, logs, etc.) from the source code of your live application either from your IDE, or from the CLI. To use Source++ through your IDE, you need to first install the [Source++ Plugin](../implementation/tools/clients/jetbrains-plugin.md). +# Connect Plugin !!! note The Source++ Plugin currently only supports [JetBrains](https://www.jetbrains.com/) IDEs. -### Installing Source++ Plugin +With Source++, you can add live instruments (breakpoints, logs, etc.) from the source code of your live application either from your IDE, or from the CLI. To use Source++ through your IDE, you need to first install the [Source++ Plugin](../technology/clients/jetbrains-plugin.md). + +## Install Plugin 1. Navigate to your JetBrains IDE. 1. Press ++ctrl+alt+s++ to open the `Settings` dialog and then go to `Plugins`. @@ -26,3 +24,7 @@ Before you can work from your IDE with Source++, you need to connect the plugin 1. Input the service host and access token provided (if necessary) 1. If `Root Source Package` is empty, input the base common package of your application 1. E.g. `com.company.application` + +--- + +Now that you have successfully connected your plugin, you can start working from your IDE. Proceed to the next section to learn how to use Source++ from your IDE. diff --git a/docs/implementation/.pages b/docs/implementation/.pages deleted file mode 100644 index 6244e03..0000000 --- a/docs/implementation/.pages +++ /dev/null @@ -1,4 +0,0 @@ -nav: - - Introduction: README.md - - concepts - - tools diff --git a/docs/implementation/README.md b/docs/implementation/README.md deleted file mode 100644 index e0e00c0..0000000 --- a/docs/implementation/README.md +++ /dev/null @@ -1,7 +0,0 @@ -## Environments - -!![spp-environments](../assets/diagrams/spp-environments.svg) - -## Architecture - -!![spp-architecture](../assets/diagrams/spp-architecture.svg) diff --git a/docs/implementation/concepts/.pages b/docs/implementation/concepts/.pages deleted file mode 100644 index 27e4cec..0000000 --- a/docs/implementation/concepts/.pages +++ /dev/null @@ -1,4 +0,0 @@ -nav: - - Live Command Palette: live-command-palette.md - - Source Portal: source-portal.md - - Source Mark: source-mark.md \ No newline at end of file diff --git a/docs/implementation/concepts/live-command-palette.md b/docs/implementation/concepts/live-command-palette.md deleted file mode 100644 index 48f55ef..0000000 --- a/docs/implementation/concepts/live-command-palette.md +++ /dev/null @@ -1 +0,0 @@ -The Live Command Palette (LCP) is a contextual command prompt, included in the [JetBrains Plugin](../tools/clients/jetbrains-plugin.md), that allows developers to control and query live applications from their IDE. Opened via keyboard shortcut (++ctrl+shift+s++), the LCP allows developers to easily view metrics relevant to the source code they're currently viewing. \ No newline at end of file diff --git a/docs/implementation/tools/.pages b/docs/implementation/tools/.pages deleted file mode 100644 index ffad7a3..0000000 --- a/docs/implementation/tools/.pages +++ /dev/null @@ -1,4 +0,0 @@ -nav: - - platform - - probe - - clients \ No newline at end of file diff --git a/docs/legal/.pages b/docs/legal/.pages deleted file mode 100644 index 14b73d6..0000000 --- a/docs/legal/.pages +++ /dev/null @@ -1,3 +0,0 @@ -nav: - - ... - - OSS Notices: oss-notices.md \ No newline at end of file diff --git a/docs/legal/oss-notices.md b/docs/legal/oss-notices.md deleted file mode 100644 index 921d76e..0000000 --- a/docs/legal/oss-notices.md +++ /dev/null @@ -1,16 +0,0 @@ -| Library | License | -| ---------------------------------------------------------- | ------------------------------------------------------------------- | -| [Apache Commons](http://commons.apache.org/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [Apache SkyWalking](http://skywalking.io/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [ECharts](https://echarts.apache.org) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [Eclipse Vert.x](http://vertx.io/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [Fomantic-UI](https://fomantic-ui.com/) | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | -| [Gson](https://github.com/google/gson/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [Guava](https://github.com/google/guava) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [Jackson](https://github.com/codehaus/jackson) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [OkHttp](http://square.github.io/okhttp/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | -| [SLF4J](http://www.slf4j.org/) | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | -| [Jackson](https://github.com/codehaus/jackson) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | - -apollo, \ No newline at end of file diff --git a/docs/reference/.pages b/docs/reference/.pages new file mode 100644 index 0000000..54558ce --- /dev/null +++ b/docs/reference/.pages @@ -0,0 +1,5 @@ +nav: + - README.md + - ... + - glossary.md + - OSS Notices: oss-notices.md diff --git a/docs/reference/README.md b/docs/reference/README.md new file mode 100644 index 0000000..1945820 --- /dev/null +++ b/docs/reference/README.md @@ -0,0 +1,7 @@ +# Overview + +This section provides reference information about Source++, including: + +- [Alternatives](./alternatives/README.md) +- [Glossary](./glossary.md) +- [OSS Notices](./oss-notices.md) diff --git a/docs/implementation/tools/probe/.pages b/docs/reference/alternatives/.pages similarity index 70% rename from docs/implementation/tools/probe/.pages rename to docs/reference/alternatives/.pages index 917082f..0cb364f 100644 --- a/docs/implementation/tools/probe/.pages +++ b/docs/reference/alternatives/.pages @@ -1,3 +1,2 @@ nav: - README.md - - ... diff --git a/docs/reference/alternatives/README.md b/docs/reference/alternatives/README.md new file mode 100644 index 0000000..09e3eba --- /dev/null +++ b/docs/reference/alternatives/README.md @@ -0,0 +1,89 @@ +# Comparing Source++ + +!!! info + If you're not interested in alternative technologies and wish to get started using Source++, feel free to skip to the [Getting started](../../getting-started) section. + +Source++ exists within the realm of "Live-Coding", "Dynamic Observability", "Production Debugging", and related concepts. Being so, there are alternative solutions to Source++ which may be more suitable for your needs. The following comparison matrix shows the differences between Source++ and alternative solutions. + +--- + +## Overview + +### Core + +| | [Source++](https://sourceplus.plus) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | +|-------------------------------|-----------------------------------------------------|-----------------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------------------------------------------------| +| **Technology** | [Apache SkyWalking](https://skywalking.apache.org/) | [Cloud Debugger](https://cloud.google.com/debugger) | :fontawesome-regular-circle-question: | :fontawesome-regular-circle-question: | :fontawesome-regular-circle-question: | Live-Coding Platform, Developer-Native Observability Platform, Dynamic Observability, Production Debugging | +| Open-source | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | +| Multi-tenant | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | +| Tenant labels | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Label your environments | +| Multi-instance | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Application instance | +| Instance labels | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Tag your agents | +| Collaborative debugging | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | +| Autonomous debugging | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Auto-debug | +| Time travel debugging | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | +| Pipeline integrations | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | +| Exception collection/alerting | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | +| Auditing system | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-regular-circle-question: | :fontawesome-regular-circle-question: | | +| PII redaction | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | | +| Supported libraries | 100+ | ~10 | 0 | ~14 | 0 | Auto-link, supported middleware/frameworks, automated instrumentation | + +### Deployment + +| | [Source++](https://sourceplus.plus) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | +|-------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|--------------------------------------------|-------------| +| Cloud | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | +| Self-hosted | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-phone: | :fontawesome-solid-phone: | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-phone: | | + +### Clients + +| | [Source++](https://sourceplus.plus) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | +|------------------------|--------------------------------------------|--------------------------------------------|------------------------------------------|--------------------------------------------|--------------------------------------------|-------------| +| JetBrains | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | +| Visual Studio Code | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | +| Command-line interface | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | + +## Features + +### Live Instruments + +> Allow developers to debug live production applications inside their IDE without redeploying/restarting the application.
More Info: [Live Instruments](../../features/live-instruments) + +| | [Source++](https://sourceplus.plus) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | +|-----------------------------|--------------------------------------------|--------------------------------------------|-------------------------------------------------------|--------------------------------------------|----------------------------------------------------|------------------------------------------------------------------------| +| **Supported Languages** | Java, Groovy, Kotlin, Python | Java, Python, Node.js | Java, Groovy, Kotlin, Python, Go, Node.js, .NET, Ruby | Java, Python, Node.js | Java, Groovy, Kotlin, Scala, Python, Node.js, .NET | | +| Live breakpoint | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Non-breaking breakpoint, tracepoint, snapshot, single frame tracepoint | +| Live log | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | Logpoint, JIT logging, dynamic logs | +| Live metric | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Custom metrics, counters | +| Live span | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Manual instrumentation | +| Multi-layer instrument | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Snapshot, full stack tracepoint | +| Instrument conditional | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | +| Instrument write protection | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Patent-pending sandbox | +| Instrument TTL | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Time to live | +| Source code blacklisting | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | Hiding sensitive data, blocklist | + +### Live Views + +> Offer developers production operational metrics inside their IDE contextualized to the underlying source code.
More Info: [Live Views](../../features/live-views) + +| | [Source++](https://sourceplus.plus) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | +|-------------------|--------------------------------------------|--------------------------------------------|------------------------------------------|------------------------------------------|------------------------------------------|------------------------| +| Status Portals | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | IDE production charts | +| Status Indicators | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | Production inlay hints | + +### Live Dashboards + +> Traditional APM web dashboards for software operators + +| | [Source++](https://sourceplus.plus) | [Lightrun](https://lightrun.com) | [Rookout](https://rookout.com) | [Thundra](https://thundra.io) | [nerd.vision](https://nerd.vision) | Terminology | +|------------------------|------------------------------------------|------------------------------------------|------------------------------------------|--------------------------------------------|------------------------------------------|-------------| +| Web charts | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-minus:{ .red } | | +| KPI metrics | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | +| Custom metric analysis | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | :fontawesome-solid-circle-minus:{ .red } | | + +#### Disclaimer + +The comparison matrix is a guide only and should not be used to determine the suitability of any software for any particular use. If you would like to improve the accuracy of the comparison matrix, please [submit a pull request](https://github.com/sourceplusplus/documentation/pulls) or [open an issue](https://github.com/sourceplusplus/documentation/issues). + + +[//]: # (https://squidfunk.github.io/mkdocs-material/alternatives/) diff --git a/docs/alternatives/lightrun.md b/docs/reference/alternatives/lightrun.md similarity index 100% rename from docs/alternatives/lightrun.md rename to docs/reference/alternatives/lightrun.md diff --git a/docs/alternatives/nerd-vision.md b/docs/reference/alternatives/nerd-vision.md similarity index 100% rename from docs/alternatives/nerd-vision.md rename to docs/reference/alternatives/nerd-vision.md diff --git a/docs/alternatives/rookout.md b/docs/reference/alternatives/rookout.md similarity index 100% rename from docs/alternatives/rookout.md rename to docs/reference/alternatives/rookout.md diff --git a/docs/alternatives/thundra.md b/docs/reference/alternatives/thundra.md similarity index 100% rename from docs/alternatives/thundra.md rename to docs/reference/alternatives/thundra.md diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md new file mode 100644 index 0000000..34a6926 --- /dev/null +++ b/docs/reference/glossary.md @@ -0,0 +1,75 @@ +This is a collection of terms used in the documentation and API of Source++. + +### [Source Mark](../features/live-views/source-mark.md) + +### [Guide Mark](../features/live-views/source-mark.md#guide-mark) + +### [Inlay Mark](../features/live-views/source-mark.md#inlay-mark) + +### [Gutter Mark](../features/live-views/source-mark.md#gutter-mark) + +### [Live Instrument](../features/live-instruments/README.md) + +### [Live Breakpoint](../features/live-instruments/breakpoints/README.md) + +### [Live Log](../features/live-instruments/logs/README.md) + +### [Live Metric](../features/live-instruments/metrics/README.md) + +### [Live Span](../features/live-instruments/spans/README.md) + +### [Live View](../features/live-views/README.md) + +### [Live Command](../features/live-commands/README.md) + +### Live Variable + +### [Live Platform](../technology/platform/README.md) + +### [Live Plugin](../technology/clients/jetbrains-plugin.md) + +### [Live Probe](../technology/probes/README.md) + +### Code Object + +### Code Activity + +### [Live Indicator](../features/live-views/indicators/README.md) + +### Live Processor + +### Source++ Cloud + +### Source++ OSS + +### Live Insight + +A live metric which has gone through machine learning algorithm(s) to determine its value. + +### Live Metric + +A value which has been extracted/deduced from a live software application. + +### [Live Dashboard](../features/live-dashboards/README.md) + +### OAP + +### LAL + +### OAL + +### AIOps + +### Auto-link + +### [Live Portal](../features/live-views/portal/README.md) + +### Apache SkyWalking + +### Live Coding + +### Observability + +### [Source Portal](../features/live-views/source-portal.md) + +### [Live Command Palette](../features/live-commands/live-command-palette.md) diff --git a/docs/reference/oss-notices.md b/docs/reference/oss-notices.md new file mode 100644 index 0000000..19c717e --- /dev/null +++ b/docs/reference/oss-notices.md @@ -0,0 +1,26 @@ +## live-platform +> [https://github.com/sourceplusplus/live-platform](https://github.com/sourceplusplus/live-platform) + +| Library | License | +|-----------------------------------------------------------------|------------------------------------------------------------------| +| [Apache Commons](http://commons.apache.org/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [Apache SkyWalking](http://skywalking.io/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin) | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [ECharts](https://echarts.apache.org) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [Eclipse Vert.x](http://vertx.io/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [Gson](https://github.com/google/gson/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [Guava](https://github.com/google/guava) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [Jackson](https://github.com/codehaus/jackson) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [OkHttp](http://square.github.io/okhttp/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | +| [SLF4J](http://www.slf4j.org/) | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | +| [Java API for GitHub](https://github.com/hub4j/github-api) | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | +| [jOOR](https://github.com/jOOQ/jOOR) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | + +## probe-jvm + +## Live Protocol + +## Live CLI + +## JetBrains Plugin diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 2c2d8e7..d65de44 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -15,7 +15,7 @@ } [data-md-color-scheme="default"] .md-footer { - background: #141d22; + background: #122127; } [data-md-color-scheme="slate"] .md-footer { @@ -23,11 +23,11 @@ } [data-md-color-scheme="default"] .md-footer-meta { - background: #182d34; + background: #202f37; } [data-md-color-scheme="slate"] .md-footer-meta { - background: #182d34; + background: #202f37; } [data-md-color-scheme="slate"] .md-top { @@ -79,9 +79,9 @@ td > img { } [data-md-color-scheme="slate"] { - --md-default-bg-color: #141d22; - --md-primary-fg-color: #182d34; + --md-default-bg-color: #172127; + --md-primary-fg-color: #0d1216; --md-accent-fg-color: #e1483b; --md-typeset-a-color: #e1483b; --md-code-bg-color: #0d1216; -} \ No newline at end of file +} diff --git a/docs/technology/.pages b/docs/technology/.pages new file mode 100644 index 0000000..7c74899 --- /dev/null +++ b/docs/technology/.pages @@ -0,0 +1,5 @@ +nav: + - README.md + - platform + - probes + - clients diff --git a/docs/technology/README.md b/docs/technology/README.md new file mode 100644 index 0000000..ebc3b7a --- /dev/null +++ b/docs/technology/README.md @@ -0,0 +1,14 @@ +# Overview + +Source++ consists of several components that work together to provide a comprehensive set of features for developers. + +The following components are included in Source++: + +- [Live Platform](./platform/README.md) + - APIs: [GraphQL](./platform/apis/graphql.md) +- Live Probes + - [JVM Probe](./probes/jvm/README.md) + - [Python Probe](./probes/python/README.md) +- Live Clients + - [JetBrains Plugin](./clients/jetbrains-plugin.md) + - [Live CLI](./clients/cli/README.md) diff --git a/docs/implementation/tools/clients/.pages b/docs/technology/clients/.pages similarity index 56% rename from docs/implementation/tools/clients/.pages rename to docs/technology/clients/.pages index 7553f55..1108520 100644 --- a/docs/implementation/tools/clients/.pages +++ b/docs/technology/clients/.pages @@ -1,4 +1,3 @@ nav: - JetBrains Plugin: jetbrains-plugin.md - - GraphQL: graphql.md - - CLI: cli \ No newline at end of file + - CLI: cli diff --git a/docs/implementation/tools/clients/cli/.pages b/docs/technology/clients/cli/.pages similarity index 100% rename from docs/implementation/tools/clients/cli/.pages rename to docs/technology/clients/cli/.pages diff --git a/docs/implementation/tools/clients/cli/README.md b/docs/technology/clients/cli/README.md similarity index 84% rename from docs/implementation/tools/clients/cli/README.md rename to docs/technology/clients/cli/README.md index 4759025..53afada 100644 --- a/docs/implementation/tools/clients/cli/README.md +++ b/docs/technology/clients/cli/README.md @@ -2,12 +2,12 @@ ## Quick install -### Linux or macOS +### Linux/macOS Install the latest version with the following command: ```shell -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/sourceplusplus/interface-cli/master/scripts/install.sh)" +/bin/bash -c "$(curl -fsSL https://raw.sourceplus.plus/interface-cli/master/scripts/install.sh)" ``` ### Windows @@ -15,7 +15,7 @@ Install the latest version with the following command: Note: You will need to start cmd in administrator mode. ```shell -curl -LO "https://raw.githubusercontent.com/sourceplusplus/interface-cli/master/scripts/install.bat" && .\install.bat +curl -LO "https://raw.sourceplus.plus/interface-cli/master/scripts/install.bat" && .\install.bat ``` ## Help diff --git a/docs/implementation/tools/clients/cli/admin.md b/docs/technology/clients/cli/admin.md similarity index 100% rename from docs/implementation/tools/clients/cli/admin.md rename to docs/technology/clients/cli/admin.md diff --git a/docs/implementation/tools/clients/cli/developer.md b/docs/technology/clients/cli/developer.md similarity index 54% rename from docs/implementation/tools/clients/cli/developer.md rename to docs/technology/clients/cli/developer.md index f4e90f0..d3bc0ae 100644 --- a/docs/implementation/tools/clients/cli/developer.md +++ b/docs/technology/clients/cli/developer.md @@ -1,26 +1,26 @@ # Developer ``` -Usage: platform-cli [OPTIONS] COMMAND [ARGS]... +Usage: spp-cli [OPTIONS] COMMAND [ARGS]... Options: - -v, --verbose Enable verbose mode - -p, --platform TEXT Source++ platform host - -c, --certificate PATH Source++ platform certificate - -k, --key PATH Source++ platform key - -h, --help Show this message and exit + -v, --verbose Enable verbose mode + -p, --platform TEXT Source++ platform host + -c, --certificate PATH Source++ platform certificate + -k, --key PATH Source++ platform key + -a, --access-token TEXT Developer access token + -h, --help Show this message and exit Commands: - add-breakpoint - add-log - get-breakpoints - get-logs - get-instruments - remove-instrument - remove-instruments + add Add live instruments/views + get Get live instruments/views + remove Remove live instruments/views + subscribe Subscribe to live instrument/view events + version Display version information + whoami Display current user information ``` -### add-breakpoint +### add breakpoint #### Description @@ -29,30 +29,30 @@ Add live breakpoint to running application. #### Synopsis ``` -add-breakpoint [OPTIONS] +add breakpoint [OPTIONS] ``` #### Arguments -| Argument | Description | -| :------------------- | :--------------------------------------------------------------------------------- | -| **source** | Qualified class name (e.g. `com.company.Webapp`) | -| **line** | Line number | +| Argument | Description | +|:-----------|:-------------------------------------------------| +| **source** | Qualified class name (e.g. `com.company.Webapp`) | +| **line** | Line number | #### Options -| Option | Description | -| :---------------------- | :--------------------------------------------------------------------------------- | -| **-condition**, **-c** | Condition required to trigger live breakpoint | -| **-expiresAt**, **-e** | Maximum time-to-live (epoch timestamp \[ms\]) | -| **-hitLimit**, **-h** | Maximum amount of times to trigger live breakpoint | +| Option | Description | +|:-----------------------|:---------------------------------------------------| +| **-condition**, **-c** | Condition required to trigger live breakpoint | +| **-expiresAt**, **-e** | Maximum time-to-live (epoch timestamp \[ms\]) | +| **-hitLimit**, **-h** | Maximum amount of times to trigger live breakpoint | #### Examples ??? example "Basic" **Input**: ``` - add-breakpoint com.company.Webapp 42 + add breakpoint com.company.Webapp 42 ``` **Output**: @@ -70,7 +70,7 @@ add-breakpoint [OPTIONS] ??? example "Advanced" **Input**: ``` - add-breakpoint -c 1==1 -h 5 com.company.Webapp 42 + add breakpoint -c 1==1 -h 5 com.company.Webapp 42 ``` **Output**: @@ -88,7 +88,7 @@ add-breakpoint [OPTIONS] --- -### add-log +### add log #### Description @@ -97,32 +97,32 @@ Add live log to running application. #### Synopsis ``` -add-log [OPTIONS] +add log [OPTIONS] ``` #### Arguments -| Argument | Description | -| :------------------- | :--------------------------------------------------------------------------------- | -| **source** | Qualified class name (e.g. `com.company.Webapp`) | -| **line** | Line number | -| **logFormat** | Format to log (e.g. `Hello {}`) | +| Argument | Description | +|:--------------|:-------------------------------------------------| +| **source** | Qualified class name (e.g. `com.company.Webapp`) | +| **line** | Line number | +| **logFormat** | Format to log (e.g. `Hello {}`) | #### Options -| Option | Description | -| :------------------------ | :--------------------------------------------------------------------------------- | -| **-logArguments**, **-l** | Argument(s) to add to log format | -| **-condition**, **-c** | Condition required to trigger live log | -| **-expiresAt**, **-e** | Maximum time-to-live (epoch timestamp \[ms\]) | -| **-hitLimit**, **-h** | Maximum amount of times to trigger live log | +| Option | Description | +|:--------------------------|:----------------------------------------------| +| **-logArguments**, **-l** | Argument(s) to add to log format | +| **-condition**, **-c** | Condition required to trigger live log | +| **-expiresAt**, **-e** | Maximum time-to-live (epoch timestamp \[ms\]) | +| **-hitLimit**, **-h** | Maximum amount of times to trigger live log | #### Examples ??? example "Basic" **Input**: ``` - add-log com.company.Webapp 42 "Hello world" + add log com.company.Webapp 42 "Hello world" ``` **Output**: @@ -141,7 +141,7 @@ add-log [OPTIONS] ??? example "Advanced" **Input**: ``` - add-log -l name1 -l name2 com.company.Webapp 42 "Hello {} and {}" + add log -l name1 -l name2 com.company.Webapp 42 "Hello {} and {}" ``` **Output**: @@ -160,7 +160,7 @@ add-log [OPTIONS] --- -### get-breakpoints +### get breakpoints #### Description @@ -169,7 +169,7 @@ Get list of live breakpoints. #### Synopsis ``` -get-breakpoints +get breakpoints ``` #### Examples @@ -177,7 +177,7 @@ get-breakpoints ??? example "Basic" **Input**: ``` - get-breakpoints + get breakpoints ``` **Output**: @@ -204,7 +204,7 @@ Get list of live logs. #### Synopsis ``` -get-logs +get logs ``` #### Examples @@ -212,7 +212,7 @@ get-logs ??? example "Basic" **Input**: ``` - get-logs + get logs ``` **Output**: @@ -231,7 +231,7 @@ get-logs --- -### get-instruments +### get instruments #### Description @@ -240,7 +240,7 @@ Get list of live instruments. #### Synopsis ``` -get-instruments +get instruments ``` #### Examples @@ -248,7 +248,7 @@ get-instruments ??? example "Basic" **Input**: ``` - get-instruments + get instruments ``` **Output**: @@ -278,7 +278,7 @@ get-instruments --- -### remove-instrument +### remove instrument #### Description @@ -287,21 +287,21 @@ Remove an existing live instrument. #### Synopsis ``` -remove-instrument +remove instrument ``` #### Arguments -| Argument | Description | -| :------------------- | :--------------------------------------------------------------------------------- | -| **id** | Existing live instrument id | +| Argument | Description | +|:---------|:----------------------------| +| **id** | Existing live instrument id | #### Examples ??? example "Basic" **Input**: ``` - remove-instrument 6567ee97-ec61-4b23-80d7-cef8206b629e + remove instrument 6567ee97-ec61-4b23-80d7-cef8206b629e ``` **Output**: @@ -318,7 +318,7 @@ remove-instrument --- -### remove-instruments +### remove instruments #### Description @@ -327,22 +327,22 @@ Remove existing live instruments. #### Synopsis ``` -remove-instruments +remove instruments ``` #### Arguments -| Argument | Description | -| :------------------- | :--------------------------------------------------------------------------------- | -| **source** | Qualified class name (e.g. `com.company.Webapp`) | -| **line** | Line number | +| Argument | Description | +|:-----------|:-------------------------------------------------| +| **source** | Qualified class name (e.g. `com.company.Webapp`) | +| **line** | Line number | #### Examples ??? example "Basic" **Input**: ``` - remove-instruments com.company.Webapp 42 + remove instruments com.company.Webapp 42 ``` **Output**: @@ -370,4 +370,4 @@ remove-instruments }] ``` ---- \ No newline at end of file +--- diff --git a/docs/implementation/tools/clients/jetbrains-plugin.md b/docs/technology/clients/jetbrains-plugin.md similarity index 97% rename from docs/implementation/tools/clients/jetbrains-plugin.md rename to docs/technology/clients/jetbrains-plugin.md index 4b341cb..386cd4c 100644 --- a/docs/implementation/tools/clients/jetbrains-plugin.md +++ b/docs/technology/clients/jetbrains-plugin.md @@ -20,7 +20,7 @@ Use the built-in plugin system at: The configuration settings can be found at: File > Settings > Tools > Source++ -!![](../../../assets/screenshots/settings_dialog.png) +!![](../../assets/screenshots/settings_dialog.png) ### Service Settings diff --git a/docs/implementation/tools/platform/.pages b/docs/technology/platform/.pages similarity index 64% rename from docs/implementation/tools/platform/.pages rename to docs/technology/platform/.pages index 917082f..d2fac28 100644 --- a/docs/implementation/tools/platform/.pages +++ b/docs/technology/platform/.pages @@ -1,3 +1,4 @@ nav: - README.md - ... + - APIs: apis diff --git a/docs/implementation/tools/platform/README.md b/docs/technology/platform/README.md similarity index 100% rename from docs/implementation/tools/platform/README.md rename to docs/technology/platform/README.md diff --git a/docs/technology/platform/apis/README.md b/docs/technology/platform/apis/README.md new file mode 100644 index 0000000..00c28df --- /dev/null +++ b/docs/technology/platform/apis/README.md @@ -0,0 +1,7 @@ +# Overview + +Using Source++'s APIs, you can programmatically perform the same tasks as you can via IDE/CLI. + +This section covers: + +- [GraphQL](graphql.md) diff --git a/docs/implementation/tools/clients/graphql.md b/docs/technology/platform/apis/graphql.md similarity index 99% rename from docs/implementation/tools/clients/graphql.md rename to docs/technology/platform/apis/graphql.md index d24a69b..6fdccb6 100644 --- a/docs/implementation/tools/clients/graphql.md +++ b/docs/technology/platform/apis/graphql.md @@ -857,11 +857,7 @@ -ADD_DATA_REDACTION - - - -REMOVE_DATA_REDACTION +UPDATE_DATA_REDACTION diff --git a/docs/implementation/tools/platform/configuration.md b/docs/technology/platform/configuration.md similarity index 59% rename from docs/implementation/tools/platform/configuration.md rename to docs/technology/platform/configuration.md index 0c812c1..e417284 100644 --- a/docs/implementation/tools/platform/configuration.md +++ b/docs/technology/platform/configuration.md @@ -5,7 +5,13 @@ ```yaml spp-platform: host: ${SPP_PLATFORM_HOST:-0.0.0.0} - port: ${SPP_PLATFORM_PORT:-5445} + http: + port: ${SPP_HTTP_PORT:-443} + ssl_enabled: ${SPP_HTTP_SSL_ENABLED:-true} + redirect_to_https: ${SPP_HTTP_REDIRECT_TO_HTTPS:-true} + grpc: + port: ${SPP_GRPC_PORT:-11800} + ssl_enabled: ${SPP_GRPC_SSL_ENABLED:-true} access_token: ${SPP_SYSTEM_ACCESS_TOKEN:-change-me} logging: level: ${SPP_LOGGING_LEVEL:-info} @@ -19,6 +25,41 @@ spp-platform: enabled: ${SPP_PROCESSOR_LIVE_INSTRUMENT_ENABLED:-true} live-view: enabled: ${SPP_PROCESSOR_LIVE_VIEW_ENABLED:-true} + pii-redaction: + enabled: ${SPP_PII_REDACTION_ENABLED:-true} + redactions: + - id: "phone_redaction" + type: "VALUE_REGEX" + lookup: '\b(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}\b' + replacement: "" + - id: "ssn_redaction" + type: "VALUE_REGEX" + lookup: '\b\d{3}[- ]?\d{2}[- ]?\d{4}\b' + replacement: "" + - id: "email_redaction" + type: "VALUE_REGEX" + lookup: '\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b' + replacement: "" + - id: "ip_redaction" + type: "VALUE_REGEX" + lookup: '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b' + replacement: "" + - id: "url_redaction" + type: "VALUE_REGEX" + lookup: '\b?^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]\b?' + replacement: "" + - id: "credit_card_redaction" + type: "VALUE_REGEX" + lookup: '\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b' + replacement: "" + - id: "bank_account_redaction" + type: "VALUE_REGEX" + lookup: '\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b' + replacement: "" + - id: "zip_code_redaction" + type: "VALUE_REGEX" + lookup: '\b\d{5}[- ]?\d{4}\b' + replacement: "" storage: selector: ${SPP_STORAGE:-memory} @@ -28,7 +69,8 @@ storage: skywalking-oap: host: ${SPP_OAP_HOST:-localhost} - port: ${SPP_OAP_PORT:-12800} + rest_port: ${SPP_OAP_REST_PORT:-12800} + grpc_port: ${SPP_OAP_GRPC_PORT:-11800} ``` ## Configuration options @@ -36,7 +78,7 @@ skywalking-oap: | Option | Default | Description | |:---------------------------------------------------|-----------|:-------------------------------------------------------| | **spp-platform:host** | 0.0.0.0 | Platform host to listen on | -| **spp-platform:port** | 5445 | Platform port to listen on | +| **spp-platform:port** | 12800 | Platform port to listen on | | **spp-platform:access_token** | change-me | System access token | | **spp-platform:logging:level** | info | Platform logging level | | **spp-platform:probe:bridge_port** | 5450 | Port to listen on for Source++ Probe connections | @@ -48,4 +90,4 @@ skywalking-oap: | **storage:redis:host** | localhost | Host to connect to Redis | | **storage:redis:port** | 6379 | Port to connect to Redis | | **skywalking-oap:host** | localhost | Host to connect to SkyWalking | -| **skywalking-oap:port** | 12800 | Port to connect to SkyWalking | \ No newline at end of file +| **skywalking-oap:port** | 12800 | Port to connect to SkyWalking | diff --git a/docs/technology/probes/.pages b/docs/technology/probes/.pages new file mode 100644 index 0000000..f801451 --- /dev/null +++ b/docs/technology/probes/.pages @@ -0,0 +1,5 @@ +nav: + - README.md + - configuration.md + - JVM: jvm + - ... diff --git a/docs/implementation/tools/probe/README.md b/docs/technology/probes/README.md similarity index 96% rename from docs/implementation/tools/probe/README.md rename to docs/technology/probes/README.md index 72531f0..6b328e9 100644 --- a/docs/implementation/tools/probe/README.md +++ b/docs/technology/probes/README.md @@ -22,7 +22,7 @@ The Source++ Probe is JVMTI agent and as such must be configured via `-javaagent the below configuration to the `java ` command used to execute your application. The `-javaagent` argument should be placed before ``. -For more information on specific app servers, please see [Advanced Setup](../../../advanced/setup/overview.md). +For more information on specific app servers, please see [Advanced Setup](../../advanced/setup/overview.md). ### Linux diff --git a/docs/implementation/tools/probe/configuration.md b/docs/technology/probes/configuration.md similarity index 100% rename from docs/implementation/tools/probe/configuration.md rename to docs/technology/probes/configuration.md diff --git a/docs/advanced/setup/overview.md b/docs/technology/probes/jvm/README.md similarity index 100% rename from docs/advanced/setup/overview.md rename to docs/technology/probes/jvm/README.md diff --git a/docs/features/auto-link/jvm.md b/docs/technology/probes/jvm/supported-middleware.md similarity index 97% rename from docs/features/auto-link/jvm.md rename to docs/technology/probes/jvm/supported-middleware.md index 95007ac..b98e742 100644 --- a/docs/features/auto-link/jvm.md +++ b/docs/technology/probes/jvm/supported-middleware.md @@ -1,4 +1,4 @@ -# JVM +# Supported Middleware * HTTP Server * [Tomcat](https://github.com/apache/tomcat) 7 @@ -20,7 +20,7 @@ * [Netflix Spring Cloud Feign](https://github.com/spring-cloud/spring-cloud-openfeign) 1.1.x -> 2.x * [Okhttp](https://github.com/square/okhttp) 3.x * [Apache httpcomponent HttpClient](http://hc.apache.org/) 2.0 -> 3.1, 4.2, 4.3 - * [Spring RestTemplete](https://github.com/spring-projects/spring-framework) 4.x + * [Spring RestTemplate](https://github.com/spring-projects/spring-framework) 4.x * [Jetty Client](http://www.eclipse.org/jetty/) 9 * [Apache httpcomponent AsyncClient](https://hc.apache.org/httpcomponents-asyncclient-dev/) 4.x * JDBC @@ -80,4 +80,4 @@ * Thread Schedule Framework * [Spring @Async](https://github.com/spring-projects/spring-framework) 4.x and 5.x * Cache - * [Ehcache](https://www.ehcache.org/) 2.x \ No newline at end of file + * [Ehcache](https://www.ehcache.org/) 2.x diff --git a/docs/features/live-views/portal/introduction.md b/docs/technology/probes/python/README.md similarity index 100% rename from docs/features/live-views/portal/introduction.md rename to docs/technology/probes/python/README.md diff --git a/mkdocs.yml b/mkdocs.yml index 52081f0..b28caaa 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,16 +1,16 @@ site_name: Source++ Docs theme: palette: - - scheme: default - toggle: - icon: material/toggle-switch-off-outline - name: Switch to dark mode - scheme: slate toggle: icon: material/toggle-switch name: Switch to light mode + - scheme: default + toggle: + icon: material/toggle-switch-off-outline + name: Switch to dark mode logo: assets/logo.svg - favicon: assets/favicon.png + favicon: assets/logo.svg name: material custom_dir: overrides icon: @@ -41,7 +41,7 @@ extra_javascript: - https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js extra: - homepage: https://sourceplusplus.com + homepage: https://sourceplus.plus version: provider: mike social: @@ -53,7 +53,7 @@ extra: provider: google property: UA-111677030-1 spp: - latest_version: 0.4.6 #todo: could pull from changelog + latest_version: 0.5.4 #todo: could pull from changelog markdown_extensions: - attr_list