Lewati ke isi

Pengantar Logfire Pydantic

Logfire, dari tim di belakang Pydantic, adalah platform observabilitas yang dibangun dengan keyakinan yang sama seperti perpustakaan sumber terbuka kami - bahwa alat yang paling kuat dapat dengan mudah digunakan.

Apa yang membuat Logfire unik:

  • Sederhana dan kuat:Dasbor Logfire sederhana dibandingkan dengan fungsionalitas yang disediakannya, memastikan bahwa seluruh tim teknik Anda benar-benar akan menggunakannya.
  • Wawasan Python-centric:Dari tampilan objek Python yang kaya, hingga telemetri loop peristiwa, hingga menganalisis kode Python dan kueri basis data, Logfire memberi Anda visibilitas yang tak tertandingi ke dalam perilaku aplikasi Python.
  • Format SQL:Data kueri menggunakan SQL standar - semua kontrol, (untuk banyak orang) tanpa mempelajari sesuatu yang baru. Menggunakan SQL juga berarti Anda dapat query data menggunakan alat BI yang ada dan pustaka kueri database.
  • OpenTelemetry:Logfire adalah pembungkus yang benar sendiri untuk OpenTelemetry yang memungkinkan Anda memanfaatkan alat, infrastruktur, dan alat yang ada untuk mengembangkan banyak paket Python umum dan mendukung hampir semua bahasa.
  • Pydantic Integration:memahami data yang mengalir melalui model Pydantic dan mendapatkan analitik built-in untuk validasi.

Pydantic Logfire membantu Anda menguji aplikasi Anda dengan lebih sedikit kode, lebih sedikit waktu, dan pemahaman yang lebih baik.

ada_tumpukan jejak_Temukan jarumnya

Logfire Tangkapan layar FastAPI

Kami memahami Python dan fitur-fiturnya. Pydantic Logfire dibuat oleh pengembang Python untuk pengembang Python untuk mengatasi tantangan dan peluang unik dari lingkungan Python. Ini bukan hanya tentang memiliki data; ini tentang memiliki data_yang tepat untuk_, disajikan dengan cara yang masuk akal untuk aplikasi Python.

Dalam semangat Python

  • sederhana dan kuat: Meniru filosofi perpustakaan Pydantic, Pydantic Logfire memberikan titik awal intuitif untuk pemula sambil memberikan ke dalaman yang dibutuhkan oleh para ahli. Ini mencapai keseimbangan yang sama antara kemudahan penggunaan, kompleksitas, dan produktivitas, dan telah ditata ulang untuk diamati.
  • lahir di Python dan Pydantic: Ketika pencipta membenamkan diri dalam ekosistem sumber terbuka Python, kami merancang Pydantic Logfire untuk berintegrasi secara mendalam dengan nuansa Python dan Pydantic, memberikan lebih banyak penyesuaian daripada platform pengamatan universal Pengalaman.

Terjemahkan kalimat ini ke dalam bahasa Inggris: Terjemahkan kalimat ini ke dalam bahasa Inggris: Terjemahkan kalimat ini ke dalam bahasa Inggris: Terjemahkan kalimat ini ke dalam bahasa Inggris: Terjemahkan: Terjemahkan kalimat ini ke dalam bahasa Inggris: Terjemahkan: Terjemahkan kalimat ini ke dalam bahasa Inggris: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan: Terjemahkan

  • Integrasi Deep Python melalui ****, Pydantic Logfire secara otomatis mendeteksi kode Anda dengan usaha manual minimal, memberikan wawasan yang sangat baik tentang kode asinkron, memberikan analisis kinerja terperinci, dan sama dengan penerjemah Untuk pengguna Pydantic yang ada, ini juga memberikan wawasan yang tak tertandingi tentang bagaimana Anda bekerja dengan model Pydantic.
  • Data terstruktur dan akses SQL langsung berarti Anda dapat menggunakan alat yang sudah dikenal seperti Pandas, SQLAlchemy, atau psql untuk pertanyaan, berintegrasi dengan mulus dengan alat BI, dan bahkan memanfaatkan generasi AI SQL, memastikan bahwa objek Python dan data terstruktur Anda tersedia untuk kueri. Menggunakan vanilla PostgreSQL sebagai bahasa kueri di seluruh platform memastikan pengalaman kueri yang konsisten, kuat, dan fleksibel.
  • memanfaatkan OpenTelemetry melalui , Pydantic Logfire menyediakan deteksi otomatis untuk paket Python populer, mendukung Layanan Transmisi Data lintas bahasa, dan mendukung ekspor data ke OpenTelemetry-compatible backend atau proxy.

