definition:
  language:
    go:
      - name: "HTTP outbound (net/http)"
        prefix: "net/http."
        provider: OUTBOUND
        rule: "net/http\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "HTTP outbound (http import alias)"
        prefix: "http."
        provider: OUTBOUND
        rule: "http\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "gRPC client"
        prefix: "google.golang.org/grpc."
        provider: OUTBOUND
        rule: "google\\.golang\\.org/grpc\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "Consul service discovery"
        prefix: "github.com/hashicorp/consul/api."
        provider: DISCOVERY
      - name: "Etcd client"
        prefix: "go.etcd.io/etcd/client/v3."
        provider: DISCOVERY
    java:
      - name: "RestTemplate HTTP"
        prefix: "org.springframework.web.client.RestTemplate"
        provider: OUTBOUND
        rule: "org\\.springframework\\.web\\.client\\.RestTemplate\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "WebClient reactive HTTP"
        prefix: "org.springframework.web.reactive.function.client."
        provider: OUTBOUND
      - name: "gRPC stub"
        prefix: "io.grpc."
        provider: OUTBOUND
        rule: "io\\.grpc\\..*\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "Eureka discovery"
        prefix: "com.netflix.discovery."
        provider: DISCOVERY
    python:
      - name: "Requests HTTP outbound"
        prefix: "requests."
        provider: OUTBOUND
        rule: "requests\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "httpx async HTTP"
        prefix: "httpx."
        provider: OUTBOUND
        rule: "httpx\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "gRPC Python"
        prefix: "grpc."
        provider: OUTBOUND
        rule: "grpc\\.(?<operation>[a-zA-Z0-9_]+)"
    javascript:
      - name: "Axios HTTP outbound"
        prefix: "axios."
        provider: OUTBOUND
        rule: "axios\\.(?<operation>[a-zA-Z0-9_]+)"
      - name: "Node fetch"
        prefix: "node-fetch."
        provider: OUTBOUND
        rule: "node-fetch\\.(?<operation>[a-zA-Z0-9_]+)"

  providers:
    OUTBOUND:
      servicenameMapping:
        "http": "http"
        "grpc": "grpc"
    DISCOVERY:
      servicenameMapping:
        "consul": "consul"
        "eureka": "eureka"
        "etcd": "etcd"
