Adds comprehensive client-side telemetry capabilities for usage, errors, and performance metrics. This includes integrating OpenTelemetry standards into both the frontend (Svelte) and backend (Tauri/Rust) layers to capture events, spans, and system resource utilization. The implementation ensures that all collected data is privacy-filtered by design, explicitly excluding sensitive information like repository paths, credentials, source code, or email addresses from being logged. - Updates README with detailed SigNoz telemetry guide - Adds process metrics collection (CPU/Memory) in Rust backend - Exposes `setTelemetryEnabled` state management to the frontend
62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
<div align="center">
|
|
|
|
<img src="public/splash-icon.png" alt="Gitty Logo" width="360">
|
|
|
|
# Gitty
|
|
|
|
**A lightweight, modern Git client built with Tauri.**
|
|
|
|
Fast, simple, and designed for developers who want a clean Git experience without unnecessary complexity.
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
## ✨ Features
|
|
|
|
- 🚀 Fast native performance
|
|
- 🌿 Branch management
|
|
- 📝 Commit history
|
|
- 🔄 Pull, Push & Fetch
|
|
- 🔀 Merge & Rebase
|
|
- 📦 Repository management
|
|
- 🎨 Modern and intuitive UI
|
|
|
|
---
|
|
|
|
## 📸 Preview
|
|
|
|
> Screenshots coming soon.
|
|
|
|
---
|
|
|
|
## 🛠️ Built With
|
|
|
|
- **Tauri**
|
|
- **Rust**
|
|
- **Svelte**
|
|
|
|
---
|
|
|
|
## 🚧 Status
|
|
|
|
Gitty is currently under active development.
|
|
|
|
Contributions, feedback and feature requests are always welcome!
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
MIT License
|
|
|
|
---
|
|
|
|
## SigNoz telemetry
|
|
|
|
After the user opts in, Gitty sends privacy-filtered product events and technical errors as OTLP/HTTP JSON logs. Every Git/Tauri command is also captured as a trace span with its command name, duration and success state, but without command arguments or results. CPU utilization and resident memory usage of the Gitty process are sampled every 30 seconds and exported as OpenTelemetry gauges. The default endpoints are `https://telemetry.cbsk-tech.de/v1/logs`, `https://telemetry.cbsk-tech.de/v1/traces`, and `https://telemetry.cbsk-tech.de/v1/metrics`.
|
|
|
|
The SigNoz reverse proxy must forward all three paths to the Collector's OTLP/HTTP receiver (normally port `4318`). For development or a separate collector hostname, set `GITTY_OTLP_LOGS_ENDPOINT`, `GITTY_OTLP_TRACES_ENDPOINT`, and `GITTY_OTLP_METRICS_ENDPOINT` to the full signal URLs before starting Gitty.
|
|
|
|
Telemetry is non-blocking, bounded, disabled until consent is stored, and never includes repository paths, remote URLs, branch names, commit messages, diffs, file names, credentials, source code, URLs, or email addresses.
|