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
22 changes: 11 additions & 11 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
paths:
- 'asap-common/installation/**'
- 'asap-planner/**'
- 'asap-sketch-ingest/**'
- 'asap-summary-ingest/**'
- 'asap-query-engine/**'
- 'asap-tools/queriers/prometheus-client/**'
- '.github/workflows/docker.yml'
Expand Down Expand Up @@ -68,21 +68,21 @@ jobs:
docker push ghcr.io/projectasap/asap-planner:${{ github.ref_name }}
docker push ghcr.io/projectasap/asap-planner:latest

# --- Sketch Ingest (Python, depends on base) ---
- name: Build sketch-ingest image
# --- Summary Ingest (Python, depends on base) ---
- name: Build summary-ingest image
run: |
docker build \
-t asap-sketch-ingest:local \
-f asap-sketch-ingest/Dockerfile \
asap-sketch-ingest
-t asap-summary-ingest:local \
-f asap-summary-ingest/Dockerfile \
asap-summary-ingest

- name: Push sketch-ingest image
- name: Push summary-ingest image
if: startsWith(github.ref, 'refs/tags/')
run: |
docker tag asap-sketch-ingest:local ghcr.io/projectasap/asap-sketch-ingest:${{ github.ref_name }}
docker tag asap-sketch-ingest:local ghcr.io/projectasap/asap-sketch-ingest:latest
docker push ghcr.io/projectasap/asap-sketch-ingest:${{ github.ref_name }}
docker push ghcr.io/projectasap/asap-sketch-ingest:latest
docker tag asap-summary-ingest:local ghcr.io/projectasap/asap-summary-ingest:${{ github.ref_name }}
docker tag asap-summary-ingest:local ghcr.io/projectasap/asap-summary-ingest:latest
docker push ghcr.io/projectasap/asap-summary-ingest:${{ github.ref_name }}
docker push ghcr.io/projectasap/asap-summary-ingest:latest

# --- Prometheus Client (Python, depends on base) ---
- name: Build prometheus-client image
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [ main ]
paths:
- 'asap-sketch-ingest/**'
- 'asap-summary-ingest/**'
- 'asap-tools/queriers/prometheus-client/**'
- 'asap-planner/**'
- 'asap-tools/**'
Expand All @@ -15,7 +15,7 @@ on:
pull_request:
branches: [ main ]
paths:
- 'asap-sketch-ingest/**'
- 'asap-summary-ingest/**'
- 'asap-tools/queriers/prometheus-client/**'
- 'asap-planner/**'
- 'asap-tools/**'
Expand All @@ -33,7 +33,7 @@ jobs:
detect-changes:
runs-on: ubuntu-latest
outputs:
arroyo_sketch: ${{ steps.filter.outputs.arroyo_sketch }}
summary_ingest: ${{ steps.filter.outputs.summary_ingest }}
prometheus_client: ${{ steps.filter.outputs.prometheus_client }}
controller: ${{ steps.filter.outputs.controller }}
utilities: ${{ steps.filter.outputs.utilities }}
Expand All @@ -45,8 +45,8 @@ jobs:
id: filter
with:
filters: |
arroyo_sketch:
- 'asap-sketch-ingest/**'
summary_ingest:
- 'asap-summary-ingest/**'
- 'asap-common/dependencies/py/**'
prometheus_client:
- 'asap-tools/queriers/prometheus-client/**'
Expand All @@ -64,9 +64,9 @@ jobs:
- 'asap-tools/execution-utilities/**'
- 'asap-common/dependencies/py/**'

test-arroyo-sketch:
test-summary-ingest:
needs: detect-changes
if: needs.detect-changes.outputs.arroyo_sketch == 'true'
if: needs.detect-changes.outputs.summary_ingest == 'true'
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -81,12 +81,12 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install black==24.8.0 flake8==6.1.0
if [ -f asap-sketch-ingest/requirements.txt ]; then pip install -r asap-sketch-ingest/requirements.txt; fi
if [ -f asap-summary-ingest/requirements.txt ]; then pip install -r asap-summary-ingest/requirements.txt; fi
- name: Check formatting with Black
working-directory: asap-sketch-ingest
working-directory: asap-summary-ingest
run: black --check --diff .
- name: Lint with flake8
working-directory: asap-sketch-ingest
working-directory: asap-summary-ingest
run: |
# Stop the build if there are Python syntax errors or undefined names
flake8 . --config=../.flake8 --count --select=E9,F63,F7,F82 --show-source --statistics
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:
hooks:
- id: hadolint-docker
files: ^.*Dockerfile.*$
args: ['--ignore', 'DL3008']
args: ['--ignore', 'DL3007', '--ignore', 'DL3008', '--ignore', 'DL3013']

# Shell script linting
- repo: https://github.com/shellcheck-py/shellcheck-py
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

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

2 changes: 1 addition & 1 deletion asap-quickstart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This quickstart simulates a typical monitoring deployment with components you mi

