JSLEE Discussions
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
What interface should be implemented by sbb in order to use getsbbdiagnostics?
Forum Index » Rhino SLEE Discussions
Author Message

Joined: 29/03/2011 20:30:17
Messages: 11


I've found the getsbbdiagnostics command in rhino console, but the sbbs I have provide no diagnostic information.

Is there some publicly available interface, that could be implemented by Sbbs in order to expose this information?


Joined: 21/08/2008 22:00:34
Messages: 46

Hi Artur,

This diagnostic tool was added in Rhino

SBB Diagnostics lets you pull service-defined diagnostic information from SBB objects at runtime. You can use the getSbbDiagnostics console command (or associated MBean operation) to access diagnostic information (in String form) from particular methods implemented in the SBB Abstract class.

For an SBB to provide this diagnostics information, it must implement one of these methods:

String ocGetSbbDiagnostics(); When queried with the getSbbDiagnostics console command, the return result from this method will be included in the SBB Diagnostics output.
void ocGetSbbDiagnostics(StringBuilder sb); When queried with the getSbbDiagnostics console command, this method will be invoked on the SBB object with a SLEE-provided StringBuilder. The .toString() of the StringBuilder will be included in the SBB diagnostics output. This method is intended for chaining diagnostics output between extending classes and child SBBs.

A deployment error will occur if more than one of these methods is implemented.
The implementation of a ocGetSbbDiagnostics method should not modify SBB object state.
See the example method below.

We are using this diagnostic tool in Sentinel to provide a full diagnostic output of the current state of all CMP fields and FSMs in the event that an SBB does not end as expected.



Joined: 29/03/2011 20:30:17
Messages: 11

Thanks Charlie,

Sentinel rings a bell, I must have seen it there.
For sure it will come handy.

It just came to my mind, that in a number of offers from various operators, there usually is a nice to have requirement of querying the system for active sessions, or querying a specific MSISDN/IMSI session.
I understand this is a protocol and service specific, but maybe it would be feasible to expose some query over SBBs, or better, activities with given MSISDN/IMSI or generic parameter?

Let's say that we would write a shell script that retrieves all SBBs (e.g. findsbbs -service -sbb), and then retrieves the diagnostics of each SBB one by one, by invoking getsbbdiagnostics. How would this degrade the performance? Is the whole entity tree being locked when invoking getsbbdiagnostics?


Joined: 05/08/2015 03:53:31
Messages: 7

Hello Charlie,

I found a useful information in reply regarding the diagnostic method of the rhino platform. Is there any performance issue regarding adding this method in a production system?
Is it has a memory or cpu impact on the enviroment?

Joined: 30/01/2008 17:59:09
Messages: 492
Location: Wellington, New Zealand

This method is only invoked if the SBB diagnostics command is invoked through the console

So it won't be called in typical processing - it would only have a performance overhead if there were automated calls to it (e.g. some script calling it very frequently).

David Ferry
Lead Architect VoLTE TAS
Forum Index » Rhino SLEE Discussions
Go to:   
Powered by JForum 2.1.8 © JForum Team