MOMA Meta Markers

This page defines the specification that software should adhere to in order to support MOMA Meta Markers. Meta Markers were created to improve our post-processing capabilities by allowing us to add markers after the telemetry has already been generated. This functionality may be used for any number of purposes:

A Meta Marker consists of

Unlike normal telemetry markers, which are packets inside of a tm.mom file, Meta Markers are generated by post-processing software based on predefined rules. Despite their simple format, human beings do not define Meta Markers in terms of these four fields. Instead, humans define rules which software uses to generate Meta Markers. The format and other details of these rules are described below.

Note that Meta Markers are different from Annotations. Meta Markers are generated by software to augment XINA Online's trending capability, whereas Annotations are generated by human beings using MOMA Data View in order to describe events within a single TID.

Storing Markers

Markers should be stored in a .json file in the momagse/MetaMarkerRules directory.

Example: 50050.json

Meta Marker 50050 is intended to adjust marker 50 by 10 seconds. These fields are defined in a following section.

{
  "meta_markers": [
    { 
      "tids": "0-39999",
      "meta_marker_id": 50050, 
      "meta_marker_text": "Adjusted Background Collection",
      "start_conditions": [
        {
          "type": "marker",
          "marker": 50,
          "offset_in_seconds": 10
        }
      ], 
      "end_conditions": [
        {
          "type": "next_marker" 
         }
      ]
    }
  ]
}

In this example, any time marker 50 is encountered, a corresponding marker 50050 will also be created.

Meta Marker Rule Format

Note that all .json files in the momagse/MetaMarkerRules directory will be used. So, Meta Marker Rule filenames can be named anything, as long as they have a .json extension.

Root Key

Meta Marker Object Fields

Each Meta Marker object has the following fields:

The start_conditions array is a set of trigger objects.

The end_conditions array is a set of trigger objects.

Supported Trigger Types

The trigger type dictates how the marker's timestamps should be calculated. The different trigger types and their fields are described below.

Marker

The meta marker is defined relative to another marker ID.

Message

The meta marker starts when a line in the message log matches a given regular expression.

Duration

This trigger only applies to end_conditions.

Next Marker

This trigger only applies to end_conditions. If this trigger is set, then the Meta Marker end timestamp will be equal to the timestamp of the next telemetry marker.

Future Trigger Types

These trigger types are not currently supported, but might be in the future if the need arises.

Time

The marker is defined with a timestamp.

Housekeeping Value

The marker is triggered by a HK value.

Conventions

If a Meta Marker is relative to a normal telemetry marker (i.e., a marker packet in a tm.mom file), define the Meta Marker ID as original_mkid + 50000. This is convention only. If more than one Meta Marker is relative to the same marker, a different offset will be necessary.

Meta Markers cannot be relative to other Meta Markers.

A separate file should be used for each Meta Marker Rule.

Dependencies

This section details the dependencies that the Meta Markers have on the telemetry data. Ideally, any of the telemetry data that Meta Markers depend on should not change, but if it must, then whoever created the Meta Marker should be notified so that the Meta Marker can be updated.

Messages


Revision #1
Created 22 March 2023 20:35:41 by Nick Dobson
Updated 24 March 2023 13:47:06 by Nick Dobson