|
| 1 | +syntax = "proto3"; |
| 2 | + |
| 3 | +package tensorboard; |
| 4 | + |
| 5 | +option cc_enable_arenas = true; |
| 6 | +option java_outer_classname = "GraphDebugInfoProtos"; |
| 7 | +option java_multiple_files = true; |
| 8 | +option java_package = "org.tensorflow.framework"; |
| 9 | +option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; |
| 10 | + |
| 11 | +message GraphDebugInfo { |
| 12 | + // This represents a file/line location in the source code. |
| 13 | + message FileLineCol { |
| 14 | + // File name index, which can be used to retrieve the file name string from |
| 15 | + // `files`. The value should be between 0 and (len(files)-1) |
| 16 | + int32 file_index = 1; |
| 17 | + |
| 18 | + // Line number in the file. |
| 19 | + int32 line = 2; |
| 20 | + |
| 21 | + // Col number in the file line. |
| 22 | + int32 col = 3; |
| 23 | + |
| 24 | + // Name of function contains the file line. |
| 25 | + string func = 4; |
| 26 | + |
| 27 | + // Source code contained in this file line. |
| 28 | + string code = 5; |
| 29 | + } |
| 30 | + |
| 31 | + // This represents a stack trace which is a ordered list of `FileLineCol`. |
| 32 | + message StackTrace { |
| 33 | + // Each line in the stack trace. |
| 34 | + repeated FileLineCol file_line_cols = 1; |
| 35 | + } |
| 36 | + |
| 37 | + // This stores all the source code file names and can be indexed by the |
| 38 | + // `file_index`. |
| 39 | + repeated string files = 1; |
| 40 | + |
| 41 | + // This maps a node name to a stack trace in the source code. |
| 42 | + // The map key is a mangling of the containing function and op name with |
| 43 | + // syntax: |
| 44 | + // op.name '@' func_name |
| 45 | + // For ops in the top-level graph, the func_name is the empty string. |
| 46 | + // Note that op names are restricted to a small number of characters which |
| 47 | + // exclude '@', making it impossible to collide keys of this form. Function |
| 48 | + // names accept a much wider set of characters. |
| 49 | + // It would be preferable to avoid mangling and use a tuple key of (op.name, |
| 50 | + // func_name), but this is not supported with protocol buffers. |
| 51 | + map<string, StackTrace> traces = 2; |
| 52 | +} |
0 commit comments