Files
2020-04-08 10:39:44 -07:00

39 lines
1.2 KiB
Python

"""Instrument mysqlclient / MySQL-python to report MySQL queries.
``patch_all`` will automatically patch your mysql connection to make it work.
::
# Make sure to import MySQLdb and not the 'connect' function,
# otherwise you won't have access to the patched version
from ddtrace import Pin, patch
import MySQLdb
# If not patched yet, you can patch mysqldb specifically
patch(mysqldb=True)
# This will report a span with the default settings
conn = MySQLdb.connect(user="alice", passwd="b0b", host="localhost", port=3306, db="test")
cursor = conn.cursor()
cursor.execute("SELECT 6*7 AS the_answer;")
# Use a pin to specify metadata related to this connection
Pin.override(conn, service='mysql-users')
This package works for mysqlclient or MySQL-python. Only the default
full-Python integration works. The binary C connector provided by
_mysql is not yet supported.
Help on mysqlclient can be found on:
https://mysqlclient.readthedocs.io/
"""
from ...utils.importlib import require_modules
required_modules = ['MySQLdb']
with require_modules(required_modules) as missing_modules:
if not missing_modules:
from .patch import patch
__all__ = ['patch']