Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 75 additions & 14 deletions Apache-Arrow-Flight-Tester/protobuf/protocol.proto
Original file line number Diff line number Diff line change
Expand Up @@ -52,46 +52,54 @@ message TableMetadata {

// Configuration of a ModelarDB node.
message Configuration {
// Amount of memory to reserve for storing multivariate time series.
uint64 multivariate_reserved_memory_in_bytes = 1;
// Amount of memory to reserve for storing ingested time series.
uint64 ingested_reserved_memory_in_bytes = 1;

// Amount of memory to reserve for storing uncompressed data buffers.
uint64 uncompressed_reserved_memory_in_bytes = 2;

// Amount of memory to reserve for storing compressed data buffers.
uint64 compressed_reserved_memory_in_bytes = 3;

// The number of bytes that are required before transferring a batch of data to the remote object store.
// The number of bytes that are required before transferring a batch of data to the remote object store. If not set,
// data is only transferred on an explicit flush.
optional uint64 transfer_batch_size_in_bytes = 4;

// The number of seconds between each transfer of data to the remote object store.
optional uint64 transfer_time_in_seconds = 5;

// The approximate maximum size, in bytes, of a single WAL segment file before it is closed and a new one is started.
uint64 segment_size_threshold_in_bytes = 6;
uint64 segment_size_threshold_in_bytes = 5;

// Number of threads to allocate for converting multivariate time series to univariate time series.
uint32 ingestion_threads = 7;
uint32 ingestion_threads = 6;

// Number of threads to allocate for compressing univariate time series to segments.
uint32 compression_threads = 8;
uint32 compression_threads = 7;

// Number of threads to allocate for writing segments to a local and/or remote data folder.
uint32 writer_threads = 9;
uint32 writer_threads = 8;

// Whether the write-ahead log is enabled.
bool wal_enabled = 10;
bool wal_enabled = 9;

// Target size, in bytes, of the files produced when automatically compacting a table's storage. This is also the
// default value used when an OPTIMIZE query is executed without an explicit target size.
uint64 optimize_target_file_size_in_bytes = 10;

// Retention period, in seconds, used when automatically vacuuming a table during compaction. This is also the
// default value used when a VACUUM query is executed without an explicit retention period. Note that a very low
// value can delete files an in-progress query is still scanning.
uint64 vacuum_retention_period_in_seconds = 11;
}

// Request to update the configuration of a ModelarDB node.
message UpdateConfiguration {
enum Setting {
MULTIVARIATE_RESERVED_MEMORY_IN_BYTES = 0;
INGESTED_RESERVED_MEMORY_IN_BYTES = 0;
UNCOMPRESSED_RESERVED_MEMORY_IN_BYTES = 1;
COMPRESSED_RESERVED_MEMORY_IN_BYTES = 2;
TRANSFER_BATCH_SIZE_IN_BYTES = 3;
TRANSFER_TIME_IN_SECONDS = 4;
SEGMENT_SIZE_THRESHOLD_IN_BYTES = 5;
SEGMENT_SIZE_THRESHOLD_IN_BYTES = 4;
OPTIMIZE_TARGET_FILE_SIZE_IN_BYTES = 5;
VACUUM_RETENTION_PERIOD_IN_SECONDS = 6;
}

// Setting to update in the configuration.
Expand All @@ -100,3 +108,56 @@ message UpdateConfiguration {
// New value for the setting.
optional uint64 new_value = 2;
}

// Metadata identifying a single node in a ModelarDB cluster.
message NodeMetadata {
// Apache Arrow Flight URL that uniquely identifies the node.
string url = 1;

// Mode the node was started in, either "edge" or "cloud".
string mode = 2;
}

// The nodes that are currently part of a ModelarDB cluster.
message ClusterNodes {
repeated NodeMetadata nodes = 1;
}

// Resource usage metrics for a single ModelarDB node.
message NodeMetrics {
// Percentage of the CPU that is currently in use across all cores.
double cpu_usage_percentage = 1;

// Number of logical CPUs available to the node.
uint32 cpu_count = 2;

// Amount of memory currently in use on the node.
uint64 used_memory_in_bytes = 3;

// Total amount of memory on the node.
uint64 total_memory_in_bytes = 4;

// Amount of disk space currently in use on the disk holding the local data folder.
uint64 used_disk_space_in_bytes = 5;

// Total amount of disk space on the disk holding the local data folder.
uint64 total_disk_space_in_bytes = 6;

// Amount of memory currently in use for storing ingested time series.
uint64 ingested_used_memory_in_bytes = 7;

// Total amount of memory reserved for storing ingested time series.
uint64 ingested_reserved_memory_in_bytes = 8;

// Amount of memory currently in use for storing uncompressed data buffers.
uint64 uncompressed_used_memory_in_bytes = 9;

// Total amount of memory reserved for storing uncompressed data buffers.
uint64 uncompressed_reserved_memory_in_bytes = 10;

// Amount of memory currently in use for storing compressed data buffers.
uint64 compressed_used_memory_in_bytes = 11;

// Total amount of memory reserved for storing compressed data buffers.
uint64 compressed_reserved_memory_in_bytes = 12;
}
26 changes: 16 additions & 10 deletions Apache-Arrow-Flight-Tester/protobuf/protocol_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading