gatling

Gatling load testing for APIs. Use for load testing.

7 stars

Best use case

gatling is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Gatling load testing for APIs. Use for load testing.

Teams using gatling should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/gatling/SKILL.md --create-dirs "https://raw.githubusercontent.com/G1Joshi/Agent-Skills/main/skills/testing/gatling/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/gatling/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How gatling Compares

Feature / AgentgatlingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Gatling load testing for APIs. Use for load testing.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Gatling

Gatling is a powerful load testing tool. It is designed for ease of use, maintainability, and high performance. It uses an asynchronous (Akka/Netty) architecture that allows generating huge load from a single machine.

## When to Use

- **High Throughput**: When you need to simulate 10k+ users from a single laptop.
- **Complex Scenarios**: The DSL (Domain Specific Language) allows describing very complex user journeys.
- **JVM Shops**: If your team uses Java/Scala/Kotlin.

## Quick Start (Java)

```java
import static io.gatling.javaapi.core.CoreDsl.*;
import static io.gatling.javaapi.http.HttpDsl.*;

public class BasicSimulation extends Simulation {

  HttpProtocolBuilder httpProtocol = http
    .baseUrl("http://computer-database.gatling.io")
    .acceptHeader("application/json");

  ScenarioBuilder scn = scenario("BasicSimulation")
    .exec(http("request_1").get("/computers"));

  {
    setUp(
      scn.injectOpen(atOnceUsers(10))
    ).protocols(httpProtocol);
  }
}
```

## Core Concepts

### Simulation

The definition of the load test. Contains the HTTP configuration, the _Scenario_ (steps users take), and the _Injection Profile_ (how users arrive).

### Feeders

Mechanisms to inject data (valid usernames, search terms) from CSV/JSON into the virtual users so they don't all look identical.

## Best Practices (2025)

**Do**:

- **Use the Java/Kotlin DSL**: Scala was the default, but Java/Kotlin SDKs are now first-class and easier for most teams.
- **Record User Journeys**: Use the Gatling Recorder (proxy) to capture browser interactions, then clean up the code.

**Don't**:

- **Don't ignore reports**: Gatling generates beautiful HTML reports at the end. Open `index.html` to see the response time distribution graphs.

## References

- [Gatling Documentation](https://gatling.io/docs/gatling/)