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
10 changes: 10 additions & 0 deletions .github/workflows/accuracy_performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,16 @@ jobs:
cache-from: type=registry,ref=ghcr.io/projectasap/asap-query-engine:buildcache
cache-to: type=registry,ref=ghcr.io/projectasap/asap-query-engine:buildcache,mode=max

- name: Build and push asap-fake-exporter
uses: docker/build-push-action@v6
with:
context: asap-tools/data-sources/prometheus-exporters/fake_exporter/fake_exporter_rust/fake_exporter
file: asap-tools/data-sources/prometheus-exporters/fake_exporter/fake_exporter_rust/fake_exporter/Dockerfile
push: true
tags: ghcr.io/projectasap/asap-fake-exporter:${{ steps.tag.outputs.value }}
cache-from: type=registry,ref=ghcr.io/projectasap/asap-fake-exporter:buildcache
cache-to: type=registry,ref=ghcr.io/projectasap/asap-fake-exporter:buildcache,mode=max

# ---------------------------------------------------------------------------
# Job 2: pull the images built above, deploy the full stack, and evaluate.
# ---------------------------------------------------------------------------
Expand Down
23 changes: 23 additions & 0 deletions asap-dropin/config/engine_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
output_dir: "/app/outputs"
log_level: "INFO"
prometheus_scrape_interval: 15
streaming_engine: "precompute"

http_server:
port: 8088

backend:
type: "prometheus"
server: "http://localhost:9090"
forward_unsupported_queries: true

store:
lock_strategy: "per-key"

ingest:
type: "http_remote_write"
port: 9091

query_tracker:
enabled: true
observation_window_secs: 60
19 changes: 6 additions & 13 deletions asap-dropin/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ name: asapquery-dropin

services:
queryengine:
image: ghcr.io/projectasap/asap-query-engine:v0.3.1
image: ghcr.io/projectasap/asap-query-engine:v0.4.0
container_name: asap-dropin-queryengine
hostname: queryengine
ports:
Expand All @@ -25,19 +25,12 @@ services:
- RUST_BACKTRACE=1
volumes:
- ./output/queryengine:/app/outputs
- ./config/engine_config.yaml:/config/engine_config.yaml:ro
command:
- "--prometheus-server=${PROMETHEUS_URL:-http://localhost:9090}"
- "--prometheus-scrape-interval=${PROMETHEUS_SCRAPE_INTERVAL:-15}"
- "--streaming-engine=precompute"
- "--prometheus-remote-write-port=9091"
- "--delete-existing-db"
- "--log-level=INFO"
- "--output-dir=/app/outputs"
- "--query-language=PROMQL"
- "--lock-strategy=per-key"
- "--forward-unsupported-queries"
- "--enable-query-tracker"
- "--tracker-observation-window-secs=${TRACKER_OBSERVATION_WINDOW_SECS:-60}"
- "--config-file=/config/engine_config.yaml"
- "backend.server=${PROMETHEUS_URL:-http://localhost:9090}"
- "prometheus_scrape_interval=${PROMETHEUS_SCRAPE_INTERVAL:-15}"
- "query_tracker.observation_window_secs=${TRACKER_OBSERVATION_WINDOW_SECS:-60}"
healthcheck:
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/8088' 2>/dev/null || exit 1"]
interval: 10s
Expand Down
22 changes: 22 additions & 0 deletions asap-quickstart/config/engine_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
output_dir: "/app/outputs"
log_level: "INFO"
prometheus_scrape_interval: 1
streaming_engine: "precompute"

http_server:
port: 8088

backend:
type: "prometheus"
server: "http://prometheus:9090"
forward_unsupported_queries: true

store:
lock_strategy: "per-key"

ingest:
type: "http_remote_write"
port: 9091

inference_config: "/asap-planner-output/inference_config.yaml"
streaming_config: "/asap-planner-output/streaming_config.yaml"
36 changes: 0 additions & 36 deletions asap-quickstart/config/prometheus-precompute.yml

This file was deleted.

8 changes: 3 additions & 5 deletions asap-quickstart/config/prometheus.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
# Prometheus configuration for pattern-based fake exporters demo
# Uses the hand-crafted precompute engine (instead of Arroyo) for sketch building

global:
scrape_interval: 1s
evaluation_interval: 1s

# Remote write configuration to send metrics to ASAPQuery for sketch building
# Remote write configuration to send metrics to the precompute engine for sketch building
remote_write:
- url: http://queryengine:9091/receive
- url: http://queryengine:9091/api/v1/write
queue_config:
batch_send_deadline: 1s
# Drop samples older than 5 minutes before enqueuing — prevents WAL replay
# on restart from flooding Arroyo with historical data.
sample_age_limit: 5m
write_relabel_configs:
- source_labels: [__name__]
regex: sensor_reading
Expand Down
32 changes: 11 additions & 21 deletions asap-quickstart/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ services:
#############################################################################

asap-planner-rs:
image: ghcr.io/projectasap/asap-planner-rs:v0.3.1
image: ghcr.io/projectasap/asap-planner-rs:v0.4.0
container_name: asap-planner-rs
hostname: asap-planner-rs
networks:
Expand All @@ -99,7 +99,7 @@ services:
#############################################################################

