विषय पर बढ़ें

साइकोप (West Copg Hotel)

logfire.instrument_psycopg() कार्यों का उपयोग किया जा सकता है लॉगफायर पता लगाना साइकोप greSQL ड्राइवर। यह लागू होता है psycopg2 और psycopg(I.e. Psycopg 3) पैकेज।

अधिक जानकारी के लिए, कृपया देखें ओपनटेलीमेट्री साइकोपैग इंस्ट्रूमेंटेशन या ओपनटेलीमेट्री साइकोपैग 2 इंस्ट्रूमेंटेशन पैकेज प्रलेखन।

स्थापित करें

उपयोग psycopg अतिरिक्त स्थापना logfire यह क्या है?

{{ install_logfire(extras=['psycopg']) }}

या उपयोग करें psycopg2 अतिरिक्त:

{{ install_logfire(extras=['psycopg2']) }}

उपयोग

आइए डॉकर का उपयोग करके एक greSQL डेटाबेस सेट करें और एक पायथन स्क्रिप्ट चलाएं जो साइकोप का उपयोग करके डेटाबेस से जुड़ता है कि कैसे प्रदर्शित करें लॉगफायर साइकोप के साथ उपयोग करें।

डॉकर के साथ greSQL डेटाबेस की स्थापना

सबसे पहले, हमें greSQL डेटाबेस को इनिशियलाइज़ करने की आवश्यकता है। यह निम्नलिखित कमांड के साथ डॉकर का उपयोग करके आसानी से किया जा सकता है:

docker run --name postgres \
    -e POSTGRES_USER=user \
    -e POSTGRES_PASSWORD=secret \
    -e POSTGRES_DB=database \
    -p 5432:5432 -d postgres

यह क्रमबद्ध करना निम्नलिखित कार्यों को पूरा करता है:

  • --name postgres: डॉकर कंटेनर का नाम परिभाषित करें।

  • -e POSTGRES_USER=user: greSQL सर्वर के लिए एक उपयोगकर्ता सेट करें।

  • -e POSTGRES_PASSWORD=secret greSQL सर्वर के लिए एक पासवर्ड सेट करें।

  • -e POSTGRES_DB=database यह "डेटाबेस" नामक एक नया डेटाबेस बनाएगा, जो पायथन स्क्रिप्ट में उपयोग किया जाने वाला एक ही डेटाबेस है।

  • -p 5432:5432 यह पोर्ट 5432 पर स्थानीय कंप्यूटर पर greSQL उदाहरण उपलब्ध कराता है।

  • -d postgres: यह डॉकर छवि का उपयोग करने के लिए इंगित करता है, इस मामले में "पोस्टग्रेस।"

पायथन स्क्रिप्ट चलाएं

निम्नलिखित पायथन स्क्रिप्ट greSQL डेटाबेस से जुड़ती है और कुछ SQL प्रश्नों को निष्पादित करती है:

import logfire
import psycopg

logfire.configure()

# To instrument the whole module:
logfire.instrument_psycopg(psycopg)
# or
logfire.instrument_psycopg('psycopg')
# or just instrument whichever modules (psycopg and/or psycopg2) are installed:
logfire.instrument_psycopg()

connection = psycopg.connect(
    'dbname=database user=user password=secret host=0.0.0.0 port=5432'
)

# Or instrument just the connection:
logfire.instrument_psycopg(connection)

with logfire.span('Create table and insert data'), connection.cursor() as cursor:
    cursor.execute(
        'CREATE TABLE IF NOT EXISTS test (id serial PRIMARY KEY, num integer, data varchar);'
    )

    # Insert some data
    cursor.execute('INSERT INTO test (num, data) VALUES (%s, %s)', (100, 'abc'))
    cursor.execute('INSERT INTO test (num, data) VALUES (%s, %s)', (200, 'def'))

    # Query the data
    cursor.execute('SELECT * FROM test')

यदि आप यूआई पर परियोजना पर जाते हैं, तो आप स्क्रिप्ट निर्माण की अवधि देखेंगे।

SQL एनोटेटर

अतिरिक्त संदर्भ के साथ बिनलॉग को समृद्ध करने के लिए क्वेरी के अंत में SQL टिप्पणियों को जोड़ने के लिए,enable_commenter पैरामीटर का उपयोग करें:

लॉगफायर आयात करें

Logfire.configure ()
Logfire.instrument_psycopg (enable_commenter=true)

इसका उपयोग केवल पूरे मॉड्यूल का निरीक्षण करते समय किया जा सकता है, न कि किसी एकल कनेक्शन का निरीक्षण करते समय।

डिफ़ॉल्ट रूप से, SQL टिप्पणियों में निम्नलिखित कुंजियों के मान होंगे:

  • db_driver
  • dbapi_threadsafety
  • dbapi_level
  • libpq_version
  • driver_paramstyle
  • opentelemetry_values

आप पास करके इन कुंजियों और मूल्यों को शामिल कर सकते हैं False इनमें से किसी भी कुंजी को बाहर करने के लिए शब्दकोश commenter_options उदाहरण के लिए:

import logfire

logfire.configure()
logfire.instrument_psycopg(enable_commenter=True, commenter_options={'db_driver': False, 'dbapi_threadsafety': False})

opentelemetry-psycopg https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/psycopg/psycopg.html opentelemetry-psycopg2 https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/psycopg2/psycopg2.html [साइकोपैग]: https://www.psycopg.org /


本文总阅读量次