사이코프(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=secretPostgreSQL 서버의 암호를 설정합니다. -
-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_driverdbapi_threadsafetydbapi_levellibpq_versiondriver_paramstyleopentelemetry_values
전달하여 이러한 키와 값을 포함할 수 있습니다. False 이러한 키를 제외하는 사전 commenter_options 예를 들어:
import logfire
logfire.configure()
logfire.instrument_psycopg(enable_commenter=True, commenter_options={'db_driver': False, 'dbapi_threadsafety': False})
本文总阅读量次