All Downloads are FREE. Search and download functionalities are using the official Maven repository.

yamcs.protobuf.archive.archive.proto Maven / Gradle / Ivy

There is a newer version: 5.10.9
Show newest version
syntax="proto2";

package yamcs.protobuf.archive;

option java_package = "org.yamcs.protobuf";

import "google/protobuf/timestamp.proto";

import "yamcs/api/annotations.proto";
import "yamcs/api/httpbody.proto";
import "yamcs/protobuf/pvalue/pvalue.proto";
import "yamcs/protobuf/yamcs.proto";

service StreamArchiveApi {
  
  // List parameter groups
  rpc ListParameterGroups(ListParameterGroupsRequest) returns (ParameterGroupInfo) {
    option (yamcs.api.route) = {
      get: "/api/archive/{instance}/parameter-groups"
    };
  }
  
  // List parameter history
  rpc ListParameterHistory(ListParameterHistoryRequest) returns (ListParameterHistoryResponse) {
    option (yamcs.api.route) = {
      get: "/api/stream-archive/{instance}/parameters/{name*}"
    };
  }
  
  // Streams back parameter values
  rpc StreamParameterValues(StreamParameterValuesRequest) returns (stream pvalue.ParameterData) {
    option (yamcs.api.route) = {
      post: "/api/stream-archive/{instance}:streamParameterValues"
      body: "*"
    };
  }
  
  // Get parameter samples
  rpc GetParameterSamples(GetParameterSamplesRequest) returns (pvalue.TimeSeries) {
    option (yamcs.api.route) = {
      get: "/api/stream-archive/{instance}/parameters/{name*}/samples"
      field_mask_root: "sample"
    };
  }
  
  // Export parameter values in CSV format
  rpc ExportParameterValues(ExportParameterValuesRequest) returns (stream yamcs.api.HttpBody) {
    option (yamcs.api.route) = {
      get: "/api/archive/{instance}:exportParameterValues"
      additional_bindings {
        post: "/api/archive/{instance}:exportParameterValues"
        body: "*"
      }
    };
  }
}

// Retrieves parameters by performing a replay
message StreamParameterValuesRequest {
  // Yamcs instance name
  optional string instance = 1;
  optional google.protobuf.Timestamp start = 2;
  optional google.protobuf.Timestamp stop = 3;

  // Parameter identifiers. Each identifier takes the form of
  // a namespace and a name.
  //
  // For Yamcs-native naming only the name field is required and
  // should be the fully qualified name. The namespace is only
  // required when the name represents an alias of that parameter.
  repeated NamedObjectId ids = 4;

  // Since version 5.4.0, Yamcs records the name of the TM link on which
  // a TM packet is received together with the packet (in the tm table).
  // This option, if specified, allows retrieving as part of replay only
  // the packets originally received on one of the links specified.
  repeated string tmLinks = 5;
}

message ParameterGroupInfo {

  // Parameter group names
  repeated string groups = 2;
}

message ListParameterGroupsRequest {
  // Yamcs instance name
  optional string instance = 1;
}

message ListParameterHistoryRequest {
  // Yamcs instance name
  optional string instance = 1;
  
  // Parameter name
  optional string name = 2;
  
  // The zero-based row number at which to start outputting results. Default: ``0``.
  optional int64 pos = 3;
  
  // The maximum number of returned records per page. Choose this value too high
  // and you risk hitting the maximum response size limit enforced by the server.
  // Default: ``100``.
  optional int32 limit = 4;
  
  // Whether to filter out consecutive identical values. Default ``no``.
  optional bool norepeat = 5;
  
  // Filter the lower bound of the parameter's generation time. Specify a date
  // string in ISO 8601 format.
  optional google.protobuf.Timestamp start = 6;
  
  // Filter the upper bound of the parameter's generation time. Specify a date
  // string in ISO 8601 format.
  optional google.protobuf.Timestamp stop = 7;
  
  // The order of the returned results. Can be either ``asc`` or ``desc``.
  // Default: ``desc``.
  optional string order = 8;
  
  // Disable loading of parameters from the parameter cache. Default: ``false``.
  optional bool norealtime = 9;
  
  // The name of the processor from which to use the parameter cache.
  // Default: ``realtime``.
  optional string processor = 10;
  
  // Specifies how to retrieve the parameters. Either ``ParameterArchive`` or
  // ``replay``. If ``replay`` is specified, a replay processor will be created
  // and data will be processed with the active Mission Database. Note that this
  // is much slower than receiving data from the ParameterArchive.
  //
  // Default: ``ParameterArchive``.
  optional string source = 11;

  // If set, truncate binary values to the specified byte length.
  // This may be necessary when Yamcs contains large binary values.
  optional int32 maxBytes = 13;

  // Continuation token returned by a previous page response.
  optional string next = 12;
}

