Getting started

Overview of the tool, its contents, and how to get started.

Piraso provides developer with real time application context information. Developers can do debugging, performance validation and monitoring to all environments even on production.

Context Monitoring

Monitor the traffic you want! Piraso lets you choose which traffic you want to monitor. You can monitor the traffic you yourself is making or others by simply providing their IP Address.

Piraso provides the following context information for a web piraso enabled application.

  • 1 Http request and response
  • 2 Application logging
  • 3 SQL executions
  • 4 Spring remoting

You can extend piraso monitoring capabilities by creating your own context loggers. Please see Tutorials for details.

Debugging

Supports debugging to all environment. Developers usually need to recreate scenarios on their local machines before they will be able to see what is happening. Since you can monitor to any environment, Piraso saves developer's a lot of time. Right now debugging are supported for the following:

  • Log4j Debugging

    • Overrides the application log4j configuration to user defined log4j preferences.
    • All log levels supported.
    • Any logger can be monitored.
    • Support for debugging of library dependencies. You can monitor hibernate, spring or other libraries you wish to watch.
    • Stack trace on all log entries.
  • SQL Debugging

    • Monitor all SQLs executed.
    • The SQL parameters and the retrieved result set can be monitored.
    • Real time SQL explain plan on supported vendor.
    • With stack trace supported, know the classes that invokes the SQL being executed.
    • Multi data source support

Performance Tuning

Provides elapse times to check performance.

  • Request-response turn around time (server-side)
  • Logs that supports method call displays elapse time
  • SQL Performance:
    • SQL explain plan - on supported SQL vendor
    • Execution time
    • Fetch time

Learning

Piraso can also serve as fast way to let you learn a particular application.

  • Developers monitoring SQLs will be available to learn more on entities used by a particular requests.
  • With application logs and stack trace, developers will be able to see the class flows.
  • Discover and learn all supported services a particular application invokes.

Piraso is composed of two components. The first component, Piraso Server, that resides on the web application and second, the Piraso Client, that lets developer do the actual monitoring.

Simple Flow

The following diagrams shows a simple diagram illustrating the communication between the client and server components.

Heads up! All communications between the components are through http, so no new socket server was created.

Piraso Server

This component enables your web application to support piraso monitoring. The server component is consist of the following:

Piraso Servlet
The piraso client connects to this servlet to request for a monitor. This will streams all logs using the response stream.
Piraso Filter
All traffic will go to this filter. This filter flags each request whether the request needs to be monitored or not.
Context Loggers
The context loggers determines whether the request is flagged as monitored, if monitored, this will stream the logs to the client response stream.

Piraso Client

The piraso client is Netbeans Platform desktop application. This component allows you to connect to the web piraso enabled application to start monitoring. This will connect to the piraso server component, provides its monitoring preferences and start receiving logs.

Please see the Client User Guide for more details.

Piraso are licensed under Apache 2.0 and maintained by the community on GitHub.

Server Project » Client Project » Demo Project »

Before downloading, be sure to have JDK 6 Update 13 or later.

Installer Download

Select from the following Piraso client application installers:

Operating System Installer
Mac OSX piraso-client - application-1.0-SNAPSHOT-macosx.tgz
Windows piraso-client - application-1.0-SNAPSHOT-windows.exe
Linux piraso-client - application-1.0-SNAPSHOT-linux.sh
Solaris piraso-client - application-1.0-SNAPSHOT-solaris.sh
Zip Distribution piraso-client - application-1.0-SNAPSHOT.zip

Required Software

NetBeans IDE runs on the Java SE Development Kit (JDK) which consists of the Java Runtime Environment plus developer tools for compiling, debugging, and running applications written in the Java language.

The tested JDK for this release are:

  • JDK 6 Update 13 or later is required. The 6.9.1 version of the IDE cannot be installed or run using JDK 5.0.

You can download the JDK for your platform from one of the sites listed below:

With a brief intro into the contents out of the way, we can focus on how to enable your web project to use Piraso.

Web Project

This is the default maven web project folder structure.

  web-module/
   ├── src/
   │   ├── main/
   │   │   ├── java/
   │   │   ├── resources/
   │   │   └── webapp/
   │   │       └── WEB-INF/
   │   │           └── web.xml
   │   └── test/
   │       ├── java/
   │       └── resources/
   └── pom.xml

Piraso requires that you use Spring Framework on your web project.

pom.xml

We only need to modify the pom.xml to make the web module piraso enabled.

1 Add the following priaso maven profile.

<profile>
  <id>piraso</id>
  <build>
    <plugins>
      <plugin>
        <groupId>org.piraso</groupId>
        <artifactId>piraso-maven-plugin</artifactId>
        <version>${piraso.version}</version>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.piraso</groupId>
      <artifactId>piraso-spring-web-server</artifactId>
      <version>${piraso.version}</version>
    </dependency>

    <!--
      - NOTE:
      - Include context logger dependencies here.
      -->

  </dependencies>
</profile>

2 Next step is to identify the context loggers to support. We do this adding the selected context loggers as dependencies.

Context Logger Dependency
log4j
<dependency>
  <groupId>org.piraso</groupId>
  <artifactId>log4j-context-logger-server</artifactId>
  <version>${piraso.version}</version>
</dependency>
sql
<dependency>
  <groupId>org.piraso</groupId>
  <artifactId>sql-context-logger-server</artifactId>
  <version>${piraso.version}</version>
</dependency>
spring
<dependency>
  <groupId>org.piraso</groupId>
  <artifactId>spring-context-logger-server</artifactId>
  <version>${piraso.version}</version>
</dependency>
Run maven command with -Ppiraso to enable piraso in you web application.

Take a tour with live demo or head to the docs for information, examples, and code snippets, or take the next leap and customize Piraso.

Live Demo » Client User Guide » Tutorials »
comments powered by Disqus