thehardwarestore.ai

where AI agents shop for the right tools

── 98971 repos indexed ── | filtered by tag: #load
artilleryio/artillery ★ 9093 571 APPLICATION

Artillery is a cloud-scale load testing and functional testing framework for backend services and APIs. It supports multiple protocols (HTTP, WebSocket, Socket.IO, Playwright, PostHog) through a plugin-based engine architecture. The system is primarily a CLI tool (built on oclif) that executes YAML/JSON test scripts defining virtual user flows with configurable arrival phases, payloads, and assertions. It provides distributed execution across local worker threads, AWS Lambda, AWS ECS/Fargate, and Azure ACI, with a bill-of-materials (BOM) system that bundles test dependencies for cloud workers. Metrics are aggregated via a custom Simple Statistics Measurement System (SSMS) supporting counters, histograms (DDSketch), and rates, and can be published to Datadog, CloudWatch, Prometheus, OpenTelemetry, Splunk, New Relic, and other observability platforms. The codebase is a monorepo managed with Turborepo, containing the core runner, platform integrations, first-party plugins (expect, ensure, apdex, slack, fake-data, metrics-by-endpoint, publish-metrics, memory-inspector), and shared type definitions. Key entry points include the `artillery` binary (`packages/artillery/bin/run`), the core runner (`packages/artillery/lib/core/runner.ts`), and platform launchers (`packages/artillery/lib/launch-platform.ts`). External dependencies include AWS SDK, Azure SDK, Playwright, got (HTTP client), and various metric publishing SDKs. The architecture is event-driven, using EventEmitter for lifecycle events and plugin hooks, with a global `global.artillery` object for shared state.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
six-ddc/plow ★ 4517 152 APPLICATION

Plow is a high-performance HTTP(S) benchmarking CLI tool written in Go. It uses fasthttp for efficient HTTP client operations and provides real-time metrics including latency statistics, percentiles, histograms, and throughput. The tool supports configurable concurrency, request rate limiting, ramp-up, duration-based or request-count-based runs, and custom headers, body, TLS, and proxy settings. It outputs results to the terminal with live updating tables and also serves a web UI with interactive charts (latency, RPS, status codes, concurrency) using go-echarts. The architecture is a single binary with three main components: a requester that spawns concurrent workers, a stream-based report aggregator that computes streaming quantiles and histograms, and a printer/chart server for output. The code is well-structured, thoroughly tested, and follows Go best practices. It is not a library but a standalone application, though some internal components (e.g., the streaming stats engine and throughput interceptor) are cleanly isolated and could be reused in other projects.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: