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