receivers:
  windowsperfcounters:
    collection_interval: 30s
    metrics:
      processor.time:
        description: Share of time the processors were busy.
        unit: "%"
        gauge: {}
      memory.available:
        description: Physical memory available to processes.
        unit: MBy
        gauge: {}
      disk.free:
        description: Share of free space on each volume.
        unit: "%"
        gauge: {}
    perfcounters:
      - object: Processor
        instances: [_Total]
        counters:
          - name: "% Processor Time"
            metric: processor.time
      - object: Memory
        counters:
          - name: Available MBytes
            metric: memory.available
      - object: LogicalDisk
        instances: ["*"]
        counters:
          - name: "% Free Space"
            metric: disk.free

processors:
  memory_limiter:
    check_interval: 1s
    limit_percentage: 80
    spike_limit_percentage: 25
  resourcedetection:
    detectors: [system]
  batch:
    timeout: 5s

exporters:
  otlphttp:
    endpoint: https://your-backend:4318

service:
  pipelines:
    metrics:
      receivers: [windowsperfcounters]
      processors: [memory_limiter, resourcedetection, batch]
      exporters: [otlphttp]