message ListParameterHistoryResponse {
  repeated pvalue.ParameterValue parameter = 1;
  
  // Token indicating the response is only partial. More results can then
  // be obtained by performing the same request (including all original
  // query parameters) and setting the ``next`` parameter to this token.
  optional string continuationToken = 2;
}

message GetParameterSamplesRequest {
  // Yamcs instance name
  optional string instance = 1;
  
  // Parameter name
  optional string name = 2;
  
  // Filter the lower bound of the parameter's generation time. Specify a date
  // string in ISO 8601 format.
  optional google.protobuf.Timestamp start = 3;
  
  // Filter the upper bound of the parameter's generation time. Specify a date
  // string in ISO 8601 format.
  optional google.protobuf.Timestamp stop = 4;
  
  // Number of intervals to use. Default: ``500``.
  optional int32 count = 5;
  
  // Disable loading of parameters from the parameter cache. Default: ``false``.
  optional bool norealtime = 6;
  
  // Consider the raw value instead of the engineering value.
  // Default is to use the engineering value 
  optional bool useRawValue = 9;

  // Milliseconds before a sample is considered expired. This property is
  // used as a fallback, when the underlying parameter values have no
  // implicit expiration time.
  //
  // Default: ``120000``.
  optional uint64 gapTime = 10;

  // The name of the processor from which to use the parameter cache.
  // Default: ``realtime``.
  optional string processor = 7;
  
  // Specifies how to retrieve the parameters. Either ``ParameterArchive`` or
  // ``replay``. If ``replay`` is specified, a replay processor will be created
  // and data will be processed with the active Mission Database. Note that
  // this is much slower than receiving data from the ParameterArchive.
  //
  // Default: ``ParameterArchive``.
  optional string source = 8;
}

message ExportParameterValuesRequest {
  // Yamcs instance name
  optional string instance = 1;
  
  // Filter the lower bound of the parameter's generation time.
  // Specify a date string in ISO 8601 format.
  optional google.protobuf.Timestamp start = 2;
  
  // Filter the upper bound of the parameter's generation time.
  // Specify a date string in ISO 8601 format.
  optional google.protobuf.Timestamp stop = 3;
  
  // The parameters to add to the export.
  repeated string parameters = 4;

  // Identifier of a Parameter List, describing the parameters to
  // export.
  //
  // This may be used as an alternative to the ``parameters`` field.
  optional string list = 14;
  
  // Namespace used to display parameter names in csv header.
  // Only used when no parameter ids were specified.
  optional string namespace = 5;
  
  // Extra columns added to the CSV output:
  //
  //  * ``raw``: Raw parameter values
  //  * ``monitoring``: Monitoring status
  repeated string extra = 6;
  
  // Column delimiter. One of ``TAB``, ``COMMA`` or ``SEMICOLON``.
  // Default: ``TAB``.
  optional string delimiter = 7;

  // When specified, only one value each for each interval is returned.
  // The value is in milliseconds.
  optional int32 interval = 8;

  // If true, repeat the the previous value, if there is no value for
  // the current timestamp. Default: ``false``.
  optional bool preserveLastValue = 9;

  // The zero-based row number at which to start outputting results. Default: ``0``.
  optional int64 pos = 10;

  // The maximum number of returned records. Default: unlimited.
  optional int32 limit = 11;

  // The order of the returned results. Can be either ``asc`` or ``desc``.
  // Default: ``asc``.
  optional string order = 12;

  // Preferred filename, this is returned in a Content-Disposition HTTP header.
  // If unset, Yamcs will determine a name. 
  optional string filename = 13;

  // Header row to include in the response.
  // One of ``QUALIFIED_NAME``, ``SHORT_NAME`` or ``NONE``.
  // Default: ``QUALIFIED_NAME``.
  optional string header = 15;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy