-
Notifications
You must be signed in to change notification settings - Fork 5
Measurement Recorders
OpenTestPoint recorders can be used as part of an OpenTestPoint deployment to record all measurements available from one or more publishers. The otestpoint-recorder
application can be configured with one or more publisher endpoints. For each listed endpoint, otestpoint-recorder
will subscribe to all measurements and log all data in Probe Message Stream Format.
The below listing shows sample application configuration XML to record all probes available from node-1. More information on otestpoint-recorder
can be found using the --help
option.
<otestpoint-recorder file="persist/1/var/log/otestpoint-recorder.data">
<testpoint publish="node-1:8882"/>
</otestpoint-recorder>
Although not required by the framework, it is a best practice to deploy one otestpoint-recorder
on each node running otestpointd
to locally record all available probes.
In addition to recording all probes to file, otestpoint-recorder
creates an SQLite database that contains meta information and recording file offsets to make it easier to find specific measurements of interest.
The database contains a single probes
table with the following items:
Field | Description |
---|---|
time |
Probe timestamp in seconds since the epoch. |
uuid |
The UUID of the Controller owning the reporting probe instance. |
probe |
The name of the probe. |
tag |
The tag assigned to the Controller owning the reporting probe instance. |
pindex |
The index of the probe. Each probe instantiated by the same Controller is assigned a unique sequential index. |
offset |
The offset of the serialized probe message. (Note: This offset points to the start of the serialized probe message not the length field of the entry in Probe Message Stream Format.) |
size |
The size of the serialized probe message. |
The otestpoint-filter
application can be used to select measurements that match one or more specified probe names from an otestpoint-recorder
data file and SQLite database file.
[me@host 1]$ otestpoint-filter persist/1/var/log/otestpoint-recorder.data EMANE.VirtualTransport.Counters.General
[1469213460] node-1/2 500b7fd3-cb91-4874-a2e4-a38a54110599
otestpoint.emane.virtualtransport Measurement_emane_virtualtransport_counters_general v1 133 bytes
avgdownstreamprocessingdelay = 21.5
avgprocessapiqueuedepth = 0.0
avgprocessapiqueuewait = 0.0
avgtimedeventlatency = 0.0
avgtimedeventlatencyratio = 0.0
avgupstreamprocessingdelay = 0.0
numdownstreambytesbroadcastgenerated = 0
numdownstreambytesbroadcastrx = 480
numdownstreambytesbroadcasttx = 480
numdownstreambytesunicastgenerated = 0
numdownstreambytesunicastrx = 0
numdownstreambytesunicasttx = 0
numdownstreampacketsbroadcastdrop = 0
numdownstreampacketsbroadcastgenerated = 0
numdownstreampacketsbroadcastrx = 6
numdownstreampacketsbroadcasttx = 6
numdownstreampacketsunicastdrop = 0
numdownstreampacketsunicastgenerated = 0
numdownstreampacketsunicastrx = 0
numdownstreampacketsunicasttx = 0
numupstreambytesbroadcastrx = 0
numupstreambytesbroadcasttx = 0
numupstreambytesunicastrx = 0
numupstreambytesunicasttx = 0
numupstreampacketsbroadcastdrop = 0
numupstreampacketsbroadcastrx = 0
numupstreampacketsbroadcasttx = 0
numupstreampacketsunicastdrop = 0
numupstreampacketsunicastrx = 0
numupstreampacketsunicasttx = 0
processedconfiguration = 0
processeddownstreamcontrol = 0
processeddownstreampackets = 0
processedevents = 0
processedtimedevents = 0
processedupstreamcontrol = 0
processedupstreampackets = 0
[1469213465] node-1/2 500b7fd3-cb91-4874-a2e4-a38a54110599
otestpoint.emane.virtualtransport Measurement_emane_virtualtransport_counters_general v1 133 bytes
avgdownstreamprocessingdelay = 19.6153850555
avgprocessapiqueuedepth = 0.0
avgprocessapiqueuewait = 0.0
avgtimedeventlatency = 0.0
avgtimedeventlatencyratio = 0.0
avgupstreamprocessingdelay = 0.0
numdownstreambytesbroadcastgenerated = 0
<...truncated for listing...>
Copyright (c) 2014-2016 - Adjacent Link LLC, Bridgewater, New Jersey
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International License.