Skip to content

[Feature] Phase 2: Custom Metrics Endpoint - Chrome & Chrome-Go RunnersΒ #1060

@GrammaTonic

Description

@GrammaTonic

πŸ“Š Phase 2: Custom Metrics Endpoint - Chrome & Chrome-Go Runners

Timeline: Week 2 (2025-11-23 to 2025-11-30)
Status: ⏳ Blocked by Phase 1
Goal: Extend metrics endpoint to Chrome and Chrome-Go runner types with identical functionality

🎯 Objectives

  • Integrate metrics into Chrome runner variant
  • Integrate metrics into Chrome-Go runner variant
  • Configure unique port mappings to avoid conflicts (9092, 9093)
  • Test concurrent multi-runner deployment

βœ… Tasks (14 Total)

  • TASK-013: Integrate metrics server and collector scripts into docker/entrypoint-chrome.sh
  • TASK-014: Add EXPOSE 9091 to docker/Dockerfile.chrome
  • TASK-015: Add EXPOSE 9091 to docker/Dockerfile.chrome-go
  • TASK-016: Update docker/docker-compose.chrome.yml to expose port 9091 with unique host port mapping "9092:9091"
  • TASK-017: Update docker/docker-compose.chrome-go.yml to expose port 9091 with unique host port mapping "9093:9091"
  • TASK-018: Add environment variables RUNNER_TYPE=chrome and METRICS_PORT=9091 to chrome compose file
  • TASK-019: Add environment variables RUNNER_TYPE=chrome-go and METRICS_PORT=9091 to chrome-go compose file
  • TASK-020: Build Chrome runner: docker build -t github-runner:chrome-metrics-test -f docker/Dockerfile.chrome docker/
  • TASK-021: Build Chrome-Go runner: docker build -t github-runner:chrome-go-metrics-test -f docker/Dockerfile.chrome-go docker/
  • TASK-022: Deploy Chrome runner: docker-compose -f docker/docker-compose.chrome.yml up -d
  • TASK-023: Deploy Chrome-Go runner: docker-compose -f docker/docker-compose.chrome-go.yml up -d
  • TASK-024: Validate Chrome metrics: curl http://localhost:9092/metrics returns metrics with runner_type="chrome"
  • TASK-025: Validate Chrome-Go metrics: curl http://localhost:9093/metrics returns metrics with runner_type="chrome-go"
  • TASK-026: Test concurrent multi-runner deployment with all 3 types and verify unique metrics per runner

πŸ“‹ Acceptance Criteria

  • βœ… Chrome runner exposes metrics on port 9092
  • βœ… Chrome-Go runner exposes metrics on port 9093
  • βœ… All 3 runner types can run concurrently without port conflicts
  • βœ… Metrics include correct runner_type label for each variant
  • βœ… Performance overhead remains <1% CPU per runner

πŸ”— Dependencies

  • BLOCKED BY: Phase 1 (must complete TASK-001 through TASK-012)

Part of: Prometheus Monitoring Implementation (v2.3.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    chromeChrome runner specificenhancementNew feature or requestmonitoringMonitoring and observability relatedphase-2Phase 2 tasksprometheusPrometheus metrics integration

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions