adam bien's blog

The Porcupine Spy v0.0.4 and Porcupine v0.0.4 Released 📎

Version 0.0.4 of porcupine is available:


<dependency>
	<groupId>com.airhacks</groupId>
	<artifactId>porcupine</artifactId>
	<version>0.0.4</version>
	<scope>compile</scope>
</dependency>

This version comes with minor bug fixes and improvements and a single major feature: the minQueueCapacity statistic. It is the "lowest watermark" of the queue capacity and an early indicator of thread pool overloading / upcoming rejections.

The new attribute is available from method Statistics#getMinQueueCapacity()

porcupine-spy was also released with the same version:


<dependency>
	<groupId>com.airhacks</groupId>
	<artifactId>porcupine-spy</artifactId>
	<version>0.0.4</version>
	<scope>compile</scope>
</dependency>

You can use the above dependency instead of the regular porcupine. The porcupine-spy extension injects automatically the statistics to the HTTP headers of all JAX-RS resources.

All requests are going to be extended with the x-porcupine-statistics-[THREADPOOL_NAME] HTTP header:


x-porcupine-statistics-light: {"pipelineName":"light","activeThreadCount":1,
"completedTaskCount":1,"corePoolSize":8,"currentThreadPoolSize":2,"largestThreadPoolSize":2,"maximumPoolSize":16,
"rejectedTasks":0,"remainingQueueCapacity":100,"minQueueCapacity":100,"totalNumberOfTasks":2}
Content-Type: text/plain
Date: Wed, 18 Mar 2015 07:50:20 GMT

Porcupine comes without any additional external dependencies and fully relies on Java EE 7 / Java 8 what makes it lean. Both JARs together are only 20kB.

See you at Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting