콘텐츠로 이동

사이코프(West Copg Hotel)

logfire.instrument_psycopg() 기능을 사용할 수 있습니다. 로그파이어 탐지 사이코그 PostgreSQL 드라이버. 에 적용됩니다 psycopg2 그리고 psycopg(즉, 사이코프 3) 패키지.

자세한 내용은OpenTelemetry Psycopg 계측또는OpenTelemetry Psycopg2 계측패키지에 대한 설명서를 참조하십시오.

설치

psycopg 추가와 함께 logfire 설치:

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

또는 사용 psycopg2 추가:

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

사용법

PostgreSQL 데이터베이스를 설정하고 Psycopg를 사용하여 데이터베이스에 연결하는 파이썬 스크립트를 실행하여 Psycopg와 함께Logfire를 사용하는 방법을 시연합니다.

Postgre 설정도커가 있는 데이터베이스

먼저 Postgre를 초기화해야 합니다. 이 작업은 다음 명령으로 Docker를 사용하여 쉽게 수행할 수 있습니다.

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: PostgreSQL 서버에 대한 사용자를 설정합니다.

  • -e POSTGRES_PASSWORD=secret PostgreSQL 서버의 암호를 설정합니다.

  • -e POSTGRES_DB=database 이렇게 하면 파이썬 스크립트에 사용된 것과 동일한 데이터베이스인 "데이터베이스"라는 새 데이터베이스가 생성됩니다.

  • -p 5432:5432 이렇게 하면 PostgreSQL 인스턴스가 포트 5432의 로컬 컴퓨터에서 사용할 수 있습니다.

  • -d postgres: 이 경우 사용할 도커 이미지를 나타냅니다. "

파이썬 스크립트 실행

다음 Python 스크립트는 PostgreSQL 데이터베이스에 연결하고 일부 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')

UI에서 프로젝트로 이동하면 스크립트 생성 범위가 표시됩니다.

SQL 주석자

추가 컨텍스트로 빈 로그를 풍부하게 하기 위해 쿼리 끝에 SQL 주석을 추가하려면 enable_commenter 매개 변수를 사용하십시오.

로그파이어 가져오기

Logfire . 구성 ()
Logfire .er_cycopg (en_comenter = 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})

本文总阅读量次