| // Copied from (without bq_table annotations) |
| // https://team.git.corp.google.com/foundry-x/re-client/+/refs/heads/master/api/proxy/log.proto |
| |
| syntax = "proto3"; |
| |
| package proxy; |
| |
| import "go/api/command/command.proto"; |
| |
| message LogDump { |
| // The log records in the dump. |
| repeated LogRecord records = 1; |
| } |
| |
| // The full record of a single command execution. |
| message LogRecord { |
| // The executed command. |
| cmd.Command command = 1; |
| |
| // Final command result. |
| cmd.CommandResult result = 2; |
| |
| // Properties of an remotely executed/cached action. |
| RemoteMetadata remote_metadata = 3; |
| |
| // Properties relevant to local execution. |
| LocalMetadata local_metadata = 4; |
| |
| // TODO(olaola): gRPC log records go here, as well as other proxy stuff. |
| } |
| |
| message RerunMetadata { |
| // Current attempt number |
| int64 attempt = 1; |
| |
| // The remote execution/cache result. |
| cmd.CommandResult result = 2; |
| |
| // The total number of output files (incl symlinks). |
| int32 num_output_files = 3; |
| |
| // The total number of output directories (incl symlinks, but not recursive). |
| int32 num_output_directories = 4; |
| |
| // The overall number of bytes from all the output files (incl. stdout/stderr, |
| // but not symlinks). |
| int64 total_output_bytes = 5; |
| |
| // Output file digests. |
| map<string, string> output_file_digests = 6; |
| |
| // Output directory digests. |
| map<string, string> output_directory_digests = 7; |
| |
| // Sum of size in bytes (excluding metadata) of the blobs that were |
| // downloaded. |
| int64 logical_bytes_downloaded = 8; |
| |
| // Sum of size in bytes (excluding metadata) downloaded. May differ from |
| // logical_bytes_downloaded due to compression or retries. |
| int64 real_bytes_downloaded = 9; |
| |
| // Times of various SDK events. |
| map<string, cmd.TimeInterval> event_times = 10; |
| } |
| |
| // Properties of an remotely executed/cached action. |
| message RemoteMetadata { |
| // The remote execution/cache result. |
| cmd.CommandResult result = 1; |
| |
| // Whether the action was a remote cache hit. |
| bool cache_hit = 2; |
| |
| // Number of overall action input files. |
| int32 num_input_files = 3; |
| |
| // Number of overall action input files. |
| int32 num_input_directories = 4; |
| |
| // Total bytes of all the inputs. |
| int64 total_input_bytes = 5; |
| |
| // The total number of output files (incl symlinks). |
| int32 num_output_files = 9; |
| |
| // The total number of output directories (incl symlinks, but not recursive). |
| int32 num_output_directories = 10; |
| |
| // The overall number of bytes from all the output files (incl. stdout/stderr, |
| // but not symlinks). |
| int64 total_output_bytes = 11; |
| |
| // The digest of the RE command proto, in canonical format <hash>/<size>. |
| string command_digest = 6; |
| |
| // The digest of the RE action proto, in canonical format <hash>/<size>. |
| string action_digest = 7; |
| |
| // Times of various SDK events. |
| map<string, cmd.TimeInterval> event_times = 8; |
| |
| // Sum of size in bytes (exclusing metadata) of the blobs that were uploaded. |
| int64 logical_bytes_uploaded = 13; |
| |
| // Sum of size in bytes (excluding metadata) uploaded. May differ from |
| // logical_bytes_uploaded due to compression or retries. |
| int64 real_bytes_uploaded = 14; |
| |
| // Sum of size in bytes (exclusing metadata) of the blobs that were |
| // downloaded. |
| int64 logical_bytes_downloaded = 15; |
| |
| // Sum of size in bytes (excluding metadata) downloaded. May differ from |
| // logical_bytes_downloaded due to compression or retries. |
| int64 real_bytes_downloaded = 16; |
| |
| // Contains information about results from the rerun of the action. |
| repeated RerunMetadata rerun_metadata = 17; |
| |
| // Output File digests. In compare mode where numRetriesIfMismatched > 1, this |
| // will be the output digests from the first remote-execution run. |
| map<string, string> output_file_digests = 18; |
| |
| // Output directory digests. |
| map<string, string> output_directory_digests = 19; |
| |
| reserved 12; |
| |
| // TODO(olaola): Add other fields, such as CAS misses or bytes uploaded. |
| } |
| |
| // Properties relevant to local execution. |
| message LocalMetadata { |
| // The local execution result. |
| cmd.CommandResult result = 1; |
| |
| // Whether the action was locally executed. |
| bool executed_locally = 2; |
| |
| // For LERC, whether the remote cache hit was valid (vs dep file digests). |
| bool valid_cache_hit = 3; |
| |
| // Whether the remote cache was updated with the local result. |
| bool updated_cache = 4; |
| |
| // Verification results, if exist. |
| Verification verification = 5; |
| |
| // Times of various local events. |
| map<string, cmd.TimeInterval> event_times = 6; |
| |
| // All environment variables set when the action was requested from the proxy. |
| map<string, string> environment = 7; |
| |
| // Command labels as passed to the proxy. |
| map<string, string> labels = 8; |
| |
| // Contains information about results from the rerun of the action. |
| repeated RerunMetadata rerun_metadata = 9; |
| } |
| |
| message Verification { |
| message Mismatch { |
| // The output path. |
| string path = 1; |
| |
| // WARNING: Deprecated. Use remote_digests instead. |
| // The digest given by remote execution (or cache), if exists. |
| string remote_digest = 2 [deprecated = true]; |
| |
| // WARNING: Deprecated. Use local_digests instead. |
| // The digest produced locally, if exists. |
| string local_digest = 3 [deprecated = true]; |
| |
| // Determines if the action inherently non-deterministic. |
| bool non_deterministic = 4; |
| |
| // Lists the various output digests we got from multiple remote-execution |
| // retries. |
| repeated string remote_digests = 5; |
| |
| // Action digest that produced the mismatching remote digests. |
| string action_digest = 6; |
| |
| // Lists the various output digests we got from multiple local reruns |
| repeated string local_digests = 7; |
| } |
| |
| // Any SHA mismatches in the action. |
| repeated Mismatch mismatches = 1; |
| |
| // The number of overall mismatches. |
| int32 total_mismatches = 2; |
| |
| // The number of digests verified. |
| int64 total_verified = 3; |
| } |
| |
| // Information and metrics relative to a single instance of reproxy. |
| message ProxyInfo { |
| // Times of various singular events in the lifetime of reproxy. |
| map<string, cmd.TimeInterval> event_times = 1; |
| // Metrics relevant to a single reproxy. |
| map<string, Metric> metrics = 2; |
| // Flag values from environment variables and command-line args. |
| map<string, string> flags = 3; |
| } |
| |
| // Generic message to hold data relevant to a specific metric. |
| message Metric { |
| // A single value for the metric. |
| oneof value { |
| int64 int64_value = 1; |
| bool bool_value = 2; |
| double double_value = 3; |
| } |
| } |