queryengine:
image: ghcr.io/projectasap/asap-query-engine:v0.3.1
image: ghcr.io/projectasap/asap-query-engine:v0.4.0
container_name: asap-queryengine
hostname: queryengine
networks:
Expand All @@ -113,19 +113,9 @@ services:
volumes:
- asap-planner-output:/asap-planner-output:ro
- ./output/queryengine:/app/outputs
- ./config/engine_config.yaml:/config/engine_config.yaml:ro
command:
- "--config=/asap-planner-output/inference_config.yaml"
- "--streaming-config=/asap-planner-output/streaming_config.yaml"
- "--prometheus-server=http://prometheus:9090"
- "--prometheus-scrape-interval=1"
- "--streaming-engine=precompute"
- "--prometheus-remote-write-port=9091"
- "--delete-existing-db"
- "--log-level=INFO"
- "--output-dir=/app/outputs"
- "--query-language=PROMQL"
- "--lock-strategy=per-key"
- "--forward-unsupported-queries"
- "--config-file=/config/engine_config.yaml"
depends_on:
asap-planner-rs:
condition: service_completed_successfully
Expand All @@ -141,7 +131,7 @@ services:

# Constant values - baseline for comparison
fake-exporter-constant:
image: ghcr.io/projectasap/asap-fake-exporter:v0.3.1
image: ghcr.io/projectasap/asap-fake-exporter:v0.4.0
container_name: asap-fake-exporter-constant
hostname: fake-exporter-constant
networks:
Expand All @@ -163,7 +153,7 @@ services:

# Linear increasing - tests trend preservation
fake-exporter-linear-up:
image: ghcr.io/projectasap/asap-fake-exporter:v0.3.1
image: ghcr.io/projectasap/asap-fake-exporter:v0.4.0
container_name: asap-fake-exporter-linear-up
hostname: fake-exporter-linear-up
networks:
Expand All @@ -185,7 +175,7 @@ services:

# Linear decreasing - tests trend preservation
fake-exporter-linear-down:
image: ghcr.io/projectasap/asap-fake-exporter:v0.3.1
image: ghcr.io/projectasap/asap-fake-exporter:v0.4.0
container_name: asap-fake-exporter-linear-down
hostname: fake-exporter-linear-down
networks:
Expand All @@ -207,7 +197,7 @@ services:

# Sine wave - tests periodicity preservation
fake-exporter-sine:
image: ghcr.io/projectasap/asap-fake-exporter:v0.3.1
image: ghcr.io/projectasap/asap-fake-exporter:v0.4.0
container_name: asap-fake-exporter-sine
hostname: fake-exporter-sine
networks:
Expand All @@ -229,7 +219,7 @@ services:

# Sine with noise - tests signal extraction / smoothing
fake-exporter-sine-noise:
image: ghcr.io/projectasap/asap-fake-exporter:v0.3.1
image: ghcr.io/projectasap/asap-fake-exporter:v0.4.0
container_name: asap-fake-exporter-sine-noise
hostname: fake-exporter-sine-noise
networks:
Expand All @@ -251,7 +241,7 @@ services:

# Step function - tests edge preservation
fake-exporter-step:
image: ghcr.io/projectasap/asap-fake-exporter:v0.3.1
image: ghcr.io/projectasap/asap-fake-exporter:v0.4.0
container_name: asap-fake-exporter-step
hostname: fake-exporter-step
networks:
Expand All @@ -273,7 +263,7 @@ services:

# Exponential growth - tests non-linear patterns
fake-exporter-exp-up:
image: ghcr.io/projectasap/asap-fake-exporter:v0.3.1
image: ghcr.io/projectasap/asap-fake-exporter:v0.4.0
container_name: asap-fake-exporter-exp-up
hostname: fake-exporter-exp-up
networks:
Expand Down
21 changes: 21 additions & 0 deletions benchmarks/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,24 @@ services:
- ../benchmarks/config/engine_config.yaml:/config/engine_config.yaml:ro
command:
- "--config-file=/config/engine_config.yaml"

fake-exporter-constant:
image: ghcr.io/projectasap/asap-fake-exporter:${ASAP_IMAGE_TAG}

fake-exporter-linear-up:
image: ghcr.io/projectasap/asap-fake-exporter:${ASAP_IMAGE_TAG}

fake-exporter-linear-down:
image: ghcr.io/projectasap/asap-fake-exporter:${ASAP_IMAGE_TAG}

fake-exporter-sine:
image: ghcr.io/projectasap/asap-fake-exporter:${ASAP_IMAGE_TAG}

fake-exporter-sine-noise:
image: ghcr.io/projectasap/asap-fake-exporter:${ASAP_IMAGE_TAG}

fake-exporter-step:
image: ghcr.io/projectasap/asap-fake-exporter:${ASAP_IMAGE_TAG}

fake-exporter-exp-up:
image: ghcr.io/projectasap/asap-fake-exporter:${ASAP_IMAGE_TAG}
Loading