# OpenTelemetry

Adres: https://softwaredictionary.org/tr/terimler/opentelemetry
Kategori: DevOps ve Bulut
Son güncelleme: 2026-10-05
Okunuşu: opın tılemıtri

Kısaca: OpenTelemetry, yazılımdan trace, metrik ve log toplayıp bunları herhangi bir izleme backend'ine göndermek için açık bir standart ve araç takımıdır.

## OpenTelemetry nedir?

Çalışan bir sistemi anlamak için telemetriye ihtiyaç vardır: bir isteği servisler boyunca izleyen trace'ler, istek sayısı ve gecikme gibi metrikler ve loglar. Çoğu zaman OTel diye kısaltılan OpenTelemetry, her dile bu verileri üretmek için aynı API'yi ve SDK'yı, göndermek için de ortak bir protokolü, OTLP'yi verir. Daha önceki iki girişim olan OpenTracing ve OpenCensus'un 2019'da birleşmesiyle doğan bir Cloud Native Computing Foundation projesidir.

Asıl vaadi bağımsızlıktır. Kodunuzu bir kez enstrümante edersiniz; veriler, kodu değil yapılandırmayı değiştirerek Jaeger'a, Prometheus'a, Grafana'ya ya da ticari bir servise gidebilir. Pek çok kütüphane ve framework otomatik olarak enstrümante edilebilir; böylece HTTP çağrıları ve veritabanı sorguları ek bir iş yapmadan span olarak görünür. Ayrı bir program olan OpenTelemetry Collector ise verileri yol üzerinde alabilir, filtreleyebilir, zenginleştirebilir ve iletebilir.

Tracing, bağlamın aktarılmasıyla çalışır. Bir servis başka birini çağırdığında W3C Trace Context standardının tanımladığı bir `traceparent` başlığı ekler; böylece sonraki servis kendi span'lerini aynı trace'e bağlar. Sonuç, bir isteğin dokunduğu her servis boyunca uzanan bir zaman çizelgesidir; zamanın nereye gittiğini ya da bir hatanın nerede başladığını gösterir. OpenTelemetry telemetrinin üretilmesini ve taşınmasını kapsar; saklamak ve dashboard çizmek backend'e kalır.

## Önemli noktalar

- OpenTelemetry, trace, metrik ve loglar için hiçbir sağlayıcıya bağlı olmayan bir standarttır.
- Kod bir kez enstrümante edilir ve veriler herhangi bir backend'e gidebilir.
- OTLP onun protokolüdür; Collector verileri alır, işler ve iletir.
- Trace bağlamı servisler arasında `traceparent` başlığıyla taşınır.

## Örnek: Python'da OpenTelemetry API'siyle bir span kaydetmek

```python
from opentelemetry import trace

tracer = trace.get_tracer("checkout")

def place_order(order):
    with tracer.start_as_current_span("place_order") as span:
        span.set_attribute("order.items", len(order.items))
        charge(order)             # spans inside become children of this one
        send_confirmation(order)
```

## Sık sorulan sorular

**OpenTelemetry bir izleme aracı mı?**

Tek başına değil. Telemetriyi üretir ve taşır ama saklamaz ya da dashboard çizmez; bunun için veriler açık kaynak ya da ticari bir backend'e gider. Bu ayrımın amacı da budur: kodu değiştirmeden backend'i değiştirebilirsiniz.

**OpenTelemetry ile Prometheus arasındaki fark nedir?**

Prometheus bir izleme sistemidir: metrikleri toplar, saklar, sorgulamanızı ve alarm kurmanızı sağlar. OpenTelemetry ise trace, metrik ve log üretmek için bir standarttır. Birlikte çalışırlar ve OpenTelemetry metrikleri Prometheus'a gönderilebilir.

## Kaynaklar

- [OpenTelemetry documentation: What is OpenTelemetry?](https://opentelemetry.io/docs/what-is-opentelemetry/)
- [OpenTelemetry documentation: Signals](https://opentelemetry.io/docs/concepts/signals/)
- [W3C Trace Context](https://www.w3.org/TR/trace-context/)

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
