|  | syntax = "proto3"; | 
|  |  | 
|  | package cabe.v1; | 
|  | option go_package = "go.skia.org/infra/cabe/go/proto"; | 
|  |  | 
|  | import "cabe/proto/v1/spec.proto"; | 
|  |  | 
|  | // AnalysisMetadata defines the metadata of an analysis. | 
|  | message AnalysisMetadata { | 
|  | // The report_id of an analysis | 
|  | string report_id = 1; | 
|  |  | 
|  | AnalysisDiagnostics diagnostics = 2; | 
|  | } | 
|  |  | 
|  | // AnalysisDiagnostics contains diagnostic messages generated by the Analyzer about | 
|  | // the replica task pairs and individual tasks during its analysis. | 
|  | message AnalysisDiagnostics { | 
|  | // Things that had to be excluded from the analysis, and why. | 
|  | repeated SwarmingTaskDiagnostics excluded_swarming_tasks = 1; | 
|  | repeated ReplicaDiagnostics excluded_replicas = 2; | 
|  |  | 
|  | // Things that were included in the analysis as expected. | 
|  | repeated SwarmingTaskDiagnostics included_swarming_tasks = 3; | 
|  | repeated ReplicaDiagnostics included_replicas = 4; | 
|  | } | 
|  |  | 
|  | message SwarmingTaskId { | 
|  | string task_id = 1; | 
|  | string project = 2; | 
|  | } | 
|  |  | 
|  | // SwarmingTaskDiagnostics contains task-specific diagnostic messages | 
|  | // generated by the Analyzer. | 
|  | message SwarmingTaskDiagnostics { | 
|  | SwarmingTaskId id = 1; | 
|  | repeated string message = 2; | 
|  | } | 
|  |  | 
|  | // ReplicaDiagnostics contains replica, or task pair-specific diagnostic messages | 
|  | // generated by the Analyzer. | 
|  | message ReplicaDiagnostics { | 
|  | int32 replica_number = 1; | 
|  | SwarmingTaskId control_task = 2; | 
|  | SwarmingTaskId treatment_task = 3; | 
|  | repeated string message = 4; | 
|  | } | 
|  |  | 
|  | // AnalysisResult defines the result of an analysis | 
|  | message AnalysisResult { | 
|  | // Analysis result id (PK) | 
|  | string result_id = 1; | 
|  |  | 
|  | // Analysis experiment spec | 
|  | ExperimentSpec experiment_spec = 2; | 
|  |  | 
|  | // The metadata of the analysis | 
|  | AnalysisMetadata analysis_metadata = 3; | 
|  |  | 
|  | // The calculated statistic of the analysis | 
|  | Statistic statistic = 4; | 
|  | } | 
|  |  | 
|  | // Statistic defines the statistic of an analysis | 
|  | message Statistic { | 
|  | // The lower bound of the analysis result | 
|  | double lower = 1; | 
|  |  | 
|  | // The upper bound of the analysis result | 
|  | double upper = 2; | 
|  |  | 
|  | // The P value of the analysis result | 
|  | double p_value = 3; | 
|  |  | 
|  | // The defined significance level to calculate the lower and upper bound | 
|  | double significance_level = 4; | 
|  |  | 
|  | // The point estimate of the analysis result | 
|  | double point_estimate = 6; | 
|  |  | 
|  | // The median of control arm of the analysis result | 
|  | double control_median = 7; | 
|  |  | 
|  | // The median of treatment arm of the analysis result | 
|  | double treatment_median = 8; | 
|  | } |