コンテンツにスキップ

My SQLの

logfire.instrument_mysql() メソッドは、Logfireを使用して、My SQL Connector/Pythonデータベースドライバを検出し、クエリごとにスパンを作成するために使用できます。

インストール

mysql extraを使用して logfire をインストールする:

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

使い方

Dockerを使用してMy SQLデータベースを設定し、My SQLコネクタを使用してデータベースに接続するPythonスクリプトを実行して、LogfireをMy SQLで使用する方法を示します。

Dockerを使用したMy SQLデータベースの設定

まず、My SQLデータベースを初期化する必要があります。これは、Dockerを使用して次のコマンドで簡単に実行できます。

docker run --name mysql \
    -e MYSQL_ROOT_PASSWORD=secret \
    -e MYSQL_DATABASE=database \
    -e MYSQL_USER=user \
    -e MYSQL_PASSWORD=secret \
    -p 3306:3306 -d mysql

このコマンドは、次の操作を実行します。

  • --name mysql:コンテナに「mysql」という名前を付けます。

  • -e MYSQL_ROOT_PASSWORD=secret rootパスワードを「secret」に設定します。

  • -e MYSQL_DATABASE=database データベースという名前の新しいデータベースを作成します。

  • -e MYSQL_USER=user 「user」という名前の新しいユーザーを作成します。

  • -e MYSQL_PASSWORD=secret 新しいユーザーのパスワードを「secret」に設定します。

  • -p 3306:3306 Docker内のポート3306をホスト上のポート3306にマッピングします。

  • -d mysql コンテナをバックグラウンドで実行し、コンテナIDを印刷します。画像は「mysql」です。

Pythonスクリプトの実行

次のPythonスクリプトはMy SQLデータベースに接続し、いくつかのSQLクエリを実行します。

import logfire
import mysql.connector

logfire.configure()

# To instrument the whole module:
logfire.instrument_mysql()

connection = mysql.connector.connect(
    host="localhost",
    user="user",
    password="secret",
    database="database",
    port=3306,
    use_pure=True,
)

# Or instrument just the connection:
# connection = logfire.instrument_mysql(connection)

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

    # 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')
    results = cursor.fetchall()  # Fetch all rows
    for row in results:
        print(row)  # Print each row

logfire.instrument_mysql() ご利用になる OpenTelemometry My SQLインストルメンテーション パッケージをすることができます。ここでパッケージに関する詳細情報を検索します。


本文总阅读量次