// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/protobuf/debug.proto

package org.tensorflow.proto.framework;

public interface DebugTensorWatchOrBuilder extends
    // @@protoc_insertion_point(interface_extends:tensorflow.DebugTensorWatch)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Name of the node to watch.
   * Use "*" for wildcard. But note: currently, regex is not supported in
   * general.
   * </pre>
   *
   * <code>string node_name = 1;</code>
   */
  java.lang.String getNodeName();
  /**
   * <pre>
   * Name of the node to watch.
   * Use "*" for wildcard. But note: currently, regex is not supported in
   * general.
   * </pre>
   *
   * <code>string node_name = 1;</code>
   */
  com.google.protobuf.ByteString
      getNodeNameBytes();

  /**
   * <pre>
   * Output slot to watch.
   * The semantics of output_slot == -1 is that all outputs of the node
   * will be watched (i.e., a wildcard).
   * Other negative values of output_slot are invalid and will lead to
   * errors currently.
   * </pre>
   *
   * <code>int32 output_slot = 2;</code>
   */
  int getOutputSlot();

  /**
   * <pre>
   * Name(s) of the debugging op(s).
   * One or more than one probes on a tensor.
   * e.g., {"DebugIdentity", "DebugNanCount"}
   * </pre>
   *
   * <code>repeated string debug_ops = 3;</code>
   */
  java.util.List<java.lang.String>
      getDebugOpsList();
  /**
   * <pre>
   * Name(s) of the debugging op(s).
   * One or more than one probes on a tensor.
   * e.g., {"DebugIdentity", "DebugNanCount"}
   * </pre>
   *
   * <code>repeated string debug_ops = 3;</code>
   */
  int getDebugOpsCount();
  /**
   * <pre>
   * Name(s) of the debugging op(s).
   * One or more than one probes on a tensor.
   * e.g., {"DebugIdentity", "DebugNanCount"}
   * </pre>
   *
   * <code>repeated string debug_ops = 3;</code>
   */
  java.lang.String getDebugOps(int index);
  /**
   * <pre>
   * Name(s) of the debugging op(s).
   * One or more than one probes on a tensor.
   * e.g., {"DebugIdentity", "DebugNanCount"}
   * </pre>
   *
   * <code>repeated string debug_ops = 3;</code>
   */
  com.google.protobuf.ByteString
      getDebugOpsBytes(int index);

  /**
   * <pre>
   * URL(s) for debug targets(s).
   * Supported URL formats are:
   *   - file:///foo/tfdbg_dump: Writes out Event content to file
   *     /foo/tfdbg_dump.  Assumes all directories can be created if they don't
   *     already exist.
   *   - grpc://localhost:11011: Sends an RPC request to an EventListener
   *     service running at localhost:11011 with the event.
   *   - memcbk:///event_key: Routes tensors to clients using the
   *     callback registered with the DebugCallbackRegistry for event_key.
   * Each debug op listed in debug_ops will publish its output tensor (debug
   * signal) to all URLs in debug_urls.
   * N.B. Session::Run() supports concurrent invocations of the same inputs
   * (feed keys), outputs and target nodes. If such concurrent invocations
   * are to be debugged, the callers of Session::Run() must use distinct
   * debug_urls to make sure that the streamed or dumped events do not overlap
   * among the invocations.
   * TODO(cais): More visible documentation of this in g3docs.
   * </pre>
   *
   * <code>repeated string debug_urls = 4;</code>
   */
  java.util.List<java.lang.String>
      getDebugUrlsList();
  /**
   * <pre>
   * URL(s) for debug targets(s).
   * Supported URL formats are:
   *   - file:///foo/tfdbg_dump: Writes out Event content to file
   *     /foo/tfdbg_dump.  Assumes all directories can be created if they don't
   *     already exist.
   *   - grpc://localhost:11011: Sends an RPC request to an EventListener
   *     service running at localhost:11011 with the event.
   *   - memcbk:///event_key: Routes tensors to clients using the
   *     callback registered with the DebugCallbackRegistry for event_key.
   * Each debug op listed in debug_ops will publish its output tensor (debug
   * signal) to all URLs in debug_urls.
   * N.B. Session::Run() supports concurrent invocations of the same inputs
   * (feed keys), outputs and target nodes. If such concurrent invocations
   * are to be debugged, the callers of Session::Run() must use distinct
   * debug_urls to make sure that the streamed or dumped events do not overlap
   * among the invocations.
   * TODO(cais): More visible documentation of this in g3docs.
   * </pre>
   *
   * <code>repeated string debug_urls = 4;</code>
   */
  int getDebugUrlsCount();
  /**
   * <pre>
   * URL(s) for debug targets(s).
   * Supported URL formats are:
   *   - file:///foo/tfdbg_dump: Writes out Event content to file
   *     /foo/tfdbg_dump.  Assumes all directories can be created if they don't
   *     already exist.
   *   - grpc://localhost:11011: Sends an RPC request to an EventListener
   *     service running at localhost:11011 with the event.
   *   - memcbk:///event_key: Routes tensors to clients using the
   *     callback registered with the DebugCallbackRegistry for event_key.
   * Each debug op listed in debug_ops will publish its output tensor (debug
   * signal) to all URLs in debug_urls.
   * N.B. Session::Run() supports concurrent invocations of the same inputs
   * (feed keys), outputs and target nodes. If such concurrent invocations
   * are to be debugged, the callers of Session::Run() must use distinct
   * debug_urls to make sure that the streamed or dumped events do not overlap
   * among the invocations.
   * TODO(cais): More visible documentation of this in g3docs.
   * </pre>
   *
   * <code>repeated string debug_urls = 4;</code>
   */
  java.lang.String getDebugUrls(int index);
  /**
   * <pre>
   * URL(s) for debug targets(s).
   * Supported URL formats are:
   *   - file:///foo/tfdbg_dump: Writes out Event content to file
   *     /foo/tfdbg_dump.  Assumes all directories can be created if they don't
   *     already exist.
   *   - grpc://localhost:11011: Sends an RPC request to an EventListener
   *     service running at localhost:11011 with the event.
   *   - memcbk:///event_key: Routes tensors to clients using the
   *     callback registered with the DebugCallbackRegistry for event_key.
   * Each debug op listed in debug_ops will publish its output tensor (debug
   * signal) to all URLs in debug_urls.
   * N.B. Session::Run() supports concurrent invocations of the same inputs
   * (feed keys), outputs and target nodes. If such concurrent invocations
   * are to be debugged, the callers of Session::Run() must use distinct
   * debug_urls to make sure that the streamed or dumped events do not overlap
   * among the invocations.
   * TODO(cais): More visible documentation of this in g3docs.
   * </pre>
   *
   * <code>repeated string debug_urls = 4;</code>
   */
  com.google.protobuf.ByteString
      getDebugUrlsBytes(int index);

  /**
   * <pre>
   * Do not error out if debug op creation fails (e.g., due to dtype
   * incompatibility). Instead, just log the failure.
   * </pre>
   *
   * <code>bool tolerate_debug_op_creation_failures = 5;</code>
   */
  boolean getTolerateDebugOpCreationFailures();
}
