\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82
| Path : /var/www/html/yedekledb24/DatabaseBackupMasterv7/__pycache__/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv7/__pycache__/database_performance.cpython-310.pyc |
o
z|�gng � @ s� d Z ddlZddlZddlmZmZ ddlZddlmZ ejejdd� e� e
�Zdd� Zd d
� Z
dd
d�Zdd� Zdd� ZdS )u�
PostgreSQL veritabanı performans metrikleri için yardımcı fonksiyonlar.
Bu modül, pg_stat_statements kullanarak sunucularda çalışan sorguların performans verilerini alır.
� N)�datetime� timedelta)�sqlz4%(asctime)s - %(name)s - %(levelname)s - %(message)s)�level�formatc
C s� zJ| � � }|�d� |�� du}|sW dS |�d� |�� d }z|�d� |�� d }|r6d|v r6W W dS W n tjjyE | Y W S w |oI|W S tyi } zd �t|��}t �
|� W Y d}~dS d}~ww )
u�
PostgreSQL sunucusunda pg_stat_statements'ın etkin olup olmadığını kontrol eder.
Args:
connection: PostgreSQL bağlantı nesnesi
Returns:
bool: Modül yüklüyse True, değilse False
�?SELECT 1 FROM pg_extension WHERE extname = 'pg_stat_statements'NFz�
SELECT COUNT(*) > 0
FROM pg_proc p
JOIN pg_namespace n ON p.pronamespace = n.oid
WHERE n.nspname = 'public' AND p.proname LIKE 'pg_stat_statements%'
r zSHOW shared_preload_libraries�pg_stat_statementsTz-pg_stat_statements kontrol edilirken hata: {})�cursor�execute�fetchone�psycopg2�errors�InsufficientPrivilege� Exceptionr �str�logger�error)�
connectionr �extension_exists�
has_functions� libraries�e� error_msg� r �F/var/www/html/yedekledb24/DatabaseBackupMaster/database_performance.py�pg_stat_statements_enabled s0
�
�
��r c
C s� z$| � � }|�d� |�� du r|�d� | �� ddd�W S ddd�W S tyN } zd�t|��}d �t|��}t�|� d
|d�W Y d}~S d}~ww )u�
PostgreSQL sunucusunda pg_stat_statements'ı etkinleştirir.
Args:
connection: PostgreSQL bağlantı nesnesi
Returns:
dict: İşlem sonucu (success, message)
r Nz1CREATE EXTENSION IF NOT EXISTS pg_stat_statementsTuQ pg_stat_statements eklentisi kuruldu. Sunucuyu yeniden başlatmanız gerekebilir.)�success�messagez*pg_stat_statements eklentisi zaten kurulu.u/ pg_stat_statements etkinleştirilirken hata: {}zHata: {}F) r r
r �commitr r r r r )r r r r �message_textr r r �enable_pg_stat_statementsE s
��r � �
total_timec %
C s^ zt |�}W n
ttfy d}Y nw d}d}d}d}g }dddddd�} d}
zd �| d
| d | d | d
| d �}
W n$ tya } zd�t|��}t�|� d|g d�W Y d}~S d}~ww zFt� |
�}
d|
_
|
�� }|�d� |�
� }|r�|d r�|d }|�d�}|r�|d �� r�t |d �}|| d<