$ show SigNoz/signoz
SigNoz is a full-stack open-source observability platform that ingests OpenTelemetry data (traces, metrics, logs), stores it in ClickHouse, and provides a rich web UI for querying, dashboards, alerts, and infrastructure monitoring. The backend is written in Go with a modular architecture using factory/provider patterns, SQL migrations, and OpenFGA-based authorization. The frontend is a React/TypeScript SPA with Zustand state management, react-query, uPlot charts, and a comprehensive query builder supporting PromQL, ClickHouse SQL, and builder queries. The enterprise edition adds anomaly detection, RBAC, licensing, and usage metering. The codebase is actively maintained with extensive testing (unit, integration, e2e) and CI/CD, though some legacy API versions and deprecated clients indicate ongoing migration.
The LLM identified 4 files worth highlighting for reuse:
A generic factory/provider framework for Go services: config factories, provider factories, named maps, health checks, and lifecycle management. It decouples component creation and dependency injection, making it easy to swap implementations (e.g., mock vs real) and test in isolation. This pattern is reusable in any Go application needing modular service composition.
A reusable uPlot chart wrapper providing tooltips, legends, threshold annotations, and responsive sizing. It encapsulates complexity of uPlot configuration and plugin management, and is used across dashboards and explorers. Could be extracted as a standalone charting library for observability or time-series visualization in other React apps.
A high-performance table component built on TanStack Table with virtual scrolling, pagination, column ordering/dragging, URL-synced state, and skeleton loading. It handles large datasets efficiently and is reused across alert lists, trace logs, and infrastructure monitoring. Demonstrates non-trivial integration of TanStack Table with Zustand and URL parameters.
A SQL migration framework using the bun ORM, with numbered migration files implementing a common interface (Register, Up, Down). It supports both SQLite and Postgres, includes FK enforcement toggles, and is used for schema evolution across the metadata store. The pattern is clean and could be reused in any Go project needing versioned database migrations.