# Copyright 2024 RustFS Team # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. service: extensions: [ jaeger_storage, jaeger_query, remote_sampling, healthcheckv2 ] pipelines: traces: receivers: [ otlp, jaeger, zipkin ] processors: [ batch, adaptive_sampling ] exporters: [ jaeger_storage_exporter ] telemetry: resource: service.name: jaeger metrics: level: detailed readers: - pull: exporter: prometheus: host: 0.0.0.0 port: 8888 logs: level: debug # TODO Initialize telemetry tracer once OTEL released new feature. # https://github.com/open-telemetry/opentelemetry-collector/issues/10663 extensions: healthcheckv2: use_v2: true http: # pprof: # endpoint: 0.0.0.0:1777 # zpages: # endpoint: 0.0.0.0:55679 jaeger_query: storage: traces: some_store traces_archive: another_store ui: config_file: ./cmd/jaeger/config-ui.json log_access: true # The maximum duration that is considered for clock skew adjustments. # Defaults to 0 seconds, which means it's disabled. max_clock_skew_adjust: 0s grpc: endpoint: 0.0.0.0:16685 http: endpoint: 0.0.0.0:16686 jaeger_storage: backends: some_store: memory: max_traces: 1000000 max_events: 100000 another_store: memory: max_traces: 1000000 metric_backends: some_metrics_storage: prometheus: endpoint: http://prometheus:9090 normalize_calls: true normalize_duration: true remote_sampling: # You can either use file or adaptive sampling strategy in remote_sampling # file: # path: ./cmd/jaeger/sampling-strategies.json adaptive: sampling_store: some_store initial_sampling_probability: 0.1 http: grpc: receivers: otlp: protocols: grpc: http: jaeger: protocols: grpc: thrift_binary: thrift_compact: thrift_http: zipkin: processors: batch: metadata_keys: [ "span.kind", "http.method", "http.status_code", "db.system", "db.statement", "messaging.system", "messaging.destination", "messaging.operation","span.events","span.links" ] # Adaptive Sampling Processor is required to support adaptive sampling. # It expects remote_sampling extension with `adaptive:` config to be enabled. adaptive_sampling: exporters: jaeger_storage_exporter: trace_storage: some_store