A marker is to mark a point in time, or a period of time, inside a record.
Markers are always linked to a record, so you must start a record before you add a marker. You can't add nor update a marker after the record is stopped. You can associate some data to each marker, like a value and a label.
There are two types of markers:
An instance marker is to mark a point in time. You call injectMarker to create the marker at a specific timestamp.
An interval marker is to mark a period of time, with a beginning and an end. First you create an instance marker with injectMarker. This sets the beginning of the interval. Then you call updateMarker to set the end of the interval, turning the instance marker into an interval marker.