1 syntax = "proto3"; 2 3 package tensorflow; 4 option cc_enable_arenas = true; 5 option java_outer_classname = "DebugProtos"; 6 option java_multiple_files = true; 7 option java_package = "org.tensorflow.framework"; 8 9 // EXPERIMENTAL. Option for watching a node. 10 message DebugTensorWatch { 11 // Name of the node to watch. 12 string node_name = 1; 13 14 // Output slot to watch. 15 // The semantics of output_slot == -1 is that the node is only watched for 16 // completion, but not for any output tensors. See NodeCompletionCallback 17 // in debug_gateway.h. 18 // TODO(cais): Implement this semantics. 19 int32 output_slot = 2; 20 21 // Name(s) of the debugging op(s). 22 // One or more than one probes on a tensor. 23 // e.g., {"DebugIdentity", "DebugNanCount"} 24 repeated string debug_ops = 3; 25 26 // URL(s) for debug targets(s). 27 // 28 // Supported URL formats are: 29 // - file:///foo/tfdbg_dump: Writes out Event content to file 30 // /foo/tfdbg_dump. Assumes all directories can be created if they don't 31 // already exist. 32 // - grpc://localhost:11011: Sends an RPC request to an EventListener 33 // service running at localhost:11011 with the event. 34 // - memcbk:///event_key: Routes tensors to clients using the 35 // callback registered with the DebugCallbackRegistry for event_key. 36 // 37 // Each debug op listed in debug_ops will publish its output tensor (debug 38 // signal) to all URLs in debug_urls. 39 // 40 // N.B. Session::Run() supports concurrent invocations of the same inputs 41 // (feed keys), outputs and target nodes. If such concurrent invocations 42 // are to be debugged, the callers of Session::Run() must use distinct 43 // debug_urls to make sure that the streamed or dumped events do not overlap 44 // among the invocations. 45 // TODO(cais): More visible documentation of this in g3docs. 46 repeated string debug_urls = 4; 47 48 // Do not error out if debug op creation fails (e.g., due to dtype 49 // incompatibility). Instead, just log the failure. 50 bool tolerate_debug_op_creation_failures = 5; 51 } 52 53 // EXPERIMENTAL. Options for initializing DebuggerState. 54 message DebugOptions { 55 // Debugging options 56 repeated DebugTensorWatch debug_tensor_watch_opts = 4; 57 58 // Caller-specified global step count. 59 // Note that this is distinct from the session run count and the executor 60 // step count. 61 int64 global_step = 10; 62 } 63 64 message DebuggedSourceFile { 65 // The host name on which a source code file is located. 66 string host = 1; 67 68 // Path to the source code file. 69 string file_path = 2; 70 71 // The timestamp at which the source code file is last modified. 72 int64 last_modified = 3; 73 74 // Byte size of the file. 75 int64 bytes = 4; 76 77 // Line-by-line content of the source code file. 78 repeated string lines = 5; 79 } 80 81 message DebuggedSourceFiles { 82 // A collection of source code files. 83 repeated DebuggedSourceFile source_files = 1; 84 } 85