params:
  excluded_namespaces:
    - "aspnetcore"
    - "cpython"
    - "dotnet"
    - "jvm"
    - "kestrel"
    - "nodejs"
    - "v8js"
  excluded_attributes: ["messaging.client_id"]
templates:
  - pattern: attribute_group.go.j2
    filter: >
      semconv_grouped_attributes({
        "exclude_deprecated": true,
        "exclude_root_namespace": $excluded_namespaces,
      })
      | map({
        root_namespace: .root_namespace,
        attributes: .attributes | map(select(.name as $st | $excluded_attributes[] | index($st) | not)),
      })
    application_mode: single
    file_name: attribute_group.go
  - pattern: metric.go.j2
    filter: >
      semconv_metrics({
        "exclude_deprecated": true,
        "exclude_root_namespace": $excluded_namespaces,
      }) 
      | semconv_group_metrics_by_root_namespace
    application_mode: each
    file_name: "{{ctx.root_namespace | camel_case | lower }}conv/metric.go"
comment_formats:
  go:
    format: markdown
    prefix: "// "
    indent_first_level_list_items: true
    shortcut_reference_link: true
    trim: true
    word_wrap:
      line_length: 80
  go_1tab:
    format: markdown
    prefix: "	// "
    indent_first_level_list_items: true
    shortcut_reference_link: true
    trim: true
    word_wrap:
      line_length: 80
default_comment_format: go
text_maps:
  attribute_type_method:
    string: String
    string[]: StringSlice
    int: Int
    int64: Int64
    int[]: IntSlice
    double: Float64
    double[]: FloatSlice
    boolean: Bool
    boolean[]: BoolSlice
  attribute_type_value:
    string: string
    string[]: "...string"
    int: int
    int[]: "...int"
    double: float64
    double[]: "...float64"
    boolean: bool
    boolean[]: "...bool"
  instrument:
    system.cpu.time: Float64ObservableCounter
    go.config.gogc: Int64ObservableUpDownCounter
    go.goroutine.count: Int64ObservableUpDownCounter
    go.memory.allocated: Int64ObservableCounter
    go.memory.allocations: Int64ObservableCounter
    go.memory.gc.goal: Int64ObservableUpDownCounter
    go.memory.limit: Int64ObservableUpDownCounter
    go.memory.used: Int64ObservableUpDownCounter
    go.processor.limit: Int64ObservableUpDownCounter
    otel.sdk.processor.log.queue.capacity: Int64ObservableUpDownCounter
    otel.sdk.processor.log.queue.size: Int64ObservableUpDownCounter
    otel.sdk.processor.span.queue.capacity: Int64ObservableUpDownCounter
    otel.sdk.processor.span.queue.size: Int64ObservableUpDownCounter
    process.cpu.time: Float64ObservableCounter
    system.memory.usage: Int64ObservableUpDownCounter
    system.memory.utilization: Float64ObservableGauge
    system.network.io: Int64ObservableCounter
acronyms:
  - ACL
  - AI
  - AIX
  - AKS
  - AMD64
  - API
  - ARM32
  - ARM64
  - ARN
  - ARNs
  - ASCII
  - ASPNETCore
  - AWS
  - ActiveMQ
  - AppHub
  - CICD
  - CPP
  - CPU
  - CSI
  - CSS
  - CVM
  - ClickHouse
  - CloudEvents
  - CloudFoundry
  - CockroachDB
  - CosmosDB
  - CouchDB
  - CronJob
  - DB
  - DB2
  - DC
  - DNS
  - DaemonSet
  - DragonflyBSD
  - DynamoDB
  - EC2
  - ECS
  - EDB
  - EKS
  - EOF
  - EventGrid
  - EventHubs
  - FC
  - FaaS
  - FirebirdSQL
  - FirstSQL
  - FreeBSD
  - GC
  - GCE
  - GCP
  - GNU
  - GRPC
  - GUID
  - GraphQL
  - HANA
  - HBase
  - HPA
  - HPUX
  - HSQLDB
  - HTML
  - HTTP
  - HTTPS
  - HanaDB
  - IA64
  - IBM
  - ICC
  - ID
  - IO
  - IOS
  - IOWait
  - IP
  - IPv4
  - IPv6
  - ISO
  - InProc
  - InfluxDB
  - InstantDB
  - JDBC
  - JMS
  - JSON
  - JSONRPC
  - JVM
  - K8S
  - LHS
  - MCC
  - MNC
  - MSSQL
  - MariaDB
  - MaxDB
  - MongoDB
  - MySQL
  - NetBSD
  - OCI
  - OKE
  - OS
  - OTel
  - OpenAI
  - OpenBSD
  - OpenSearch
  - OpenShift
  - OpenTracing
  - PHP
  - PID
  - PPC32
  - PPC64
  - PostgreSQL
  - PubSub
  - QPS
  - QUIC
  - RAM
  - RHS
  - RPC
  - RabbitMQ
  - ReplicaSet
  - ReplicationController
  - ResourceQuota
  - RocketMQ
  - SAP
  - SCF
  - SDK
  - SLA
  - SMTP
  - SNS
  - SPDY
  - SQL
  - SQLite
  - SQS
  - SSH
  - ServiceBus
  - SignalR
  - StatefulSet
  - TCP
  - TLS
  - TTL
  - UDP
  - UI
  - UID
  - URI
  - URL
  - UTF8
  - UUID
  - V8JS
  - VCS
  - VM
  - WebEngine
  - WebJS
  - XML
  - XMPP
  - XSRF
  - XSS
  - ZOS
