Changes between Initial Version and Version 1 of GEC16Agenda/WiMAX-Tutorial/Video/03


Ignore:
Timestamp:
03/20/13 14:15:39 (11 years ago)
Author:
Fraida Fund
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GEC16Agenda/WiMAX-Tutorial/Video/03

    v1 v1  
     1'''[wiki:GEC16Agenda/WiMAX-Tutorial/Video/02 Previous]'''
     2
     3== Application Wrappers ==
     4
     5When an OML-enabled application is run using OMF, the application itself is installed on the resource and a simple [https://mytestbed.net/projects/omf/wiki/BasicTutorialStage3-5-2 OMF application wrapper] is installed on the console where the OMF Experiment Controller runs. This wrapper just gives some basic information about the application, the parameters that can be passed at the command line, and the OML measurement points that have been defined in the application.
     6
     7For example, here's the wrapper for the OML-ized VLC:
     8
     9{{{
     10#!ruby
     11
     12defApplication('vlc', 'vlc') do |app|
     13 
     14   app.path = "/usr/local/bin/vlc"
     15   app.version(2, 0, 5)
     16   app.shortDescription = "VLC"
     17   app.description = "VLC multimedia player and streamer"
     18 
     19   app.defProperty("input", "Stream input (e.g. file or network address)", nil,
     20                   {:type => :string, :dynamic => false, :use_name => false})
     21   app.defProperty("sout", "Stream output", nil,
     22                   {:type => :string, :dynamic => false,})
     23   app.defProperty("intf", "Main interface module", "I",
     24                   {:type => :string, :dynamic => false})
     25   app.defProperty("extraintf", "Extra interface module(s). Use --extraintf omlstats to enable OML", nil,
     26                   {:type => :string, :dynamic => false})
     27   app.defProperty("mtu", "Specifies the MTU of the network interface", nil,
     28                   {:type => :string, :dynamic => false})
     29   app.defProperty("quiet", " Deactivates all console messages", nil,
     30                   {:type => :boolean, :dynamic => false})
     31   app.defProperty("play-and-exit", "Exit VLC after playing all the items in the input stream list", nil,
     32                   {:type => :boolean, :dynamic => false})
     33
     34   app.defMeasurement('audio') do |mp|
     35     mp.defMetric('i_decoded_audio_blocks',:int)
     36     mp.defMetric('i_played_audio_buffers',:int)
     37     mp.defMetric('i_lost_audio_buffers',:int)     
     38   end
     39
     40   app.defMeasurement('video') do |mp|
     41     mp.defMetric('i_decoded_video_blocks',:int)
     42     mp.defMetric('i_played_video_frames',:int)
     43     mp.defMetric('i_lost_video_frames',:int)
     44   end
     45
     46
     47   app.defMeasurement('input') do |mp|
     48     mp.defMetric('i_read_packets',:int)
     49     mp.defMetric('i_read_bytes',:int)
     50     mp.defMetric('f_input_bitrate',:float)
     51     mp.defMetric('i_demux_read_bytes',:int)
     52     mp.defMetric('f_demux_bitrate',:float)
     53     mp.defMetric('i_demux_corrupted',:int)
     54     mp.defMetric('i_demux_discontinuity',:int)
     55   end
     56
     57   app.defMeasurement('output') do |mp|
     58     mp.defMetric('i_sent_packets',:int)
     59     mp.defMetric('i_sent_bytes',:int)
     60     mp.defMetric('f_send_bitrate',:float)
     61   end
     62end
     63
     64}}}
     65
     66
     67
     68
     69'''[wiki:GEC16Agenda/WiMAX-Tutorial/Video/04 Next]'''