connectors:
    signozmeter:
        metrics_flush_interval: 1h
        dimensions:
            - name: service.name
            - name: deployment.environment
            - name: host.name
receivers:
    otlp:
        protocols:
            grpc:
                endpoint: 0.0.0.0:4317
            http:
                endpoint: 0.0.0.0:4318

processors:
    batch:
        send_batch_size: 10000
        send_batch_max_size: 11000
        timeout: 10s
    batch/meter:
        send_batch_max_size: 25000
        send_batch_size: 20000
        timeout: 1s
    resourcedetection:
        # Using OTEL_RESOURCE_ATTRIBUTES envvar, env detector adds custom labels.
        detectors: [env, system]
        timeout: 2s
    signozspanmetrics/delta:
        metrics_exporter: signozclickhousemetrics
        metrics_flush_interval: 60s
        latency_histogram_buckets:
            [
                100us,
                1ms,
                2ms,
                6ms,
                10ms,
                50ms,
                100ms,
                250ms,
                500ms,
                1000ms,
                1400ms,
                2000ms,
                5s,
                10s,
                20s,
                40s,
                60s,
            ]
        dimensions_cache_size: 100000
        aggregation_temporality: AGGREGATION_TEMPORALITY_DELTA
        enable_exp_histogram: true
        dimensions:
            - name: service.namespace
              default: default
            - name: deployment.environment
              default: default
            # This is added to ensure the uniqueness of the timeseries
            # Otherwise, identical timeseries produced by multiple replicas of
            # collectors result in incorrect APM metrics
            - name: signoz.collector.id
            - name: service.version
            - name: browser.platform
            - name: browser.mobile
            - name: k8s.cluster.name
            - name: k8s.node.name
            - name: k8s.namespace.name
            - name: host.name
            - name: host.type
            - name: container.name
extensions:
    health_check:
        endpoint: 0.0.0.0:13133
    pprof:
        endpoint: 0.0.0.0:1777
exporters:
    clickhousetraces:
        datasource: tcp://clickhouse:9000/signoz_traces
        low_cardinal_exception_grouping: ${env:LOW_CARDINAL_EXCEPTION_GROUPING}
        use_new_schema: true
    signozclickhousemetrics:
        dsn: tcp://clickhouse:9000/signoz_metrics
    clickhouselogsexporter:
        dsn: tcp://clickhouse:9000/signoz_logs
        timeout: 10s
        use_new_schema: true
    signozclickhousemeter:
        dsn: tcp://clickhouse:9000/signoz_meter
        timeout: 45s
        sending_queue:
            enabled: false
    metadataexporter:
        cache:
            provider: in_memory
        dsn: tcp://clickhouse:9000/signoz_metadata
        enabled: true
        timeout: 45s
service:
    telemetry:
        logs:
            encoding: json
    extensions:
        - health_check
        - pprof
    pipelines:
        traces:
            receivers: [otlp]
            processors: [signozspanmetrics/delta, batch]
            exporters: [clickhousetraces, metadataexporter, signozmeter]
        metrics:
            receivers: [otlp]
            processors: [batch]
            exporters: [signozclickhousemetrics, metadataexporter, signozmeter]

        logs:
            receivers: [otlp]
            processors: [batch]
            exporters: [clickhouselogsexporter, metadataexporter, signozmeter]
        metrics/meter:
            receivers: [signozmeter]
            processors: [batch/meter]
            exporters: [signozclickhousemeter]
