---
title: "xk6-disruptor first steps | Grafana k6 documentation"
description: "xk6-disruptor is a k6 extension providing fault injection capabilities to k6."
---

# xk6-disruptor first steps

[xk6-disruptor](https://github.com/grafana/xk6-disruptor) is an extension that adds fault injection capabilities to k6.

It provides a Javascript [API](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/xk6-disruptor/) to inject [faults](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/xk6-disruptor/faults/) such as errors and delays into HTTP and gRPC requests served by selected Kubernetes [Pods](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/xk6-disruptor/poddisruptor/) or [Services](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/xk6-disruptor/servicedisruptor/).

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
import { ServiceDisruptor } from 'k6/x/disruptor';

export default function () {
  // Create a new disruptor that targets a service
  const disruptor = new ServiceDisruptor('app-service', 'app-namespace');

  // Disrupt the targets by injecting delays and faults into HTTP request for 30 seconds
  const fault = {
    averageDelay: '500ms',
    errorRate: 0.1,
    errorCode: 500,
  };
  disruptor.injectHTTPFaults(fault, '30s');
}
```

## Next steps

Explore the fault injection [API](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/xk6-disruptor/)

See [step-by-step examples](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/examples/).

Visit the [interactive demo environment](https://killercoda.com/grafana-xk6-disruptor/scenario/killercoda).

Learn the basics of using the disruptor in your test project:

- [Requirements](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/requirements/)
- [Installation](/docs/k6/latest/testing-guides/injecting-faults-with-xk6-disruptor/installation/)
