# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

global:
  scrape_interval: 10s
  evaluation_interval: 10s

scrape_configs:
  - job_name: 'nats-prometheus-exporter'
    scrape_interval: 2s
    static_configs:
      - targets: ['nats-prometheus-exporter:7777']  # on the "monitoring" network

  - job_name: 'etcd-server'
    scrape_interval: 2s
    static_configs:
      - targets: ['etcd-server:2379']  # etcd-server is on the "monitoring" network

  - job_name: 'dcgm-exporter'
    scrape_interval: 5s
    static_configs:
      - targets: ['dcgm-exporter:9401']  # on the "monitoring" network

  # This is a demo service that needs to be launched manually
  # Note that you may need to disable the firewall on your host. On Ubuntu: sudo ufw allow 8000/tcp
  # You can also force the port, if the default is different: python -m dynamo.frontend --http-port 8000
  - job_name: 'dynamo-frontend'
    scrape_interval: 10s
    static_configs:
      - targets: ['host.docker.internal:8000']  # on the "monitoring" network

  # Launch via: DYN_SYSTEM_PORT=8081 dynamo.<backend> ...
  # If you want to update the scrape_interval, you may want to also update component.rs's MAX_DELAY
  - job_name: 'dynamo-backend'
    scrape_interval: 6s
    static_configs:
      - targets: ['host.docker.internal:8081']


  # KVBM leader related metrics
  - job_name: 'kvbm-metrics'
    scrape_interval: 2s
    static_configs:
      - targets: ['host.docker.internal:6880']

  # Uncomment to see its own Prometheus metrics
  # - job_name: 'prometheus'
  #   scrape_interval: 5s
  #   static_configs:
  #     - targets: ['prometheus:9090']  # on the "monitoring" network
