Class XtceTmRecorder

java.lang.Object
com.google.common.util.concurrent.AbstractService
org.yamcs.AbstractYamcsService
org.yamcs.archive.XtceTmRecorder
All Implemented Interfaces:
com.google.common.util.concurrent.Service, YamcsService

public class XtceTmRecorder extends AbstractYamcsService
Records XTCE TM sequence containers.

The main job of this class is to populate the "pname" column of the tm table. The other columns are copied verbatim from the TM input streams. It does that by creating a XtceTmExtractor and subscribing to all sequence containers having the flag SequenceContainer.useAsArchivePartition() set. The pname is the qualified name of the most specific (lowest in the XTCE hierarchy) container matching the telemetry packet.

It subscribes to all the streams configured with the "streams" config key or, if not present, to all TM streams defined in the instance (streamConfig section of the instance configuration).

  • Field Details

  • Constructor Details

    • XtceTmRecorder

      public XtceTmRecorder()
  • Method Details

    • getSpec

      public Spec getSpec()
      Description copied from interface: YamcsService
      Returns the valid configuration options for this service.
      Returns:
      the argument specification, or null if the args should not be validated.
    • init

      public void init(String yamcsInstance, String serviceName, YConfiguration config) throws InitException
      Description copied from interface: YamcsService
      Initialize this service. This is called before the service is started. All operations should finish fast.
      Specified by:
      init in interface YamcsService
      Overrides:
      init in class AbstractYamcsService
      Parameters:
      yamcsInstance - The yamcs instance, or null if this is a global service.
      serviceName - The service name.
      config - The configured arguments for this service. If YamcsService.getSpec() is implemented then this contains the arguments after being validated (including any defaults).
      Throws:
      InitException - When something goes wrong during the execution of this method.
    • doStart

      protected void doStart()
      Specified by:
      doStart in class com.google.common.util.concurrent.AbstractService
    • doStop

      protected void doStop()
      Specified by:
      doStop in class com.google.common.util.concurrent.AbstractService
    • getNumProcessedPackets

      public long getNumProcessedPackets()
    • deriveArchivePartition

      public static String deriveArchivePartition(ContainerProcessingResult cpr)