I'm writing an easy to use APM platform in a single executable (plus the database).
I tried self-hosting Sentry recently and found out there are a lot of moving parts, which makes sense for their scale and use case.
I was wondering if I could build something small and not multi-tenant. So I started experimenting with writing a server (in Go) that collects OpenTelemetry data and inserts into Clickhouse, an API for retrieving data/statistics (P95 in a time range, etc...), and a frontend (React.js) that displays them. All of this in a single executable file (yes, including the frontend, but not including Clickhouse).
This is all very new to me so I'm learning Go, Clickhouse and OpenTelemetry at the same time.
I tried self-hosting Sentry recently and found out there are a lot of moving parts, which makes sense for their scale and use case.
I was wondering if I could build something small and not multi-tenant. So I started experimenting with writing a server (in Go) that collects OpenTelemetry data and inserts into Clickhouse, an API for retrieving data/statistics (P95 in a time range, etc...), and a frontend (React.js) that displays them. All of this in a single executable file (yes, including the frontend, but not including Clickhouse).
This is all very new to me so I'm learning Go, Clickhouse and OpenTelemetry at the same time.
https://github.com/adhamsalama/nabatshy