squash
by
solo-io

Description: The debugger for microservices

View on GitHub ↗

Summary Information

Updated 24 minutes ago
Added to GitGenius on January 26th, 2024
Created on August 12th, 2017
Open Issues & Pull Requests: 87 (+0)
Number of forks: 102
Total Stargazers: 1,767 (+0)
Total Subscribers: 81 (+0)

Issue Activity (beta)

Open issues: 83
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 2,552 days
Stale 30+ days: 83
Stale 90+ days: 83

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • roadmap (10)
  • enhancement (9)
  • bug (5)
  • question (2)
  • wontfix (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Squash is a debugger purpose-built for microservice applications running in Kubernetes environments. Written primarily in Go, it addresses a fundamental challenge in microservice development: the difficulty of debugging distributed applications where state is spread across multiple processes and nodes. Unlike traditional passive observability tools such as OpenTracing or service meshes like Istio that provide post-mortem analysis and network monitoring, Squash enables real-time interactive debugging with the full feature set developers expect from modern debuggers.

The core functionality of Squash allows developers to debug running microservices without modifying the application code. Users can set breakpoints across multiple services, step through code while jumping between microservices, inspect and modify variable values during runtime, and gain a holistic view of application state across the distributed system. This bridges the gap between the powerful debugging capabilities available for monolithic applications and the complexity of microservice architectures. The tool integrates directly with Kubernetes environments and connects to developer IDEs, enabling debugging sessions to be initiated and controlled from familiar development environments.

Squash supports multiple programming languages and debugging backends. The supported debuggers include dlv for Go, the Java Debug Wire Protocol for Java, gdb for C/C++, Node.js debugger, and ptvsd for Python. IDE integration is available for VS Code, IntelliJ, and Eclipse, with the project having simplified its command-line interface to facilitate additional IDE support. The platform supports deployment on Kubernetes, OpenShift, and Istio, reflecting its design for cloud-native environments.

The project demonstrates significant architectural sophistication through its integration with Envoy proxy. Squash includes an HTTP filter that is now part of Envoy itself, allowing debug sessions to be opened as requests flow through microservices. This integration extends debugging capabilities into the service mesh layer, enabling developers to trace issues at the network level while debugging application code.

According to GitGenius activity analysis, Squash maintains active development with ongoing contributor engagement. The repository shows overlapping contributors with major projects including Microsoft's VS Code and TypeScript implementations, as well as the Rust language project, indicating involvement from developers working across multiple significant open-source ecosystems. The project is classified across numerous cloud-native and microservices-related domains including Kubernetes integration, service mesh compatibility, traffic control, security policy, API management, and observability.

The project explicitly welcomes community participation and maintains active communication channels including Slack and Twitter. The codebase is under active development with APIs and compatibility subject to change, and the maintainers encourage community involvement in identifying bugs and expanding support for additional debuggers and IDEs. Documentation is centralized at squash.solo.io, and the project provides demonstration videos showing practical debugging workflows across multiple microservices in action.

squash
by
solo-iosolo-io/squash

Repository Details

Fetching additional details & charts...