The following example module for Wowza Streaming Engine™ gets performance stats for Cupertino, Smooth, SanJose, and RTP sessions:
package com.wowza.wms.example.module;
import com.wowza.util.IOPerformanceCounter;
import com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.*;
import com.wowza.wms.httpstreamer.model.*;
import com.wowza.wms.httpstreamer.sanjosestreaming.httpstreamer.HTTPStreamerSessionSanJose;
import com.wowza.wms.httpstreamer.smoothstreaming.httpstreamer.*;
import com.wowza.wms.module.*;
import com.wowza.wms.rtp.model.*;
public class ModuleSessionStats extends ModuleBase {
//This will work for Cupertino, Smooth and SanJose sessions
public void onHTTPSessionDestroy(IHTTPStreamerSession httpSession) {
IOPerformanceCounter perf = httpSession.getIOPerformanceCounter();
Long outbytes = perf.getMessagesOutBytes();
getLogger().info("Outbytes: " + outbytes);
Double outrate = perf.getMessagesOutBytesRate();
getLogger().info("OutRate: " + outrate);
Double seconds = outbytes / outrate;
getLogger().info("Seconds: " + seconds);
}
//Cupertino (iOS)
public void onHTTPCupertinoStreamingSessionDestroy(
HTTPStreamerSessionCupertino httpSession) {
IOPerformanceCounter perf = httpSession.getIOPerformanceCounter();
getLogger().info("HTTPCupertinoStreamingSession OutBytes: " + perf.getMessagesOutBytes());
}
//Smooth (Silverlight)
public void onHTTPSmoothStreamingSessionDestroy(
HTTPStreamerSessionSmoothStreamer httpSession) {
IOPerformanceCounter perf = httpSession.getIOPerformanceCounter();
getLogger().info("HTTPStreamerSessionSmoothStreamer OutBytes: " + perf.getMessagesOutBytes());
}
//Sanjose (Flash HTTP))
public void onSanJoseStreamingSesssionDestroy(HTTPStreamerSessionSanJose httpSession)
{
IOPerformanceCounter perf = httpSession.getIOPerformanceCounter();
getLogger().info("HTTPStreamerSessionSanJose OutBytes: " + perf.getMessagesOutBytes());
}
//RTP
public void onRTPSessionDestroy(RTPSession rtpSession) {
IOPerformanceCounter perf = rtpSession.getIOPerformanceCounter();
getLogger().info("RTPSession OutBytes: " + perf.getMessagesOutBytes());
}
}




