Bug #395

OMF and OML disagree on data types

Added by Olivier Mehani over 1 year ago. Updated over 1 year ago.

Status:New Start date:07/09/2010
Priority:High Due date:
Assignee:- % Done:

0%

Category:-
Target version:-

Description

I'm using OMF-5.3 and OML-2.4.

I have an app file describing my application, which I feed to oml2_scaffold to generate the required headers.

Among others, in contains this measurement point definition.

a.defMeasurement("dccp") do |m|
  m.defMetric('x_recv', :double, "Receive rate (Bps)")
  m.defMetric('rtt', :double, "RTT estimate (us)" )
  m.defMetric('p', :double, "Loss event rate")
  m.defMetric('freezestate', :int32, "Frozen state")
end

It works fine with oml2_scaffold which generates the following snippet.

static OmlMPDef oml_dccp_def[] = {
  {"x_recv", OML_DOUBLE_VALUE},
  {"rtt", OML_DOUBLE_VALUE},
  {"p", OML_DOUBLE_VALUE},
  {"freezestate", OML_INT32_VALUE},
  {NULL, (OmlValueT)0}
};

However, omf exec chokes on it saying FATAL run: Exception: (RuntimeError) Unknown type 'double' for metric 'x_recv'.

If I modify my application definition to use the old terminology (though I didn't know the :double was “new,” is it), as follows, OMF seems to be happy.

a.defMeasurement("dccp") do |m|
  m.defMetric('x_recv', :float, "Receive rate (Bps)")
  m.defMetric('rtt', :float, "RTT estimate (us)" )
  m.defMetric('p', :float, "Loss event rate")
  m.defMetric('freezestate', :integer, "Frozen state")

end

However, this breaks oml-scaffold:

static OmlMPDef oml_dccp_def[] = {
  {"x_recv", OML_UNKNOWN},
  {"rtt", OML_UNKNOWN},
  {"p", OML_UNKNOWN},
  {"freezestate", OML_UNKNOWN},
  {NULL, (OmlValueT)0}
};

Something is (urgently, IMO) needed to unify that, otherwise it appears that OML-2.4 is unusable with OMF-5.3...


Related issues

related to Bug #407: OML-related description of types and filter should be pro... New 09/09/2010
related to Feature #575: Evaluate the need for OML type checks in OMF EC, and pote... New 24/08/2011

History

Updated by Olivier Mehani over 1 year ago

s/:integer/:int/

Also available in: Atom PDF