Changes between Version 3 and Version 4 of GEC16Agenda/WiMAX-Tutorial/Video/02


Ignore:
Timestamp:
03/20/13 14:14:38 (7 years ago)
Author:
Fraida Fund
Comment:

--

Legend:

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

    v3 v4  
    33== Creating and Loading a Disk Image ==
    44
    5 To prepare his experiment, he loaded a baseline image onto a node on ORBIT's Sandbox 4.
     5To prepare his experiment, he loaded a baseline image onto a node at UCLA.
    66
    77
     
    99> {{{omf load -i baseline.ndz -t omf.necwimax.node2}}}
    1010[[br]]
     11
    1112Then he installed all the applications he needs on the node, and saved the disk image.
    1213
     
    2930}}}
    3031
     32== Application Wrappers ==
     33
     34When 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.
     35
     36For example, here's the wrapper for the OML-ized VLC:
     37
     38{{{
     39#!ruby
     40
     41defApplication('vlc', 'vlc') do |app|
     42 
     43   app.path = "/usr/local/bin/vlc"
     44   app.version(2, 0, 5)
     45   app.shortDescription = "VLC"
     46   app.description = "VLC multimedia player and streamer"
     47 
     48   app.defProperty("input", "Stream input (e.g. file or network address)", nil,
     49                   {:type => :string, :dynamic => false, :use_name => false})
     50   app.defProperty("sout", "Stream output", nil,
     51                   {:type => :string, :dynamic => false,})
     52   app.defProperty("intf", "Main interface module", "I",
     53                   {:type => :string, :dynamic => false})
     54   app.defProperty("extraintf", "Extra interface module(s). Use --extraintf omlstats to enable OML", nil,
     55                   {:type => :string, :dynamic => false})
     56   app.defProperty("mtu", "Specifies the MTU of the network interface", nil,
     57                   {:type => :string, :dynamic => false})
     58   app.defProperty("quiet", " Deactivates all console messages", nil,
     59                   {:type => :boolean, :dynamic => false})
     60   app.defProperty("play-and-exit", "Exit VLC after playing all the items in the input stream list", nil,
     61                   {:type => :boolean, :dynamic => false})
     62
     63   app.defMeasurement('audio') do |mp|
     64     mp.defMetric('i_decoded_audio_blocks',:int)
     65     mp.defMetric('i_played_audio_buffers',:int)
     66     mp.defMetric('i_lost_audio_buffers',:int)     
     67   end
     68
     69   app.defMeasurement('video') do |mp|
     70     mp.defMetric('i_decoded_video_blocks',:int)
     71     mp.defMetric('i_played_video_frames',:int)
     72     mp.defMetric('i_lost_video_frames',:int)
     73   end
     74
     75
     76   app.defMeasurement('input') do |mp|
     77     mp.defMetric('i_read_packets',:int)
     78     mp.defMetric('i_read_bytes',:int)
     79     mp.defMetric('f_input_bitrate',:float)
     80     mp.defMetric('i_demux_read_bytes',:int)
     81     mp.defMetric('f_demux_bitrate',:float)
     82     mp.defMetric('i_demux_corrupted',:int)
     83     mp.defMetric('i_demux_discontinuity',:int)
     84   end
     85
     86   app.defMeasurement('output') do |mp|
     87     mp.defMetric('i_sent_packets',:int)
     88     mp.defMetric('i_sent_bytes',:int)
     89     mp.defMetric('f_send_bitrate',:float)
     90   end
     91end
     92
     93}}}
    3194
    3295