Then it adds ASAPQuery's components on top:
- **Query Engine** - Prometheus-compatible API with sketch-based acceleration
- **[Arroyo](https://github.com/ProjectASAP/arroyo) + asap-sketch-ingest** - Streaming engine with pipelines configured for building sketches
- **[Arroyo](https://github.com/ProjectASAP/arroyo) + asap-summary-ingest** - Streaming engine with pipelines configured for building sketches
- **Kafka** - Message broker for streaming data from Arroyo to the Query Engine
- **asap-planner** - Automatically configures sketches from PromQL queries

Expand Down
2 changes: 1 addition & 1 deletion asap-quickstart/config/controller-config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SketchDB Configuration for Pattern-based Demo
# ASAP Configuration for Pattern-based Demo
# Uses deterministic time-based patterns for visual comparison

query_groups:
Expand Down
14 changes: 7 additions & 7 deletions asap-quickstart/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ services:
timeout: 5s
retries: 5
depends_on:
asap-sketch-ingest:
asap-summary-ingest:
condition: service_completed_successfully
restart: no

Expand Down Expand Up @@ -187,10 +187,10 @@ services:
- asap-planner-output:/asap-planner-output
restart: "no"

asap-sketch-ingest:
asap-summary-ingest:
image: ghcr.io/projectasap/asap-arroyosketch:v0.1.0
container_name: asap-sketch-ingest
hostname: asap-sketch-ingest
container_name: asap-summary-ingest
hostname: asap-summary-ingest
networks:
- asap-network
command:
Expand All @@ -203,12 +203,12 @@ services:
- "--output_kafka_topic=flink_output"
- "--output_format=json"
- "--pipeline_name=asap-demo"
- "--output_dir=/asap-sketch-ingest-output"
- "--output_dir=/asap-summary-ingest-output"
- "--arroyo_url=http://arroyo:5115/api/v1"
- "--bootstrap_servers=kafka:9092"
volumes:
- asap-planner-output:/asap-planner-output:ro
- ./output/asap-sketch-ingest:/asap-sketch-ingest-output
- ./output/asap-summary-ingest:/asap-summary-ingest-output
depends_on:
asap-planner:
condition: service_completed_successfully
Expand Down Expand Up @@ -251,7 +251,7 @@ services:
- "--decompress-json"
- "--forward-unsupported-queries"
depends_on:
asap-sketch-ingest:
asap-summary-ingest:
condition: service_completed_successfully
kafka:
condition: service_healthy
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# asap-sketch-ingest
# asap-summary-ingest

asap-sketch-ingest is the pipeline configurator that creates Arroyo streaming pipelines from configuration files.
asap-summary-ingest is the pipeline configurator that creates Arroyo streaming pipelines from configuration files.

## Purpose

Given `streaming_config.yaml` (generated by asap-planner), asap-sketch-ingest:
Given `streaming_config.yaml` (generated by asap-planner), asap-summary-ingest:
1. Renders SQL query templates using Jinja2
2. Creates Arroyo pipelines via REST API
3. Configures sketch-building UDFs with parameters
Expand Down Expand Up @@ -89,7 +89,7 @@ cd arroyo
docker compose up
```

2. Run asap-sketch-ingest:
2. Run asap-summary-ingest:
```bash
python run_arroyosketch.py --config test_config.yaml
```
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion asap-tools/asap-cli/src/docker_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,7 @@ pub async fn generate_arroyosketch_compose(
let code_dir = project_root.to_string_lossy();

// Paths
let arroyosketch_dir = format!("{}/asap-sketch-ingest", code_dir);
let arroyosketch_dir = format!("{}/asap-summary-ingest", code_dir);
let template_path = format!("{}/arroyosketch-cli-compose.yml.j2", arroyosketch_dir);
let helper_script = format!("{}/asap-tools/experiments/generate_arroyosketch_compose.py", code_dir);
let compose_output_path = format!("{}/asap-tools/docker/generated_compose_files/arroyosketch-compose.yml", code_dir);
Expand Down
2 changes: 1 addition & 1 deletion asap-tools/components.conf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ asap-common
asap-query-engine
asap-planner
#prometheus-kafka-adapter
asap-sketch-ingest
asap-summary-ingest
asap-quickstart
asap-tools/data-sources/prometheus-exporters
asap-tools/queriers/prometheus-client
Expand Down
2 changes: 1 addition & 1 deletion asap-tools/docker/arroyo-cli-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ services:
ports:
- "5115:5115"
volumes:
- ../../asap-sketch-ingest/config.yaml:/config.yaml
- ../../asap-summary-ingest/config.yaml:/config.yaml
command: ["--config", "/config.yaml", "cluster"]
environment:
- ARROYO__API__RUN_HTTP_PORT=5115
Expand Down
12 changes: 6 additions & 6 deletions asap-tools/docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The script executes these phases in order:
- asap-query-engine (Rust binary + Docker image)
- asap-planner (Docker image)
- Arroyo (Node.js frontend + Rust binary + Docker image)
- asap-sketch-ingest (Python scripts)
- asap-summary-ingest (Python scripts)
- asap-tools/queriers/prometheus-client, asap-tools/data-sources/prometheus-exporters, asap-tools/execution-utilities, asap-tools/prometheus-benchmark

### Directory Structure Created
Expand All @@ -77,7 +77,7 @@ The script executes these phases in order:
│ ├── asap-tools/
│ ├── asap-query-engine/
│ ├── asap-planner/
│ ├── asap-sketch-ingest/
│ ├── asap-summary-ingest/
│ ├── arroyo/
│ ├── asap-common/
│ └── asap-tools/prometheus-benchmark/
Expand Down Expand Up @@ -148,7 +148,7 @@ asap-common
sketchlib-rust
asap-query-engine
asap-planner
asap-sketch-ingest
asap-summary-ingest
asap-quickstart
asap-tools/data-sources/prometheus-exporters
asap-tools/queriers/prometheus-client
Expand Down Expand Up @@ -296,11 +296,11 @@ cargo install refinery_cli
- Web console (Node.js/React frontend)
- Controller and workers (Rust binaries)

#### 5. asap-sketch-ingest
**What:** Python scripts for deploying asap-sketch-ingest pipelines
#### 5. asap-summary-ingest
**What:** Python scripts for deploying asap-summary-ingest pipelines
**Build Process:**
```bash
cd asap-sketch-ingest
cd asap-summary-ingest
pip install -r requirements.txt # jinja2 for templating
```
**Deployment:** Python scripts, no Docker image
Expand Down
2 changes: 1 addition & 1 deletion asap-tools/docs/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Kafka has three places where message size limits need to be configured (see [PR
2. **Kafka topic configuration** (`asap-tools/experiments/experiment_utils/services/kafka.py`):
- Update `max.message.bytes` in the topic creation command

3. **Arroyo connection profile** (`asap-sketch-ingest/templates/json/connection_profile.j2`):
3. **Arroyo connection profile** (`asap-summary-ingest/templates/json/connection_profile.j2`):
- Add connection properties with `message.max.bytes` and `batch.size`

**Example values:**
Expand Down
10 changes: 5 additions & 5 deletions asap-tools/experiments/experiment_utils/services/arroyo.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def stop_all_jobs(self) -> None:
"""Stop all running Arroyo jobs."""
cmd = "python3 delete_pipeline.py --all_pipelines"
cmd_dir = os.path.join(
self.provider.get_home_dir(), "code", "asap-sketch-ingest"
self.provider.get_home_dir(), "code", "asap-summary-ingest"
)
self.provider.execute_command(
node_idx=self.node_offset,
Expand Down Expand Up @@ -160,7 +160,7 @@ def run_arroyosketch(
if enable_optimized_remote_write:
cmd += " --prometheus_remote_write_source optimized"
cmd_dir = os.path.join(
constants.CLOUDLAB_HOME_DIR, "code", "asap-sketch-ingest"
constants.CLOUDLAB_HOME_DIR, "code", "asap-summary-ingest"
)

if avoid_long_ssh:
Expand Down Expand Up @@ -216,7 +216,7 @@ def stop_arroyosketch(self, pipeline_id: str) -> None:
"""
cmd = "python3 delete_pipeline.py --pipeline_id {}".format(pipeline_id)
cmd_dir = os.path.join(
constants.CLOUDLAB_HOME_DIR, "code", "asap-sketch-ingest"
constants.CLOUDLAB_HOME_DIR, "code", "asap-summary-ingest"
)
self.provider.execute_command(
node_idx=self.node_offset,
Expand Down Expand Up @@ -309,7 +309,7 @@ def is_healthy(self) -> bool:
def _start_bare_metal(self, experiment_output_dir: str, **kwargs) -> None:
"""Start Arroyo cluster using bare metal deployment (original implementation)."""
arroyo_config_file_path = os.path.join(
constants.CLOUDLAB_HOME_DIR, "code", "asap-sketch-ingest", "config.yaml"
constants.CLOUDLAB_HOME_DIR, "code", "asap-summary-ingest", "config.yaml"
)
arroyo_bin_path = os.path.join(
constants.CLOUDLAB_HOME_DIR, "code", "arroyo", "target", "release", "arroyo"
Expand All @@ -332,7 +332,7 @@ def _start_bare_metal(self, experiment_output_dir: str, **kwargs) -> None:
def _start_containerized(self, experiment_output_dir: str, **kwargs) -> None:
"""Start Arroyo cluster using Docker container deployment."""
arroyo_config_file_path = os.path.join(
constants.CLOUDLAB_HOME_DIR, "code", "asap-sketch-ingest", "config.yaml"
constants.CLOUDLAB_HOME_DIR, "code", "asap-summary-ingest", "config.yaml"
)
arroyo_output_file = os.path.join(experiment_output_dir, "arroyo_cluster.out")

Expand Down
Loading