1 Reply Latest reply on Jan 30, 2012 12:25 PM by Martin.Krivanek

    specific parameters required for read ops in CBQoS entities


      Does anyone know about the Filter, TopKeys, Absolute, Interval, Rx, Tx, and StatsID parameters that are required for read query against the Orion.NetFlow.CBQoS(Detail,Top) entities? 

      I have had guesses about what they should be, and have tried those guesses, to no avail.

        • Re: specific parameters required for read ops in CBQoS entities


          I can explain meaning of these parameters. At first the meaning of entities itself. CBQoSTop gives you top QoS classes on one interface ordered by total bytes. CBQoSDetail gives you time values for selected class maps (this is used to draw chart). Typically you call Top entity to get top classes and then for these classes you call Detail entity to get time samples.

          I'll start with CBQoSTop entity:

          • Filter - this one is the most complex. It is a string and for CBQoS it contains interface ID, start time, end time and flow direction. The format is following: "NSF:I:{InterfaceID};TD:{StartTimeInUTC}~{EndTimeInUTC},{SampleMinutes},{IncludeEnd},{UseAggregated};FD:{Direction}". Let me break this down:
            • InterfaceID, StartTimeInUTC, EndTimeInUTC - these have obvious meaning.
            • SampleMinutes - integer; granularity of detail data, this is ignored for CBQoSTop entity.
            • IncludeEnd - boolean; whether to include sample for end time. Again this is ignored for Top.
            • UseAggregated - boolean; ignored for CBQoS entities
            • Direction - Ingress/Egress/Both; which direction to get

          Filter example: 'NSF:I:123;TD:2012-01-30T17:00:00~2012-01-30T17:30:00,1,True,True;FD:Both'

          • Limit - how many top CBQoS classes to get. Use -1 to get all.
          • Rx, Tx - boolean; policy direction. Use both true for any direction.
          • StatsID - whether to get data for Pre-Policy, Post-Policy or Drops. Corresponding values are: cbQosCMPrePolicyByte64, cbQosCMPostPolicyByte64, cbQosCMDropByte64
          • TopKey - empty for CBQoS top entity.

          Here is full example for CBQoSTop entity:

          SELECT ClassID, ClassName, TotalBytes AS TotalBytesDecimal, Direction, PolicyName, LastPolledValue, LastPolledIntervalLength FROM Orion.NetFlow.CBQoSTop(Filter='NSF:I:123;TD:2012-01-30T17:00:00~2012-01-30T17:30:00,1,True,True;FD:Both', Limit='-1', Rx=True, Tx=True, StatsID='cbQosCMPrePolicyByte64', TopKey='')

          Now CBQoSDetail entity:

          • Filter, Rx, Tx, StatsID - same as top entity
          • TopKeys - string; comma-separated list of classes to get. Typically you use ClassIDs returned from top query.
          • Absolute - boolean; whether to calculate total bytes sum for each time sample


          SELECT ClassID, StartTime, TotalBytes as TotalBytesDecimal
                          FROM Orion.NetFlow.CBQoSDetail(Filter='NSF:I:123;TD:2012-01-30T17:00:00~2012-01-30T17:30:00,1,True,True;FD:Ingress', TopKeys='20,21,22', Absolute=False, Rx=True, Tx=True, StatsID='cbQosCMPrePolicyByte64')


          Let me know if you need more details or any help.

          EDIT: Mentioned NTA schemas aren’t unfortunately intended as a public API. They are designed for internal purposes as a layer between DB and Web and the usage is also special, it can’t be used as other standard schemas.  Those NTA SWIS schemas can be changed significantly any time without any limitation. That’s a reason why there isn’t any public documentation for those schemas.