definition:
  language:
    go:
      - name: "OpenTelemetry"
        prefix: "go.opentelemetry.io/"
        provider: OBSERVABILITY
      - name: "Prometheus client"
        prefix: "github.com/prometheus/client_golang/"
        provider: OBSERVABILITY
      - name: "Structured log (slog)"
        prefix: "log/slog."
        provider: OBSERVABILITY
        rule: "log/slog\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "Unstructured fmt print"
        prefix: "fmt."
        provider: OBS_GAP
        rule: "fmt\\.(?<operation>Print|Printf|Println|Sprint|Sprintf)"
      - name: "Legacy log package"
        prefix: "log."
        provider: OBS_GAP
        rule: "log\\.(?<operation>Print|Printf|Println|Fatal|Panic)"
    java:
      - name: "Micrometer metrics"
        prefix: "io.micrometer."
        provider: OBSERVABILITY
      - name: "OpenTelemetry Java"
        prefix: "io.opentelemetry."
        provider: OBSERVABILITY
      - name: "SLF4J structured logging"
        prefix: "org.slf4j."
        provider: OBSERVABILITY
      - name: "System.out print"
        prefix: "System.out"
        provider: OBS_GAP
        rule: "System\\.out\\.(?<operation>print|println|printf)"
    python:
      - name: "OpenTelemetry Python"
        prefix: "opentelemetry."
        provider: OBSERVABILITY
      - name: "Standard logging module"
        prefix: "logging."
        provider: OBSERVABILITY
        rule: "logging\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "Print statement gap"
        prefix: "print"
        provider: OBS_GAP
        rule: "print\\("
    javascript:
      - name: "OpenTelemetry JS"
        prefix: "@opentelemetry/"
        provider: OBSERVABILITY
      - name: "Console log gap"
        prefix: "console."
        provider: OBS_GAP
        rule: "console\\.(?<operation>log|debug|info|warn|error)"

  providers:
    OBSERVABILITY:
      servicenameMapping: {}
    OBS_GAP:
      servicenameMapping: {}
