awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
marmelab avatar

marmelab/gremlins.js

0
View on GitHub↗
9,080 stars·426 forks·JavaScript·mit·10 viewsmarmelab.com/blog/2020/06/02/gremlins-2.html↗

Gremlins.js

gremlins.js is a JavaScript stress testing framework and web UI monkey testing library. It functions as a browser chaos testing tool that automates random interactions with DOM elements to identify stability issues, unexpected crashes, and edge-case bugs in web applications.

The tool utilizes a seeded-random interaction engine to ensure test sequence repeatability, allowing specific failure sequences to be recreated for debugging. It supports the definition of custom interaction rules and pluggable strategies to target specific application behaviors through weighted-probability action dispatching.

The framework includes capabilities for frontend performance monitoring, tracking frame rates and logging errors during simulated stress. It further provides mechanisms for concurrent stress distribution and an automatic simulation termination system that halts execution when defined error or lag thresholds are reached.

Features

  • Automated UI Bug Hunting - Executes chaotic patterns of clicks and typing to find stability issues and failures that standard scripted tests miss.
  • Monkey Testing - Implements a web UI monkey testing library that automates random interactions to stress test application robustness.
  • Chaos Engineering - Triggers random user interactions as a form of chaos engineering to uncover unexpected crashes and edge-case bugs.
  • Interaction Strategies - Allows the definition of custom, pluggable simulation functions to target specific application behaviors.
  • Seeding Utilities - Uses deterministic seeding to generate repeatable sequences of chaotic user inputs for debugging purposes.
  • Deterministic Test Sequences - Utilizes a seeded-random engine to ensure chaotic interaction sequences are repeatable for debugging and verification.
  • Deterministic Simulation Workflows - Uses seeded random interactions to recreate specific failure sequences for debugging and verification purposes.
  • Chaotic - Provides automated random clicks, touches, and typing to discover stability issues and crashes in web interfaces.
  • Stress Testing Frameworks - Provides a framework for simulating chaotic user interactions to test the robustness and performance of JavaScript applications.
  • Monkey Testing Libraries - Automates random interactions with DOM elements to find stability issues through exhaustive input simulation.
  • Chaos Testing Tools - Triggers random clicks and inputs in web browsers to uncover unexpected crashes and edge-case bugs.
  • UI - Simulates high volumes of concurrent inputs to test the robustness and stability of a user interface.
  • Simulation Rules - Provides a system for defining custom simulation functions to target specific application behaviors not covered by defaults.
  • Client-Side Stress Distribution - Allows simulating high volumes of concurrent inputs by grouping actions and executing them in bursts.
  • Performance Threshold Enforcement - Automatically terminates simulation sequences when real-time performance metrics hit defined error or lag thresholds.
  • Application Performance Monitoring - Tracks frame rates and logs errors when simulated interactions cause performance to drop.
  • Frame Rate Monitors - Tracks frame rates and logs errors during simulated stress to identify frontend performance degradation.
  • Interaction Attack Strategies - Controls the frequency and order of simulated interactions using custom delays and probability weights to mimic user behaviors.
  • Concurrent Input Bursts - Provides the ability to execute multiple simultaneous interactions to test system limits via high-frequency input bursts.
  • Weighted Action Dispatching - Selects simulation tasks based on assignable weights and custom delays to mimic specific human behavior patterns.

Star history

Star history chart for marmelab/gremlins.jsStar history chart for marmelab/gremlins.js

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Gremlins.js

Similar open-source projects, ranked by how many features they share with Gremlins.js.
  • uptrace/uptraceuptrace avatar

    uptrace/uptrace

    4,098View on GitHub↗

    Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces, metrics, and logs. It functions as a centralized logging backend, a distributed tracing system, and a metrics engine to monitor application performance and system health. The platform is distinguished by AI-powered operational capabilities, allowing users to query telemetry data and manage monitoring dashboards using natural language. It specifically includes specialized monitoring for generative AI pipelines, tracking token usage and response quality for LLM interactions and r

    Goapmapplication-monitoringclickhouse
    View on GitHub↗4,098
  • metrics-rs/metricsmetrics-rs avatar

    metrics-rs/metrics

    1,422View on GitHub↗

    This project is a unified observability framework for Rust applications, designed to capture, aggregate, and report performance telemetry. It provides a comprehensive toolkit for instrumenting code to track counters, gauges, and histograms, enabling developers to monitor application health and operational performance through a standardized interface. The library distinguishes itself by decoupling instrumentation sites from specific backend implementations through a global registry and trait-based abstractions. This architecture allows developers to swap telemetry exporters at runtime without

    Rustmetricsrust-langtelemetry
    View on GitHub↗1,422
  • openzipkin/zipkinopenzipkin avatar

    openzipkin/zipkin

    17,431View on GitHub↗

    Zipkin is an open-source distributed tracing system designed to collect, store, and visualize timing data across complex service architectures. It provides a platform for monitoring request lifecycles, enabling developers to identify latency bottlenecks and performance issues by tracking operations as they move through heterogeneous service environments. The system distinguishes itself through a standardized data model and a pluggable storage architecture that supports various backend databases. It utilizes sampling strategies to manage telemetry volume and employs asynchronous collection met

    Javadistributed-tracingobservabilityopenzipkin
    View on GitHub↗17,431
  • aws-powertools/powertools-lambda-pythonaws-powertools avatar

    aws-powertools/powertools-lambda-python

    3,267View on GitHub↗

    AWS Powertools for Python is a utility framework designed for building production-ready Python functions on AWS Lambda. It provides a comprehensive suite of tools for observability, event parsing, routing, and idempotency management to streamline the development of serverless applications. The project distinguishes itself through specialized capabilities for event-driven architectures and AI agent orchestration. It enables the implementation of AI agents by exposing functions as tools via OpenAPI schemas and managing conversation states. Additionally, it features an idempotency library that p

    Pythonawsaws-lambdalambda
    View on GitHub↗3,267
See all 30 alternatives to Gremlins.js→

Frequently asked questions

What does marmelab/gremlins.js do?

gremlins.js is a JavaScript stress testing framework and web UI monkey testing library. It functions as a browser chaos testing tool that automates random interactions with DOM elements to identify stability issues, unexpected crashes, and edge-case bugs in web applications.

What are the main features of marmelab/gremlins.js?

The main features of marmelab/gremlins.js are: Automated UI Bug Hunting, Monkey Testing, Chaos Engineering, Interaction Strategies, Seeding Utilities, Deterministic Test Sequences, Deterministic Simulation Workflows, Chaotic.

What are some open-source alternatives to marmelab/gremlins.js?

Open-source alternatives to marmelab/gremlins.js include: uptrace/uptrace — Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces,… metrics-rs/metrics — This project is a unified observability framework for Rust applications, designed to capture, aggregate, and report… openzipkin/zipkin — Zipkin is an open-source distributed tracing system designed to collect, store, and visualize timing data across… aws-powertools/powertools-lambda-python — AWS Powertools for Python is a utility framework designed for building production-ready Python functions on AWS… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… faker-ruby/faker — Faker is a Ruby library used to generate randomized, realistic placeholder information for testing and development. It…