blob: 3651c2a883205c22c5e3244fbe002de58c4e2296 [file]
namespace java com.jetbrains.python.profiler
struct FuncStat {
1: required string file, // File name of the executed function
2: optional i32 line, // Line number of the executed function
3: required string func_name, // Name of the executed function
4: required i32 calls_count, // number of times the executed function is called.
5: required double total_time, // total time spent in the executed function. See Clock Types to interpret this value correctly.
6: required double own_time, // total time spent in the executed function, excluding subcalls. See Clock Types to interpret this value correctly.
}
struct Function {
1: required FuncStat func_stat,
2: required list<FuncStat> callers, // list of functions called from the executed function.
}
struct Stats {
1: required list<Function> func_stats
}
struct CallTreeStat {
1: required i32 count,
2: required string name,
3: required list<CallTreeStat> children,
4: required map<i32, i32> line_count, // number of times a line inside the frame was executed
}
struct TreeStats {
1: required double sampling_interval,
2: optional CallTreeStat call_tree,
}
struct Stats_Req {}
struct SaveSnapshot_Req {
1: required string filepath
}
struct ProfilerRequest {
1: required i32 id,
2: optional Stats_Req ystats,
3: optional SaveSnapshot_Req save_snapshot,
}
struct ProfilerResponse {
1: required i32 id,
2: optional Stats ystats,
3: optional TreeStats tree_stats,
4: optional string snapshot_filepath,
}