add analytics support

This commit is contained in:
Ori Kotek
2024-02-23 17:30:20 +02:00
parent 4242e157ab
commit b878f64793
2 changed files with 11 additions and 6 deletions

View File

@ -1,5 +1,6 @@
import json
import logging
import os
import sys
from enum import Enum
@ -39,8 +40,10 @@ def setup_logger(level: str = "INFO", fmt: LoggingFormat = LoggingFormat.CONSOLE
logger.remove(None)
logger.add(sys.stdout, level=level, colorize=True)
log_file = get_settings().get("CONFIG.ANALYTICS_FILE", "")
if log_file:
log_folder = get_settings().get("CONFIG.ANALYTICS_FOLDER", "")
if log_folder:
pid = os.getpid()
log_file = os.path.join(log_folder, f"pr-agent.{pid}.log")
logger.add(
log_file,
filter=analytics_filter,

View File

@ -1,7 +1,8 @@
/import asyncio.locks
import copy
import os
import asyncio.locks
import re
import uuid
from typing import Any, Dict, List, Tuple
import uvicorn
@ -14,10 +15,10 @@ from pr_agent.agent.pr_agent import PRAgent
from pr_agent.algo.utils import update_settings_from_args
from pr_agent.config_loader import get_settings, global_settings
from pr_agent.git_providers import get_git_provider
from pr_agent.git_providers.utils import apply_repo_settings
from pr_agent.git_providers.git_provider import IncrementalPR
from pr_agent.git_providers.utils import apply_repo_settings
from pr_agent.log import LoggingFormat, get_logger, setup_logger
from pr_agent.servers.utils import verify_signature, DefaultDictWithTimeout
from pr_agent.servers.utils import DefaultDictWithTimeout, verify_signature
setup_logger(fmt=LoggingFormat.JSON)
@ -204,7 +205,8 @@ async def handle_request(body: Dict[str, Any], event: str):
return {}
agent = PRAgent()
sender = body.get("sender", {}).get("login")
log_context = {"action": action, "event": event, "sender": sender, "server_type": "github_app"}
log_context = {"action": action, "event": event, "sender": sender, "server_type": "github_app",
"request_id": uuid.uuid4().hex}
# handle comments on PRs
if action == 'created':