Anatomy of a theodolite

The internal structure of a Network Monitoring Tool running on a Theodolite:

use strict;
use lib "GlueDomains";
use lib "GlueDomains/rgmacomplete";
use GlueDomains;

# Creates a GlueDomains database handle
my $server="";
my $gd=GlueDomains::new($server,"gluedomains","consumer","password2");
# Discover self GlueDomains identifiers (can be repeated for each interface)
my $myself="";
my @edgeservicelist=EdgeService::getByInterface($gd,$myself);
# More than one identifier may exist to model different QoS
foreach my $t ( @edgeservicelist ) {
# Discover neighbor theodolites
    my @sessionlist=$gd->getTargetList($t);
    while ( my $session = pop @sessionlist ) {
	# initialize measurement session
	# ...
	# Create handles for RGMA producers
	my $networkService=@$session[1];
	my $rgmaRTT=rgmacomplete::RoundTripDelayTools->new($networkService);
	my $rgmaLost=rgmacomplete::RoundTripLossTools->new($networkService);
	while (1) {
	    # Perform a measurement 
	    my @RTTdata=();
	    my @RTLdata=();
	    # Store measurement in R-GMA
	    my $observation;


Application Scenario (monitoring tool)

up: DataTAG WP4 meeting (29 July 2003)