# testing a non-http app?

**URL:** https://community.gatling.io/t/testing-a-non-http-app/67
**Category:** Gatling (Open-Source)
**Created:** [April 26, 2012, 4:40am UTC](https://community.gatling.io/t/testing-a-non-http-app/67 "2012-04-26T04:40:14Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Perryn\_Fowler](https://avatars.discourse-cdn.com/v4/letter/p/82dd89/32.png) [@Perryn\_Fowler](https://community.gatling.io/u/Perryn_Fowler)
#### Post date: [April 26, 2012, 4:40am UTC](https://community.gatling.io/t/testing-a-non-http-app/67/1 "2012-04-26T04:40:14Z")

</div>

Hi There,

I am currently evaluating tool to load/performance test our application. Gattling looks really cool, but I have a few questions

1. Our app is not http based - instead clients send XML messages over sockets. Could we do this with Gattling?

There are lot of examples that show things like

.exec( http(“Get Homepage”).get(“[http://github.com/excilys/gatling](http://github.com/excilys/gatling)”) )

Would it be possible for us to write our own stuff to put inside exec() instead of http?  
If so, how would we go about that?  
Would Gattling still handle collection of statistics for reports, or would we need to implement that too?

1. The Grinder has support for scaling out to multiple load generation machines.  
I know that Gattling does not support that out of the box and you have to collate the results manually - can anyone give more detail on how to do that?

cheers  
Perryn

---

<div class="post-metadata">

### Author: ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)
#### Post date: [April 26, 2012, 8:43am UTC](https://community.gatling.io/t/testing-a-non-http-app/67/2 "2012-04-26T08:43:06Z")

</div>

Hi Perrin,

1) Protocol support

We have design the DSL and the underneath APIs so that the execution API,  
the protocol API, the statistics API and the charts API are decoupled.  
So yes, you can write your own protocol API implementation and reuse the  
other implementation.

We have yet to document it properly.  
We'll do it in the next days (we're currently attending a conference).

2) Manual kind-of clustering  
Does this help?  
[https://github.com/excilys/gatling/wiki/Scaling-out](https://github.com/excilys/gatling/wiki/Scaling-out)

Cheers,

Steph

---

<div class="post-metadata">

### Author: ![Perryn\_Fowler](https://avatars.discourse-cdn.com/v4/letter/p/82dd89/32.png) [@Perryn\_Fowler](https://community.gatling.io/u/Perryn_Fowler)
#### Post date: [May 1, 2012, 2:17am UTC](https://community.gatling.io/t/testing-a-non-http-app/67/3 "2012-05-01T02:17:08Z")

</div>

Hi Steph,

1) That sounds good - we are currently trying to figure out the API by  
looking at the source code for the http implementation, and finding it  
a bit confusing. (That we are new to scala probably doesn't help).  
Would you have time to give us some quick pointers in lieu of  
comprehensive docs?

cheers  
Perryn

---

<div class="post-metadata">

### Author: ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)
#### Post date: [May 2, 2012, 1:52pm UTC](https://community.gatling.io/t/testing-a-non-http-app/67/4 "2012-05-02T13:52:13Z")

</div>

Hi Perryn,

Here’s an embryo of a documentation:  
[https://github.com/excilys/gatling/wiki/Protocol-support](https://github.com/excilys/gatling/wiki/Protocol-support)

Does this help you a bit?

Steph

2012/5/1 Perryn Fowler \<[pezlists@gmail.com](mailto:pezlists@gmail.com)\>

---

<div class="post-metadata">

### Author: ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)
#### Post date: [May 2, 2012, 3:06pm UTC](https://community.gatling.io/t/testing-a-non-http-app/67/5 "2012-05-02T15:06:57Z")

</div>

James Gregory is currently working on documenting this for ThoughtWorks:  
[https://github.com/jagregory/gatling/commit/f101451de8fa39c5e7d3d8e2eefe4b392caf5cd0](https://github.com/jagregory/gatling/commit/f101451de8fa39c5e7d3d8e2eefe4b392caf5cd0)

Note that this is a WIP, too.

2012/5/2 Stéphane Landelle \<[slandelle@excilys.com](mailto:slandelle@excilys.com)\>

---

<div class="post-metadata">

### Author: ![Perryn\_Fowler](https://avatars.discourse-cdn.com/v4/letter/p/82dd89/32.png) [@Perryn\_Fowler](https://community.gatling.io/u/Perryn_Fowler)
#### Post date: [May 3, 2012, 5:39am UTC](https://community.gatling.io/t/testing-a-non-http-app/67/6 "2012-05-03T05:39:51Z")

</div>

Haha - James is doing that because I asked him to - we have come full circle 🙂

---

<div class="post-metadata">

### Author: ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)
#### Post date: [May 3, 2012, 6:24am UTC](https://community.gatling.io/t/testing-a-non-http-app/67/7 "2012-05-03T06:24:54Z")

</div>

I had guessed so, but wasn’t sure 😉

2012/5/3 Perryn Fowler \<[pezlists@gmail.com](mailto:pezlists@gmail.com)\>
