Class AbstractParameterArchiveApi<T>

java.lang.Object
org.yamcs.protobuf.AbstractParameterArchiveApi<T>
All Implemented Interfaces:
Api<T>
Direct Known Subclasses:
ParameterArchiveApi, ParameterArchiveApiClient

@Generated(value="org.yamcs.protoc.ServiceGenerator", date="2024-03-25T15:22:33.225486685Z") public abstract class AbstractParameterArchiveApi<T> extends Object implements Api<T>
  • Constructor Details

    • AbstractParameterArchiveApi

      public AbstractParameterArchiveApi()
  • Method Details

    • rebuildRange

      public abstract void rebuildRange(T ctx, RebuildRangeRequest request, Observer<com.google.protobuf.Empty> observer)
        Rebuild range
       
        The back filler has to be enabled for this purpose. The back filling process does not
        remove data but just overwrites it. That means that if the parameter replay returns
        less parameters than originally stored in the archive, the old parameters will still
        be found in the archive.
       
        It also means that if a replay returns the parameter of a different type than
        originally stored, the old ones will still be stored. This is because the parameter
        archive treats parameter with the same name but different type as different parameters.
        Each of them is given an id and the id is stored in the archive.
       
    • getParameterSamples

      public abstract void getParameterSamples(T ctx, Archive.GetParameterSamplesRequest request, Observer<Pvalue.TimeSeries> observer)
        Get parameter samples
       
        This divides the query interval in a number of intervals and returns aggregated
        statistics (max, min, avg) about each interval.
       
        This operation is useful when making high-level overviews (such as plots) of a
        parameter's value over large time intervals without having to retrieve each
        and every individual parameter value.
       
        By default this operation fetches data from the parameter archive and/or
        parameter cache. If these services are not configured, you can still get
        correct results by specifying the option ``source=replay`` as detailed below.
       
    • getParameterRanges

      public abstract void getParameterRanges(T ctx, GetParameterRangesRequest request, Observer<Pvalue.Ranges> observer)
        Get parameter ranges
       
        A range is a tuple ``(start, stop, value, count)`` that represents the time
        interval for which the parameter has been steadily coming in with the same
        value. This request is useful for retrieving an overview for parameters that
        change unfrequently in a large time interval. For example an on/off status
        of a device, or some operational status. Two consecutive ranges containing
        the same value will be returned if there was a gap in the data. The gap is
        determined according to the parameter expiration time configured in the
        Mission Database.
       
    • listParameterHistory

      public abstract void listParameterHistory(T ctx, Archive.ListParameterHistoryRequest request, Observer<Archive.ListParameterHistoryResponse> observer)
        List parameter history
       
    • getArchivedParametersInfo

      public abstract void getArchivedParametersInfo(T ctx, GetArchivedParametersInfoRequest request, Observer<ArchivedParametersInfoResponse> observer)
        Get information about the archived parameters.
       
        Each combination of (parameter name, raw type, engineering type) is assigned a
        unique parameter id.
        
        The parameters are grouped such that the samples of all parameters from one group
        have the same timestamp. For example all parameters extracted from one TM packet
        have usually the same timestamp and are part of the same group.
       
        Each group is assigned a unique group id.
       
        A parameter can be part of multiple groups. For instance a parameter appearing
        in the header of a packet is part of all groups made by inherited containers
        (i.e. each packet with that header will compose another group).
       
        For each group, the parameter archive stores one common record for the timestamps
        and individual records for the raw and engineering values of each parameter. If a
        parameter appears in multiple groups, retrieving its value means combining
        (time-based merge operation). The records beloging to the groups in which the
        parameter appears.
       
        The response to this method contains the parameter id, name, engineering type,
        raw type and the groups of which this parameter is part of.
       
    • getArchivedParameterSegments

      public abstract void getArchivedParameterSegments(T ctx, GetArchivedParameterSegmentsRequest request, Observer<ArchivedParameterSegmentsResponse> observer)
        For a given parameter id, get the list of segments available for that parameter.
        A segment contains multiple samples (maximum ~70 minutes) of the same parameter.
       
    • getArchivedParameterGroup

      public abstract void getArchivedParameterGroup(T ctx, GetArchivedParameterGroupRequest request, Observer<ArchivedParameterGroupResponse> observer)
       For a given group id, get the list of parameters which are part of the group
       
    • purge

      public abstract void purge(T ctx, PurgeRequest request, Observer<com.google.protobuf.Empty> observer)
        Removes all the parameter archive data and related metadata. All the filling operations are stopped before and started after the purge.
        The rebuild operation has to be called to rebuild the past segments of the archive.
        Starting with Yamcs 5.9.0 the parameter archive is stored into a different column family paramter_archive.
        Storing data into a separate column family gives better performance and the parameter archive rebuild operations
        are less disturbing for the other data (TM, TC, Events...). If the archive is from a previous version of Yamcs, the purge/rebuild can be used to move 
        the parameter archive from the default column family to the separate column family.
       
    • getDescriptorForType

      public final com.google.protobuf.Descriptors.ServiceDescriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface Api<T>
    • getRequestPrototype

      public final com.google.protobuf.Message getRequestPrototype(com.google.protobuf.Descriptors.MethodDescriptor method)
      Specified by:
      getRequestPrototype in interface Api<T>
    • getResponsePrototype

      public final com.google.protobuf.Message getResponsePrototype(com.google.protobuf.Descriptors.MethodDescriptor method)
      Specified by:
      getResponsePrototype in interface Api<T>
    • callMethod

      public final void callMethod(com.google.protobuf.Descriptors.MethodDescriptor method, T ctx, com.google.protobuf.Message request, Observer<com.google.protobuf.Message> future)
      Specified by:
      callMethod in interface Api<T>
    • callMethod

      public final Observer<com.google.protobuf.Message> callMethod(com.google.protobuf.Descriptors.MethodDescriptor method, T ctx, Observer<com.google.protobuf.Message> future)
      Specified by:
      callMethod in interface Api<T>