From 7fc3f5282bcba6232aca0269788e6561a6e745c8 Mon Sep 17 00:00:00 2001 From: Adam Hendel Date: Wed, 18 Dec 2024 10:12:32 -0600 Subject: [PATCH 1/4] Stack updates (#1084) --- tembo-stacks/Cargo.lock | 2 +- tembo-stacks/Cargo.toml | 2 +- tembo-stacks/src/apps/embeddings.yaml | 4 ++-- tembo-stacks/src/stacks/specs/machine_learning.yaml | 4 ++-- tembo-stacks/src/stacks/specs/message_queue.yaml | 8 ++++---- tembo-stacks/src/stacks/specs/paradedb.yaml | 4 ++-- tembo-stacks/src/stacks/specs/vectordb.yaml | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/tembo-stacks/Cargo.lock b/tembo-stacks/Cargo.lock index 1cf85d6f1..ec988b036 100644 --- a/tembo-stacks/Cargo.lock +++ b/tembo-stacks/Cargo.lock @@ -2471,7 +2471,7 @@ dependencies = [ [[package]] name = "tembo-stacks" -version = "0.22.0" +version = "0.22.1" dependencies = [ "anyhow", "clap", diff --git a/tembo-stacks/Cargo.toml b/tembo-stacks/Cargo.toml index 752ef7ccb..d59b7dd89 100644 --- a/tembo-stacks/Cargo.toml +++ b/tembo-stacks/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tembo-stacks" description = "Tembo Stacks for Postgres" -version = "0.22.0" +version = "0.22.1" authors = ["tembo.io"] edition = "2021" license = "Apache-2.0" diff --git a/tembo-stacks/src/apps/embeddings.yaml b/tembo-stacks/src/apps/embeddings.yaml index df1d97e6e..9ce0a5607 100644 --- a/tembo-stacks/src/apps/embeddings.yaml +++ b/tembo-stacks/src/apps/embeddings.yaml @@ -57,7 +57,7 @@ trunk_installs: - name: pg_cron version: 1.6.2 - name: pgmq - version: 1.4.2 + version: 1.5.0 - name: pgvector version: 0.7.4 - name: vectorize @@ -74,7 +74,7 @@ extensions: locations: - database: postgres enabled: true - version: 1.4.2 + version: 1.5.0 - name: vector locations: - database: postgres diff --git a/tembo-stacks/src/stacks/specs/machine_learning.yaml b/tembo-stacks/src/stacks/specs/machine_learning.yaml index 411337eca..ed51ae24a 100644 --- a/tembo-stacks/src/stacks/specs/machine_learning.yaml +++ b/tembo-stacks/src/stacks/specs/machine_learning.yaml @@ -32,7 +32,7 @@ trunk_installs: - name: pg_cron version: 1.6.2 - name: pgmq - version: 1.4.4 + version: 1.5.0 - name: vectorize version: 0.18.2 - name: pg_later @@ -63,7 +63,7 @@ extensions: locations: - database: postgres enabled: true - version: 1.4.4 + version: 1.5.0 - name: vectorize locations: - database: postgres diff --git a/tembo-stacks/src/stacks/specs/message_queue.yaml b/tembo-stacks/src/stacks/specs/message_queue.yaml index 3fcef5e38..9a90da31d 100644 --- a/tembo-stacks/src/stacks/specs/message_queue.yaml +++ b/tembo-stacks/src/stacks/specs/message_queue.yaml @@ -52,7 +52,7 @@ appServices: memory: 100Mi trunk_installs: - name: pgmq - version: 1.4.4 + version: 1.5.0 - name: pg_partman version: 5.0.1 - name: parquet_s3_fdw @@ -64,13 +64,13 @@ extensions: locations: - database: postgres enabled: true - version: 1.4.4 + version: 1.5.0 - database: app enabled: true - version: 1.4.4 + version: 1.5.0 - database: template1 enabled: true - version: 1.4.4 + version: 1.5.0 - name: pg_partman locations: - database: postgres diff --git a/tembo-stacks/src/stacks/specs/paradedb.yaml b/tembo-stacks/src/stacks/specs/paradedb.yaml index 57431ddf0..4ed30c45e 100644 --- a/tembo-stacks/src/stacks/specs/paradedb.yaml +++ b/tembo-stacks/src/stacks/specs/paradedb.yaml @@ -34,7 +34,7 @@ trunk_installs: - name: pg_analytics version: 0.2.1 - name: pg_search - version: 0.13.0 + version: 0.13.2 - name: pg_cron version: 1.6.2 - name: pgvector @@ -51,7 +51,7 @@ extensions: locations: - database: postgres enabled: true - version: 0.13.0 + version: 0.13.2 - name: vector locations: - database: postgres diff --git a/tembo-stacks/src/stacks/specs/vectordb.yaml b/tembo-stacks/src/stacks/specs/vectordb.yaml index ea8c9546a..1f29837ea 100644 --- a/tembo-stacks/src/stacks/specs/vectordb.yaml +++ b/tembo-stacks/src/stacks/specs/vectordb.yaml @@ -64,7 +64,7 @@ appServices: initialDelaySeconds: 10 trunk_installs: - name: pgmq - version: 1.4.4 + version: 1.5.0 - name: vectorize version: 0.19.1 - name: pgvector @@ -88,7 +88,7 @@ extensions: locations: - database: postgres enabled: true - version: 1.4.4 + version: 1.5.0 - name: vectorize locations: - database: postgres From bf53aa01dc2b15d8d433fd475d87342aeaaf06f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Miguel?= <36349314+vrmiguel@users.noreply.github.com> Date: Wed, 18 Dec 2024 17:44:32 -0300 Subject: [PATCH 2/4] conductor: add Prometheus query for total storage usage percentage (#1085) --- conductor/metrics.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/conductor/metrics.yml b/conductor/metrics.yml index f18ebc27c..69ef88272 100644 --- a/conductor/metrics.yml +++ b/conductor/metrics.yml @@ -37,3 +37,21 @@ metrics: sum by (server_name) ( count_over_time({namespace="traefik"} |= `Connection logging` | json | event = `Connection logging` [1m]) ) +- name: storage_usage_pct + server: prometheus + query: | + sum by (instance_id, pod) ( + label_replace( + kubelet_volume_stats_used_bytes * on(namespace) group_left(label_tembo_io_instance_id) + kube_namespace_labels{label_tembo_io_instance_id!=""}, + "instance_id", "$1", "label_tembo_io_instance_id", "(.*)" + ) + ) / ( + sum by (instance_id, pod) ( + label_replace( + kubelet_volume_stats_capacity_bytes * on(namespace) group_left(label_tembo_io_instance_id) + kube_namespace_labels{label_tembo_io_instance_id!=""}, + "instance_id", "$1", "label_tembo_io_instance_id", "(.*)" + ) + ) + ) \ No newline at end of file From 56519df3ec8526dcaa0334d4ff2bd9320a6f3e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Miguel?= <36349314+vrmiguel@users.noreply.github.com> Date: Wed, 18 Dec 2024 19:04:02 -0300 Subject: [PATCH 3/4] fix(conductor): indent `storage_usage_pct` correctly (#1086) --- conductor/metrics.yml | 20 ++++++++++---------- conductor/src/metrics_reporter.rs | 9 +++++++++ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/conductor/metrics.yml b/conductor/metrics.yml index 69ef88272..dbdc49539 100644 --- a/conductor/metrics.yml +++ b/conductor/metrics.yml @@ -40,18 +40,18 @@ metrics: - name: storage_usage_pct server: prometheus query: | - sum by (instance_id, pod) ( - label_replace( - kubelet_volume_stats_used_bytes * on(namespace) group_left(label_tembo_io_instance_id) - kube_namespace_labels{label_tembo_io_instance_id!=""}, - "instance_id", "$1", "label_tembo_io_instance_id", "(.*)" - ) - ) / ( sum by (instance_id, pod) ( label_replace( - kubelet_volume_stats_capacity_bytes * on(namespace) group_left(label_tembo_io_instance_id) + kubelet_volume_stats_used_bytes * on(namespace) group_left(label_tembo_io_instance_id) kube_namespace_labels{label_tembo_io_instance_id!=""}, "instance_id", "$1", "label_tembo_io_instance_id", "(.*)" ) - ) - ) \ No newline at end of file + ) / ( + sum by (instance_id, pod) ( + label_replace( + kubelet_volume_stats_capacity_bytes * on(namespace) group_left(label_tembo_io_instance_id) + kube_namespace_labels{label_tembo_io_instance_id!=""}, + "instance_id", "$1", "label_tembo_io_instance_id", "(.*)" + ) + ) + ) \ No newline at end of file diff --git a/conductor/src/metrics_reporter.rs b/conductor/src/metrics_reporter.rs index 623c3c382..36be31076 100644 --- a/conductor/src/metrics_reporter.rs +++ b/conductor/src/metrics_reporter.rs @@ -181,3 +181,12 @@ impl Client { } } } + +mod tests { + use super::load_metric_queries; + + #[test] + fn deserializes_metrics_yaml() { + load_metric_queries().unwrap(); + } +} From c83326f75d6f95f3f24e5b5c96db1816554b5a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Miguel?= <36349314+vrmiguel@users.noreply.github.com> Date: Wed, 18 Dec 2024 20:44:39 -0300 Subject: [PATCH 4/4] conductor: change `storage_usage_pct` range's to [0..100] (#1087) --- conductor/metrics.yml | 2 +- conductor/src/metrics_reporter.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/conductor/metrics.yml b/conductor/metrics.yml index dbdc49539..2f9d8cf5f 100644 --- a/conductor/metrics.yml +++ b/conductor/metrics.yml @@ -40,7 +40,7 @@ metrics: - name: storage_usage_pct server: prometheus query: | - sum by (instance_id, pod) ( + 100 * sum by (instance_id, pod) ( label_replace( kubelet_volume_stats_used_bytes * on(namespace) group_left(label_tembo_io_instance_id) kube_namespace_labels{label_tembo_io_instance_id!=""}, diff --git a/conductor/src/metrics_reporter.rs b/conductor/src/metrics_reporter.rs index 36be31076..645fc158c 100644 --- a/conductor/src/metrics_reporter.rs +++ b/conductor/src/metrics_reporter.rs @@ -182,6 +182,7 @@ impl Client { } } +#[cfg(test)] mod tests { use super::load_metric_queries;