You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -59,7 +58,7 @@ The backend API for the [Typelets Application](https://github.com/typelets/typel
59
58
- ⚡ **Fast & Type-Safe** with TypeScript and Hono
60
59
- 🐘 **PostgreSQL** with Drizzle ORM
61
60
- 🚀 **Valkey/Redis Caching** for high-performance data access with cluster support
62
-
- 📊 **Error Tracking & Monitoring** with Sentry.io for observability and performance monitoring
61
+
- 📊 **Observability** with Grafana Cloud and OpenTelemetry for distributed tracing, metrics, and logging
63
62
- 💻 **Code Execution** via secure Judge0 API proxy
64
63
- 🛡️ **Comprehensive Rate Limiting** for HTTP, WebSocket, file uploads, and code execution
65
64
- 🏥 **Health Checks** with detailed system status and readiness probes
@@ -73,7 +72,7 @@ The backend API for the [Typelets Application](https://github.com/typelets/typel
73
72
-**Cache**: Valkey/Redis Cluster for high-performance caching
74
73
-**Authentication**: [Clerk](https://clerk.com/)
75
74
-**Validation**: [Zod](https://zod.dev/)
76
-
-**Monitoring**: [Sentry.io](https://sentry.io/) for error tracking and performance monitoring
75
+
-**Observability**: [Grafana Cloud](https://grafana.com/products/cloud/) with [OpenTelemetry](https://opentelemetry.io/) for tracing, metrics, and logging
77
76
-**Logging**: Structured JSON logging with automatic error capture
78
77
-**TypeScript**: Strict mode enabled for type safety
79
78
@@ -84,7 +83,7 @@ The backend API for the [Typelets Application](https://github.com/typelets/typel
84
83
- PostgreSQL database (local installation or Docker)
85
84
- Clerk account for authentication ([sign up here](https://dashboard.clerk.com))
86
85
- Valkey/Redis cluster for caching (optional - improves performance)
87
-
-Sentry.io account for monitoring (optional - [sign up here](https://sentry.io/signup/))
86
+
-Grafana Cloud account for monitoring (optional - [sign up here](https://grafana.com/products/cloud/))
88
87
- Judge0 API key for code execution (optional - [get from RapidAPI](https://rapidapi.com/judge0-official/api/judge0-ce))
89
88
90
89
## Local Development Setup
@@ -283,7 +282,10 @@ The application uses the following main tables:
283
282
|`VALKEY_HOST`| Valkey/Redis cluster hostname | No | - |
284
283
|`VALKEY_PORT`| Valkey/Redis cluster port | No | 6379 |
285
284
|**Monitoring (Optional)**||||
286
-
|`SENTRY_DSN`| Sentry.io DSN for error tracking | No | - |
|`OTEL_SERVICE_NAME`| Service name for OpenTelemetry | No | typelets-api |
288
+
|`OTEL_ENABLED`| Force enable OTEL in dev (not recommended) | No | false |
287
289
|**Rate Limiting**||||
288
290
|`HTTP_RATE_LIMIT_WINDOW_MS`| HTTP rate limit window in milliseconds | No | 900000 (15 min) |
289
291
|`HTTP_RATE_LIMIT_MAX_REQUESTS`| Max HTTP requests per window | No | 1000 |
@@ -306,101 +308,96 @@ The application uses the following main tables:
306
308
307
309
\*Required only for code execution features
308
310
309
-
## Monitoring with Sentry.io
311
+
## Monitoring with Grafana Cloud
310
312
311
313
⚠️ **Monitoring is completely optional** - The API works perfectly without it.
312
314
313
-
The API integrates with [Sentry.io](https://sentry.io/) for comprehensive error tracking, performance monitoring, and logging.
315
+
The API integrates with [Grafana Cloud](https://grafana.com/products/cloud/) using [OpenTelemetry](https://opentelemetry.io/) for comprehensive observability with distributed tracing, metrics collection, and log aggregation.
314
316
315
317
### Features
316
318
317
-
-**Error Tracking**: Automatic exception capture with full stack traces and context
318
-
-**Source Maps**: Production builds automatically upload source maps for readable stack traces
319
-
-**Performance Monitoring**: 100% transaction sampling for performance analysis
320
-
-**Database Monitoring**: Automatic PostgreSQL query tracking and performance analysis
321
-
-**Profiling**: CPU and memory profiling during active traces
322
-
-**Structured Logging**: Automatic capture of console.log, console.warn, and console.error
323
-
-**User Context**: Errors are automatically associated with authenticated users
324
-
-**Environment Tracking**: Separate error tracking for development and production
325
-
-**Release Tracking**: Errors automatically linked to code releases via GitHub Actions
319
+
-**Distributed Tracing**: Automatic instrumentation for HTTP requests, database queries, and cache operations
320
+
-**Metrics Collection**: Real-time metrics exported every 60 seconds
321
+
-**Log Aggregation**: Structured JSON logs sent to Grafana Loki
0 commit comments