// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: grpc/instrumentation/v1alpha/monitoring.proto

package io.grpc.instrumentation.v1alpha;

public interface StatsRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:grpc.instrumentation.v1alpha.StatsRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * An optional set of ViewDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If measurement_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string view_names = 1;</code>
   */
  java.util.List<java.lang.String>
      getViewNamesList();
  /**
   * <pre>
   * An optional set of ViewDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If measurement_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string view_names = 1;</code>
   */
  int getViewNamesCount();
  /**
   * <pre>
   * An optional set of ViewDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If measurement_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string view_names = 1;</code>
   */
  java.lang.String getViewNames(int index);
  /**
   * <pre>
   * An optional set of ViewDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If measurement_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string view_names = 1;</code>
   */
  com.google.protobuf.ByteString
      getViewNamesBytes(int index);

  /**
   * <pre>
   * An optional set of MeasurementDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If view_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string measurement_names = 2;</code>
   */
  java.util.List<java.lang.String>
      getMeasurementNamesList();
  /**
   * <pre>
   * An optional set of MeasurementDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If view_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string measurement_names = 2;</code>
   */
  int getMeasurementNamesCount();
  /**
   * <pre>
   * An optional set of MeasurementDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If view_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string measurement_names = 2;</code>
   */
  java.lang.String getMeasurementNames(int index);
  /**
   * <pre>
   * An optional set of MeasurementDescriptor names. Only Views using these
   * descriptors will be sent back in the response. If no names are provided,
   * then all Views present in the client system will be included in every
   * response. If view_names is also provided, then Views matching the
   * intersection of the two are returned.
   * TODO(aveitch): Consider making this a list of regexes or prefix matches in
   * the future.
   * </pre>
   *
   * <code>repeated string measurement_names = 2;</code>
   */
  com.google.protobuf.ByteString
      getMeasurementNamesBytes(int index);

  /**
   * <pre>
   * By default, the MeasurementDescriptors and ViewDescriptors corresponding to
   * the Views that are returned in a StatsResponse will be included in the
   * first such response. Set this to true to have them not sent.
   * </pre>
   *
   * <code>bool dont_include_descriptors_in_first_response = 3;</code>
   */
  boolean getDontIncludeDescriptorsInFirstResponse();
}
