• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1syntax = "proto3";
2
3package tensorflow;
4
5option cc_enable_arenas = true;
6option java_outer_classname = "GraphDebugInfoProtos";
7option java_multiple_files = true;
8option java_package = "org.tensorflow.framework";
9option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto";
10
11message 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}
53