Clone proto and substreams from tycho-indexer
This commit is contained in:
88
proto/sf/substreams/internal/v2/service.proto
Normal file
88
proto/sf/substreams/internal/v2/service.proto
Normal file
@@ -0,0 +1,88 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package sf.substreams.internal.v2;
|
||||
|
||||
import "sf/substreams/v1/modules.proto";
|
||||
|
||||
option go_package = "github.com/streamingfast/substreams/pb/sf/substreams/internal/v2;pbssinternal";
|
||||
|
||||
service Substreams {
|
||||
rpc ProcessRange(ProcessRangeRequest) returns (stream ProcessRangeResponse);
|
||||
}
|
||||
|
||||
message ProcessRangeRequest {
|
||||
uint64 start_block_num = 1;
|
||||
uint64 stop_block_num = 2;
|
||||
string output_module = 3;
|
||||
sf.substreams.v1.Modules modules = 4;
|
||||
uint32 stage = 5; // 0-based index of stage to execute up to
|
||||
}
|
||||
|
||||
message ProcessRangeResponse {
|
||||
reserved 1; // previously string module_name = 1;
|
||||
|
||||
reserved 2; // previously in oneof(type): BlockRange processed_range
|
||||
reserved 3; // previously in oneof(type): ProcessedBytes processed_bytes
|
||||
|
||||
oneof type {
|
||||
Failed failed = 4;
|
||||
Completed completed = 5;
|
||||
Update update = 6;
|
||||
}
|
||||
}
|
||||
|
||||
message Update {
|
||||
uint64 duration_ms = 1;
|
||||
uint64 processed_blocks = 2;
|
||||
uint64 total_bytes_read = 3;
|
||||
uint64 total_bytes_written = 4;
|
||||
|
||||
repeated ModuleStats modules_stats = 5;
|
||||
}
|
||||
|
||||
message ModuleStats {
|
||||
string name = 1;
|
||||
uint64 processing_time_ms = 2;
|
||||
uint64 store_operation_time_ms = 3;
|
||||
uint64 store_read_count = 4;
|
||||
|
||||
repeated ExternalCallMetric external_call_metrics = 5;
|
||||
|
||||
// store-specific (will be 0 on mappers)
|
||||
uint64 store_write_count = 10;
|
||||
uint64 store_deleteprefix_count = 11;
|
||||
uint64 store_size_bytes = 12;
|
||||
}
|
||||
|
||||
message ExternalCallMetric {
|
||||
string name = 1;
|
||||
uint64 count = 2;
|
||||
uint64 time_ms = 3;
|
||||
}
|
||||
|
||||
message Completed {
|
||||
repeated BlockRange all_processed_ranges = 1;
|
||||
|
||||
// TraceId represents the producer's trace id that produced the partial files.
|
||||
// This is present here so that the consumer can use it to identify the
|
||||
// right partial files that needs to be squashed together.
|
||||
//
|
||||
// The TraceId can be empty in which case it should be assumed by the tier1
|
||||
// consuming this message that the tier2 that produced those partial files
|
||||
// is not yet updated to produce a trace id and a such, the tier1 should
|
||||
// generate a legacy partial file name.
|
||||
string trace_id = 2;
|
||||
}
|
||||
|
||||
message Failed {
|
||||
string reason = 1;
|
||||
repeated string logs = 2;
|
||||
// FailureLogsTruncated is a flag that tells you if you received all the logs or if they
|
||||
// were truncated because you logged too much (fixed limit currently is set to 128 KiB).
|
||||
bool logs_truncated = 3;
|
||||
}
|
||||
|
||||
message BlockRange {
|
||||
uint64 start_block = 2;
|
||||
uint64 end_block = 3;
|
||||
}
|
||||
Reference in New Issue
Block a user