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

package org.tensorflow.proto.util;

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

  /**
   * <pre>
   * Unique ID of the context that the executed op(s) belong to (e.g., a
   * compiled concrete tf.function).
   * </pre>
   *
   * <code>string tfdbg_context_id = 1;</code>
   */
  java.lang.String getTfdbgContextId();
  /**
   * <pre>
   * Unique ID of the context that the executed op(s) belong to (e.g., a
   * compiled concrete tf.function).
   * </pre>
   *
   * <code>string tfdbg_context_id = 1;</code>
   */
  com.google.protobuf.ByteString
      getTfdbgContextIdBytes();

  /**
   * <pre>
   * Name of the op (applicable only in the case of the `FULL_TENSOR` trace
   * level).
   * </pre>
   *
   * <code>string op_name = 2;</code>
   */
  java.lang.String getOpName();
  /**
   * <pre>
   * Name of the op (applicable only in the case of the `FULL_TENSOR` trace
   * level).
   * </pre>
   *
   * <code>string op_name = 2;</code>
   */
  com.google.protobuf.ByteString
      getOpNameBytes();

  /**
   * <pre>
   * Output slot of the tensor (applicable only in the case of the `FULL_TENSOR`
   * trace level).
   * </pre>
   *
   * <code>int32 output_slot = 3;</code>
   */
  int getOutputSlot();

  /**
   * <pre>
   * Type of the tensor value encapsulated in this proto.
   * </pre>
   *
   * <code>.tensorflow.TensorDebugMode tensor_debug_mode = 4;</code>
   */
  int getTensorDebugModeValue();
  /**
   * <pre>
   * Type of the tensor value encapsulated in this proto.
   * </pre>
   *
   * <code>.tensorflow.TensorDebugMode tensor_debug_mode = 4;</code>
   */
  org.tensorflow.proto.util.TensorDebugMode getTensorDebugMode();

  /**
   * <pre>
   * Tensor value in the type described by `tensor_value_type`.
   * This tensor may summarize the value of a single intermediate op of the
   * graph, or those of multiple intermediate tensors.
   * </pre>
   *
   * <code>.tensorflow.TensorProto tensor_proto = 5;</code>
   */
  boolean hasTensorProto();
  /**
   * <pre>
   * Tensor value in the type described by `tensor_value_type`.
   * This tensor may summarize the value of a single intermediate op of the
   * graph, or those of multiple intermediate tensors.
   * </pre>
   *
   * <code>.tensorflow.TensorProto tensor_proto = 5;</code>
   */
  org.tensorflow.proto.framework.TensorProto getTensorProto();
  /**
   * <pre>
   * Tensor value in the type described by `tensor_value_type`.
   * This tensor may summarize the value of a single intermediate op of the
   * graph, or those of multiple intermediate tensors.
   * </pre>
   *
   * <code>.tensorflow.TensorProto tensor_proto = 5;</code>
   */
  org.tensorflow.proto.framework.TensorProtoOrBuilder getTensorProtoOrBuilder();

  /**
   * <pre>
   * Name of the device that the op belongs to.
   * </pre>
   *
   * <code>string device_name = 6;</code>
   */
  java.lang.String getDeviceName();
  /**
   * <pre>
   * Name of the device that the op belongs to.
   * </pre>
   *
   * <code>string device_name = 6;</code>
   */
  com.google.protobuf.ByteString
      getDeviceNameBytes();
}
