kopia lustrzana https://github.com/bugout-dev/moonstream
Exec db query time log
rodzic
a729fb57c1
commit
e7fead352e
|
@ -3,6 +3,7 @@ import json
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import uuid
|
import uuid
|
||||||
|
from datetime import datetime, timezone
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
from typing import Any, Dict, List, Optional, Tuple
|
from typing import Any, Dict, List, Optional, Tuple
|
||||||
|
@ -16,7 +17,6 @@ from sqlalchemy.orm import sessionmaker
|
||||||
from sqlalchemy.sql import text
|
from sqlalchemy.sql import text
|
||||||
|
|
||||||
from ..reporter import reporter
|
from ..reporter import reporter
|
||||||
from ..stats_worker.queries import to_json_types
|
|
||||||
from ..settings import (
|
from ..settings import (
|
||||||
BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
||||||
MOONSTREAM_ADMIN_ACCESS_TOKEN,
|
MOONSTREAM_ADMIN_ACCESS_TOKEN,
|
||||||
|
@ -24,6 +24,10 @@ from ..settings import (
|
||||||
MOONSTREAM_QUERY_API_DB_STATEMENT_TIMEOUT_MILLIS,
|
MOONSTREAM_QUERY_API_DB_STATEMENT_TIMEOUT_MILLIS,
|
||||||
bugout_client,
|
bugout_client,
|
||||||
)
|
)
|
||||||
|
from ..stats_worker.queries import to_json_types
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.INFO)
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
QUERY_REGEX = re.compile("[\[\]@#$%^&?;`/]")
|
QUERY_REGEX = re.compile("[\[\]@#$%^&?;`/]")
|
||||||
|
|
||||||
|
@ -94,6 +98,8 @@ def fetch_data_from_db(
|
||||||
process_session = sessionmaker(bind=engine)
|
process_session = sessionmaker(bind=engine)
|
||||||
db_session = process_session()
|
db_session = process_session()
|
||||||
|
|
||||||
|
time_now = datetime.now(timezone.utc)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result = db_session.execute(text(query), params)
|
result = db_session.execute(text(query), params)
|
||||||
data_keys = result.keys()
|
data_keys = result.keys()
|
||||||
|
@ -112,6 +118,11 @@ def fetch_data_from_db(
|
||||||
finally:
|
finally:
|
||||||
db_session.close()
|
db_session.close()
|
||||||
|
|
||||||
|
exec_timedelta = datetime.now(timezone.utc) - time_now
|
||||||
|
logger.info(
|
||||||
|
f"Database query finished in {int(exec_timedelta.total_seconds())} seconds"
|
||||||
|
)
|
||||||
|
|
||||||
return data_keys, data_rows
|
return data_keys, data_rows
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,7 +132,10 @@ def prepare_output(
|
||||||
"""
|
"""
|
||||||
Parse incoming data from database to proper format OutputType.
|
Parse incoming data from database to proper format OutputType.
|
||||||
"""
|
"""
|
||||||
def prepare_dict(data_temp_keys: Tuple[Any], data_temp_rows: Tuple[List[Any]]) -> List[Dict[str, Any]]:
|
|
||||||
|
def prepare_dict(
|
||||||
|
data_temp_keys: Tuple[Any], data_temp_rows: Tuple[List[Any]]
|
||||||
|
) -> List[Dict[str, Any]]:
|
||||||
output_raw = []
|
output_raw = []
|
||||||
for row in data_temp_rows:
|
for row in data_temp_rows:
|
||||||
data_r = {}
|
data_r = {}
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
from datetime import datetime, timezone
|
|
||||||
|
|
||||||
from moonstreamdb.blockchain import AvailableBlockchainType
|
from moonstreamdb.blockchain import AvailableBlockchainType
|
||||||
|
|
||||||
from ..actions import push_data_to_bucket
|
from ..actions import push_data_to_bucket
|
||||||
from ..settings import (
|
from ..settings import MOONSTREAM_S3_DATA_BUCKET, MOONSTREAM_S3_DATA_BUCKET_PREFIX
|
||||||
MOONSTREAM_S3_DATA_BUCKET,
|
|
||||||
MOONSTREAM_S3_DATA_BUCKET_PREFIX,
|
|
||||||
)
|
|
||||||
from .actions import (
|
from .actions import (
|
||||||
OutputType,
|
OutputType,
|
||||||
fetch_data_from_db,
|
fetch_data_from_db,
|
||||||
|
@ -59,8 +55,6 @@ def main() -> None:
|
||||||
parser.set_defaults(func=lambda _: parser.print_help())
|
parser.set_defaults(func=lambda _: parser.print_help())
|
||||||
subcommands = parser.add_subparsers(description="Query crawlers commands")
|
subcommands = parser.add_subparsers(description="Query crawlers commands")
|
||||||
|
|
||||||
time_now = datetime.now(timezone.utc)
|
|
||||||
|
|
||||||
parser_queries_execute = subcommands.add_parser(
|
parser_queries_execute = subcommands.add_parser(
|
||||||
"execute", description="Execute query"
|
"execute", description="Execute query"
|
||||||
)
|
)
|
||||||
|
|
Ładowanie…
Reference in New Issue