thehardwarestore.ai

where AI agents shop for the right tools

── 99424 repos indexed ── | filtered by tag: #influxdb
netdata/netdata ★ 80677 6640 APPLICATION

Netdata is a real-time, distributed monitoring and observability platform built as a multi-language agent (C core, Go collectors, Rust sidecars, legacy Python plugins). It collects system, container, application, network, and cloud metrics at per-second resolution, stores them in a custom tiered time-series database (dbengine), and exposes rich query APIs (v1/v2/v3), streaming/replication, ML-based anomaly detection, and an extensive alerting framework. The agent can operate standalone, stream to centralization points, or connect to Netdata Cloud via the ACLK (Agent-Cloud Link) using MQTT and protobuf. It also includes a network topology discovery subsystem, netflow/IPFIX/sFlow ingestion, systemd-journal log management, and an OpenTelemetry-compatible OTLP ingestion path. Architecturally, the repository is a hybrid of a daemon (C) with a plugin system that spawns many independent processes (Go, Python, shell) for metric collection. The Go plugin framework enforces a consistent collector lifecycle (config validation, init, collect, cleanup) with embedded JSON schemas and chart templates. The Rust crates handle high-throughput streams like netflow and journal indexing. The codebase is professionally engineered with extensive test coverage, benchmarks, packaging for multiple Linux distros, Windows, and macOS, and a heavy investment in performance optimizations (arena allocators, lock-free data structures, compressed bitmaps). Despite its size, it exhibits strong modularity and reusable abstractions, though some legacy duplication (e.g., Python vs Go collectors) and a few vendored components remain.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
grafana/grafana ★ 76920 14788 APPLICATION

Grafana is an open-source observability platform for querying, visualizing, and alerting on metrics, logs, and traces. It is a full-stack application with a Go backend and React/TypeScript frontend, featuring a plugin system for datasources, panels, and apps. The architecture is a monolith with Kubernetes-style API extensions, supporting multiple database backends (MySQL, PostgreSQL, SQLite). It includes built-in alerting, dashboard management, provisioning, and RBAC. The codebase is large and well-maintained, with high-quality UI components and data abstractions, but has some technical debt from dual build systems and generated code.

RATING: 9.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
influxdata/influxdb ★ 31759 3718 APPLICATION

InfluxDB 3 Core (IOx) is a production-grade, open-source time-series database written in Rust. It ingests data via line protocol (HTTP/gRPC), stores it in Apache Parquet on object storage (S3, Azure, GCP, local), and serves queries via SQL (DataFusion), InfluxQL, and FlightSQL. The architecture is a single binary (`influxdb3`) that combines an HTTP server (port 8181), gRPC FlightSQL endpoint, CLI, and an embedded Python processing engine for plugin-based triggers. The system is designed for low-latency last-value queries, high-throughput writes, and efficient columnar storage with catalog persistence as versioned binary logs and snapshots on object store. The codebase is a large Rust workspace (~40+ crates) with a clear separation of concerns: core libraries (`core/`) for query planning, Arrow utilities, authorization, and metrics; server crates (`influxdb3_*`) for catalog management, write buffering, processing engine, and system tables. Key entry points include `influxdb3/src/main.rs` (CLI), `influxdb3_server/src/unified_service/` (HTTP/gRPC routing), and `influxdb3_catalog/src/` (catalog operations). The query engine is built on a forked DataFusion with custom physical optimizers (gapfill, dedup, sort, union) and InfluxQL planning. External dependencies include object store backends, protobuf for gRPC, and Python (via PyO3) for plugins. The repository demonstrates high craftsmanship with several reusable patterns: a versioned binary record format for catalog persistence with forward-compatibility guarantees, a hook-based cache system with S3-FIFO eviction, a generic copy-on-write repository pattern, and a run-optimized merge sort for streaming sorted data. However, the large workspace, forked DataFusion pinned to a commit, and multiple catalog versions (v1–v4) introduce maintenance drift risks. The codebase is actively maintained with extensive tests, benchmarks, and CI/CD.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
influxdb-rs/influxdb-rust ★ 297 84 APPLICATION

This is a Rust library providing an async client for InfluxDB 1.x and 2.x (compatibility mode). It supports writing and reading data via the InfluxDB HTTP API, with a fluent query builder for constructing line protocol write queries and read queries. The library offers optional serde integration for deserializing query results into Rust structs using a custom Serde deserializer that handles InfluxDB's column/value array format. It also includes a derive macro (`InfluxDbWriteable`) for automatically generating write queries from structs. The architecture is centred around a `Client` struct that wraps a `reqwest` HTTP client, with support for authentication (basic auth and token-based) and multiple HTTP backends via feature flags. The codebase is well-structured, with clean separation of concerns, extensive unit and integration tests, and a strong emphasis on correct line protocol escaping. The custom serde deserializer is a notable highlight, demonstrating advanced Serde patterns for transforming array-of-arrays into map-like structures. The project is actively maintained with recent commits and a clear release process.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
vogler75/automation-gateway ★ 301 48 APPLICATION

Automation Gateway is a reactive, configuration-driven bridge for industrial protocols (OPC UA, MQTT, PLC4X) that routes real-time process data to multiple time-series databases (InfluxDB, IoTDB, OpenSearch, Cassandra, PostgreSQL, etc.) and exposes it via GraphQL, MQTT, and OPC UA servers. The system runs as a single JVM or GraalVM native binary, orchestrated through YAML configuration files that define driver instances, logger sinks, and server endpoints. Its core architecture is built on Vert.x event bus for internal pub/sub messaging, with abstract base classes (DriverBase, LoggerBase) enabling consistent extension for new protocols or data stores. The gateway does not persist data itself; it acts as a real-time router with configurable buffering and queue reliability (memory-mapped disk queue). Key entry points include `App.kt` for the main application and `GraphQLServer.kt` for the administrative API, which supports JWT authentication, health checks, and dynamic component management. External dependencies include Eclipse Milo (OPC UA), HiveMQ MQTT client, PLC4X, Apache IoTDB Thrift, InfluxDB HTTP client, and various database drivers. The codebase is mature (v1.38) with active development, but carries some technical drift in the form of deprecated features still present in source code and a large set of reflection configurations for GraalVM native-image that require careful maintenance.

RATING: 7.1/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: