Pinta – AMF debugger
I'm working on an AIR project that uses an AMF-service to get its data from. Writing such a service isn't difficult, but testing the AMF service functions isn't very straightforward. The way to do so now is to partially implement the client, and make it spit out debugging info. For this project however, since it relies heavily on AMF and there is no client-side app yet, I decided to write a debugging utility for it. It's called Pinta.
I suggested to the commissioner of the project (Axis.fm) that we release the tool under GNU/GPL, and they agreed. So, the tool can be found now on http://code.google.com/p/pinta.
What the tool does: it allows the user to connect to an AMF service and make calls, and prints out the results in text and tree forms. So basically, it's a generic AMF client. Since AMF has no service discovery methods, the user needs to define what services are available on the server. When the AMFPHP browser, that comes with a default install, is present on the server, Pinta can use it do discover the available services for you.
In the future, the plan is to build unit testing support into Pinta, so that with one click you can see if your AMF service still responds as it should.
More info about the tool can be found on the Google Code page, http://code.google.com/p/pinta. I hope the tool is useful to some, feel free to comment/request features/report issues.
Visim – website visitor simulator
Today I uploaded some code I wrote for my bachelor thesis to Google Code as an open source project. My bachelor thesis was about creating a scalable architecture for heavy-duty web apps. I created such an architecture, and validated it on a prototype. To see what effect changes to the system had on its capacity, I wrote a tool that measures how many users can be served by the system. This tool is now public under the name "visim".
To measure how many users a system can serve, I used the following steps:
- Set requirements on response times (like 500ms for 90% of the requests, 1 sec for 98% of the request etc)
- Run the tool with these requirements for a low number of users
- Increase the number of users until the requirements aren't met anymore
Then you can make changes to the system and re-run the tool to see if it still serves the same amount of users, or perhaps more.
The project is at http://code.google.com/p/visim