You are here

PerformanceVisor proxy


PerformanceVisor (PVSR) is a commercially available monitoring solution from NETvisor Ltd. It is a unified platform for monitoring not just networks but also service quality and end-user experience, applications and various components of IT infrastructures. PVSR's measurement collectors support numerous open and vendor-specific monitoring protocols , as summarized by the following figure:

PerformanceVisor data collectors


As part of the mPlane project we developed an universal mPlane proxy application for PerformanceVisor. It can be configured to map different measurement capilities from PerformanceVisor onto mPlane capabilities. The proxy turns PVSR into an mPlane repository and also into an mPlane probe, since it offers capabilities for the protocol verbs "query" and "measure":

  • If the proxy receives a "measure" request for a measurement then first it checks whether the measurement already exists in PVSR's configuration or not. If it does not exists then it creates and starts the measurement, otherwise it updates the measurement configuration to match the parameters received (if necessary).
  • If the proxy receives a "query" request for measurement results, then it looks up the measurement in PVSR's configuration, verifies that specified  measurement parameters match, and then it answers the query.

The proxy supports the "now ... future / period" "when" specifications for "measure" and "past ... now / period" "when" specification for "query":

  • The data collection cycle is specified by the period parameter, which means that it must be a valid PVSR data collection cycle period, for example 1m or 5m
  • The duration must be an integer multiple of periods
  • The beginning time is interpreted differently when the measurement does not exist in PVSR, because in this case enough time must be allowed to PVSR to update its data collector configuration. In order to do that the proxy waits additional minutes for the measurement results. Obviously this only applies to the "measure" specifications

Once the measurements are finished the proxy returns the measured values for each collection time during the measurement duration, i.e. the proxy returns multiple results for each specifications (except then duration = period).

Quick start:

Since PerformanceVisor is a commercially available product, first you have to request a demo from NETvisor Ltd. After you have the proper PVSR installation (you uploaded the license file and started all PVSR modules), you have to

  • Download the proxy application from here 
  • Copy the "mplane" directory from the mPlane reference implementation into the same directory where you downloaded the proxy application
  • The proxy application also needs pvsr_soap_client Python package which can be found on the PerformanceVisor server in the /opt/pvsr/lib directory: just copy the to the same directory where you downloaded the proxy application
  • Optional: if you want to use the default pvsr_proxy_probe.cfg then you will have to add these lines to the mplane/registry.txt file:

pvsr.availability: natural

pvsr.user: string

pvsr.pwd: string

pvsr.proxy: string

pvsr.regex: string

pvsr.count: natural

pvsr.ipsla.config_entry: natural

The next step is the configuration if the proxy by editing the pvsr_proxy_probe.cfg file. The file format is JSON:

  • soap: SOAP configuration for PVSR
    • url: the PVSR SOAP server URL
    • wsdl_url: the proxy downloads the WSDL from this URL
    • user and password: PVSR user and password information
  • logging: the configuration file for the Python logging module
  • default_site: the proxy can automatically create Jaga and Synthetic transaction equipments in PVSR if they do not exist. If it does so then it created them below this site. If the site does not exists then it creates the site as well. If the parameter is not specified then the proxy uses "mPlane"
  • delete_created_measurements: if it is set to false then the proxy will not delete those measurement specification in PVSR which it created once the measurements are done
  • pvsr_default_conf_check_cycle: if it is specified (in seconds) then the proxy assumes that the default measurement cycle is this in PVSR as well. Be aware that if you change this then you will have to reconfigure PVSR as well. The parameter only affect cases when the specified measurement does not exists in PVSR
  • measurements: hash containing the available measurements through the proxy interface. The name will be used as the label of the capability as <key>-measure and <key>-query
    • types: the PVSR measurement types belonging to this capability. The key of the hash items must be a valid PVSR measurement type
      • "first" and "second": the mPlane registry name of the first and second PVSR measurement values.
      • multiply: optional parameter, integer. If specified then the proxy will multiply the result received from PVSR before forwarding to the mPlane client
    • index_mplane_name: optional. The mPlane parameter used as the Index parameter for the measurement in PVSR
    • mplane_constants: optional hash, the proxy places each parameter into the capability
    • uda_name2mplane_name: optional hash, the key is a PVSR measurement additional parameter name code, the value is an mPlane parameter name
    • uda_constants: optional hash, used only if the measurement does not exists in PVSR. The key is a PVSR measurement additional parameter name code
    • equipment: name of the PVSR equipment offering the measurements
    • check_udas: optional parameter. If set to false then the proxy do not check wether the values for the PVSR measurement UDAs match the values in the specification or not
    • verb_measure: optional parameter. If set to false then the proxy do not offer the verb "measure"
    • verb_query: optional parameter. If set to false then the proxy do not offer the verb "query"

The last step is to create the equipments in PVSR, however this step is not required for the Jaga and Synthetic transaction equipments.
The default configuration already contains several measurement specifications as examples:

  • Jaga ping measurement
  • HTTP availability check
  • Cisco Ping
  • Cisco IP SLA ping


New features supported by the mPlane project

The application allows a wide range of measurements to be imported into the mPlane architecture, already implemented in PerformanceVisor. The proxy component was developed entirely for mPlane.


mPlane proxy interface

Since this is a generic proxy framework between mPlane and PVSR, the available capabilities, their parameters and results, etc… all depend on the pvsr_proxy_probe.cfg configuration file.


For sample specifications please have a look at this session log:

The PVSR measurement charts for this session:







Official version