1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- syntax = "proto3";
- message Metadata {
- // this format is versioned
- int32 version = 1;
- // complete command line used to write this message
- string cmdline = 2;
- // repository's name
- string repository = 3;
- // timestamp of the first analysed commit
- int64 begin_unix_time = 4;
- // timestamp of the last analysed commit
- int64 end_unix_time = 5;
- // how many days are in each band [burndown_project, burndown_file, burndown_developer]
- int32 granularity = 6;
- // how frequently we measure the state of each band [burndown_project, burndown_file, burndown_developer]
- int32 sampling = 7;
- }
- message BurndownSparseMatrixRow {
- // the first `len(column)` elements are stored,
- // the rest `number_of_columns - len(column)` values are zeros
- repeated uint32 columns = 1;
- }
- message BurndownSparseMatrix {
- string name = 1;
- int32 number_of_rows = 2;
- int32 number_of_columns = 3;
- // `len(row)` matches `number_of_rows`
- repeated BurndownSparseMatrixRow rows = 4;
- }
- message CompressedSparseRowMatrix {
- int32 number_of_rows = 1;
- int32 number_of_columns = 2;
- // https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR.2C_CRS_or_Yale_format.29
- repeated int64 data = 3;
- repeated int32 indices = 4;
- repeated int64 indptr = 5;
- }
- message Couples {
- // name of each `matrix`'s row and column
- repeated string index = 1;
- // is always square
- CompressedSparseRowMatrix matrix = 2;
- }
- message TouchedFiles {
- repeated int32 files = 1; // values correspond to `file_couples::index`
- }
- message DeveloperTouchedFiles {
- // order corresponds to `developer_couples::index`
- repeated TouchedFiles developers = 1;
- }
- message AnalysisResults {
- // these two are always included
- Metadata header = 1;
- BurndownSparseMatrix burndown_project = 2;
- // this is included if `-files` was specified
- repeated BurndownSparseMatrix burndown_files = 3;
- // these two are included if `-people` was specified
- repeated BurndownSparseMatrix burndown_developers = 4;
- // rows and cols order correspond to `burndown_developer`
- CompressedSparseRowMatrix developers_interaction = 5;
- // these three are included if `-couples` was specified
- Couples file_couples = 6;
- Couples developer_couples = 7;
- DeveloperTouchedFiles touched_files = 8;
- }
|