Pydantic Logfire: Platform pengamatan yang layak Anda dapatkan

Pydantic Logfirelebih dari sekadar alat lain di gudang; ini adalah solusi khusus yang dibuat dengan hati-hati oleh pengembang Python untuk pengembang Python, memastikan bahwa upaya pengembangan Anda semulus dan seefisien Python itu sendiri.

Dari skrip minimal hingga penyebaran skala besar, Pydantic Logfire adalah solusi pengamatan yang Anda tunggu-tunggu.


Sederhana dan kuat: roket: {#simplicity}

Pydantic Logfireharus sangat mudah digunakan, jalankan saja:

pip install logfire # (1)!
logfire auth # (2)!
  1. Pydantic LogfireSDK dapat dipasang dari PyPI atau Conda,Pelajari lebih lanjut.

  2. SDK dilengkapi dengan CLI untuk otentikasi, dll.Tolong pahami detailnya....

Kemudian dalam kode Anda:

import logfire
from datetime import date

logfire.configure()  # (1)!

logfire.info('Hello, {name}!', name='world')  # (2)!

with logfire.span('Asking the user their {question}', question='age'):  # (3)!
    user_input = input('How old are you [YYYY-mm-dd]? ')
    dob = date.fromisoformat(user_input)  # (4)!
    logfire.debug('{dob=} {age=!r}', dob=dob, age=date.today() - dob)  # (5)!
1. Ini harus dipanggil sekali sebelum masuk untuk menginisialisasi Logfire. Jika tidak ada proyek yang dikonfigurasi untuk direktori saat ini, prompt interaktif akan memandu Anda untuk membuat proyek.

  1. Ini akan mencatat Hello world! dengan tingkat 信息.name='world' akan disimpan sebagai properti yang dapat ditanyakan menggunakan SQL.

  2. Bentang memungkinkan Anda untuk bersarang panggilan Logfire lainnya dan juga mengukur waktu yang dibutuhkan kode Anda untuk berjalan. Mereka adalah bagian mendasar dari jejak!

  3. Cobalah untuk mengekstrak tanggal dari input pengguna. Jika ada pengecualian yang dilemparkan, bentang luar akan berisi detail pengecualian.

  4. Misalnya, ini akan merekam dob=2000-01-01 age=datetime.timedelta(days=8838) dari 调试 Tingkat.

Ini mungkin tampak mirip dengan penebangan sederhana, tetapi jauh lebih kuat - Anda mendapatkan:

  • Data terstruktur dalam log
  • Log / jejak bersarang untuk menempatkan konten yang Anda lihat dalam konteks
  • Platform khusus untuk melihat data Anda tanpa konfigurasi
  • Dan banyak lagi, seperti tampilan objek Python yang bagus - lihat di bawah

Perhatian

Jika Anda memiliki aplikasi yang ada untuk dideteksi, tambahkan ke kode di awal logfire.* Sebelum menelepon, Anda akan Mengkonfigurasi Integrasi OTel Dapatkan nilai maksimal dari itu.

Logfire halo tangkapan layar dunia

Wawasan Python dan Pydantic: ular: {#python}

Dari tampilan objek Python yang kaya hingga telemetri loop peristiwa dan analisis kode Python, Pydantic Logfire memberi Anda pemahaman yang lebih baik tentang cara kerja Python daripada alat pengamatan lainnya.

Logfire juga memiliki integrasi Pydantic out-of-the-box yang memungkinkan Anda memahami data yang melewati model Pydantic dan mendapatkan analisis validasi.

Kami dapat langsung mendokumentasikan model Pydantic:

from datetime import date
import logfire
from pydantic import BaseModel

logfire.configure()

class User(BaseModel):
    name: str
    country_code: str
    dob: date

user = User(name='Anne', country_code='USA', dob='2000-01-01')
logfire.info('user processed: {user!r}', user=user)  # (1)!
  1. Ini akan menunjukkan 用户处理的:User(name='Anne', country_code='US', dob=datetime.date(2000, 1, 1))), tetapi juga memungkinkan Anda untuk melihat tampilan model yang "bagus" di platform Logfire.

Tangkapan layar manual pydantic logika

Atau, kami dapat merekam informasi tentang verifikasi secara otomatis:

from datetime import date
import logfire
from pydantic import BaseModel

logfire.configure(pydantic_plugin=logfire.PydanticPlugin(record='all'))  # (1)!

class User(BaseModel):
    name: str
    country_code: str
    dob: date

User(name='Anne', country_code='USA', dob='2000-01-01')  # (2)!
User(name='Ben', country_code='USA', dob='2000-02-02')
User(name='Charlie', country_code='GBR', dob='1990-03-03')
  1. Konfigurasi ini berarti bahwa detail tentang semua validasi model Pydantic akan dicatat. Anda juga dapat mencatat hanya detail tentang kegagalan validasi, atau hanya metrik; lihat dokumentasi plugin Pydantic.

  2. Karena kami telah mengaktifkan plugin Pydantic, semua validasi Pydantic akan dicatat di Logfire.

Pelajari lebih lanjut tentang plugin Pydantic di sini.

Tangkapan layar plugin pydantic logika

OpenTelemetry di bawah kap: Teleskop:{#otel}

karena Logfire Pirang Berdasarkan OpenTelemetri Dibangun agar Anda dapat menggunakan berbagai alat dan infrastruktur yang ada, termasuk Deteksi banyak paket Python umum...

Misalnya, kita dapat mendeteksi aplikasi FastAPI sederhana hanya dengan 2 baris kode:

fastapi_example.py
from datetime import date
import logfire
from pydantic import BaseModel
from fastapi import FastAPI

app = FastAPI()

logfire.configure()
logfire.instrument_fastapi(app)  # (1)!
# next, instrument your database connector, http library etc. and add the logging handler (2)


class User(BaseModel):
    name: str
    country_code: str
    dob: date


@app.post('/')
async def add_user(user: User):
    # we would store the user here
    return {'message': f'{user.name} added'}
  1. Kecuali Konfigurasi logfire Selain itu, baris ini biasanya yang Anda butuhkan untuk mendeteksi aplikasi Fast API dengan Logfire, dan hal yang sama berlaku untuk sebagian besar kerangka kerja web Python populer lainnya.

Halaman2. "Integrasi" berisi informasi lebih lanjut tentang cara mendeteksi bagian lain dari aplikasi Anda.

Kita perlu menginstal paket contrib FastAPI, FastAPI itu sendiri, dan uvicorn untuk menjalankannya:

pip install 'logfire[fastapi]' fastapi uvicorn  # (1)!
uvicorn fastapi_example:app # (2)!
  1. Instal paket 'logfire' dengan ekstra 'fastapi', FastAPI, dan uvicorn.

  2. Jalankan aplikasi Fast API dengan uvicorn.

Ini akan memberi Anda informasi tentang permintaan HTTP, serta detail tentang hasil validasi input yang berhasil.

Tangkapan layar respons FastAPI 200 Logfire

Dan rincian validasi input yang gagal:

Tangkapan layar respons Logfire FastAPI 422

Data terstruktur dan SQL: sempoa: {#sql}

Data kueri dengan spesifikasi murni Postgres SQL - semua kontrol, (untuk banyak orang) tanpa mempelajari sesuatu yang baru. Kami bahkan menyediakan akses langsung ke database Postgres yang mendasarinya, yang berarti Anda dapat menanyakan Logfire dengan alat yang kompatibel dengan Postgres yang Anda suka. Ini termasuk platform pembuatan dasbor seperti Superset, Grafana, dan Google Looker Studio, serta Panda,SQLAlchemy bahkan psql...

Salah satu keuntungan utama menggunakan database SQL yang paling banyak digunakan adalah bahwa alat AI generatif seperti ChatGPT sangat baik dalam menulis SQL untuk Anda.

Cukup sertakan objek Python Anda dalam panggilanLogfire(daftar, kamus, kelas data, model Pydantic, bingkai data, dll.), dan akan siap untuk kueri sebagai data terstruktur di platform kami.

Misalnya, dengan menggunakan data dari model 用户 di atas, kami dapat mencantumkan pengguna dari Amerika Serikat:

SELECT attributes->'result'->>'name' as name, age(attributes->'result'->>'dob') as age
FROM records
WHERE attributes->'result'->>'country_code' = 'USA'

Logfire menjelajahi tangkapan layar kueri

Anda juga dapat memfilter untuk hanya menampilkan trek yang terkait dengan pengguna AS di Live View

attributes->'result'->>'country_code' = 'USA'

Tangkapan layar permintaan pencarian logfire


本文总阅读量次