diff options
| author | Nate Sesti <sestinj@gmail.com> | 2023-07-24 19:19:33 -0700 | 
|---|---|---|
| committer | Nate Sesti <sestinj@gmail.com> | 2023-07-24 19:19:33 -0700 | 
| commit | 000e9c0735c50bd6cb63866441d7f73083665902 (patch) | |
| tree | e721ae8223e4683f12522861d82036ead1f7993d /continuedev/src/continuedev/server | |
| parent | 0672fa836c9e2b242fbc530ebdb645192c4b0590 (diff) | |
| download | sncontinue-000e9c0735c50bd6cb63866441d7f73083665902.tar.gz sncontinue-000e9c0735c50bd6cb63866441d7f73083665902.tar.bz2 sncontinue-000e9c0735c50bd6cb63866441d7f73083665902.zip  | |
telemetry refactoring and switch config.json->py
Diffstat (limited to 'continuedev/src/continuedev/server')
| -rw-r--r-- | continuedev/src/continuedev/server/gui.py | 16 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/gui_protocol.py | 4 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/ide.py | 31 | 
3 files changed, 21 insertions, 30 deletions
diff --git a/continuedev/src/continuedev/server/gui.py b/continuedev/src/continuedev/server/gui.py index 36b2f3fa..70778dfe 100644 --- a/continuedev/src/continuedev/server/gui.py +++ b/continuedev/src/continuedev/server/gui.py @@ -2,15 +2,15 @@ import asyncio  import json  from fastapi import Depends, Header, WebSocket, APIRouter  from starlette.websockets import WebSocketState, WebSocketDisconnect -from typing import Any, List, Type, TypeVar, Union +from typing import Any, List, Type, TypeVar  from pydantic import BaseModel  import traceback  from uvicorn.main import Server -from .session_manager import SessionManager, session_manager, Session +from .session_manager import session_manager, Session  from .gui_protocol import AbstractGUIProtocolServer  from ..libs.util.queue import AsyncSubscriptionQueue -from ..libs.util.telemetry import capture_event +from ..libs.util.telemetry import posthog_logger  from ..libs.util.create_async_task import create_async_task  router = APIRouter(prefix="/gui", tags=["gui"]) @@ -85,8 +85,6 @@ class GUIProtocolServer(AbstractGUIProtocolServer):                  self.on_reverse_to_index(data["index"])              elif message_type == "retry_at_index":                  self.on_retry_at_index(data["index"]) -            elif message_type == "change_default_model": -                self.on_change_default_model(data["model"])              elif message_type == "clear_history":                  self.on_clear_history()              elif message_type == "delete_at_index": @@ -126,10 +124,6 @@ class GUIProtocolServer(AbstractGUIProtocolServer):          create_async_task(              self.session.autopilot.retry_at_index(index), self.session.autopilot.continue_sdk.ide.unique_id) -    def on_change_default_model(self, model: str): -        create_async_task(self.session.autopilot.change_default_model( -            model), self.session.autopilot.continue_sdk.ide.unique_id) -      def on_clear_history(self):          create_async_task(self.session.autopilot.clear_history(          ), self.session.autopilot.continue_sdk.ide.unique_id) @@ -199,8 +193,8 @@ async def websocket_endpoint(websocket: WebSocket, session: Session = Depends(we          print("GUI websocket disconnected")      except Exception as e:          print("ERROR in gui websocket: ", e) -        capture_event(session.autopilot.continue_sdk.ide.unique_id, "gui_error", { -                      "error_title": e.__str__() or e.__repr__(), "error_message": '\n'.join(traceback.format_exception(e))}) +        posthog_logger.capture_event("gui_error", { +            "error_title": e.__str__() or e.__repr__(), "error_message": '\n'.join(traceback.format_exception(e))})          raise e      finally:          print("Closing gui websocket") diff --git a/continuedev/src/continuedev/server/gui_protocol.py b/continuedev/src/continuedev/server/gui_protocol.py index fb230216..990833be 100644 --- a/continuedev/src/continuedev/server/gui_protocol.py +++ b/continuedev/src/continuedev/server/gui_protocol.py @@ -30,10 +30,6 @@ class AbstractGUIProtocolServer(ABC):          """Called when the user requests a retry at a previous index"""      @abstractmethod -    def on_change_default_model(self): -        """Called when the user requests to change the default model""" - -    @abstractmethod      def on_clear_history(self):          """Called when the user requests to clear the history""" diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index aeff5623..aa69a6cb 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -1,23 +1,24 @@  # This is a separate server from server/main.py -from functools import cached_property  import json  import os -from typing import Any, Dict, List, Type, TypeVar, Union +from typing import Any, List, Type, TypeVar, Union  import uuid -from fastapi import WebSocket, Body, APIRouter +from fastapi import WebSocket, APIRouter  from starlette.websockets import WebSocketState, WebSocketDisconnect  from uvicorn.main import Server +from pydantic import BaseModel  import traceback +import asyncio -from ..libs.util.telemetry import capture_event +from ..libs.util.telemetry import posthog_logger  from ..libs.util.queue import AsyncSubscriptionQueue  from ..models.filesystem import FileSystem, RangeInFile, EditDiff, RangeInFileWithContents, RealFileSystem  from ..models.filesystem_edit import AddDirectory, AddFile, DeleteDirectory, DeleteFile, FileSystemEdit, FileEdit, FileEditWithFullContents, RenameDirectory, RenameFile, SequentialFileSystemEdit -from pydantic import BaseModel -from .gui import SessionManager, session_manager +from .gui import session_manager  from .ide_protocol import AbstractIdeProtocolServer -import asyncio  from ..libs.util.create_async_task import create_async_task +from .session_manager import SessionManager +  import nest_asyncio  nest_asyncio.apply() @@ -273,12 +274,12 @@ class IdeProtocolServer(AbstractIdeProtocolServer):      # like file changes, tracebacks, etc...      def onAcceptRejectSuggestion(self, accepted: bool): -        capture_event(self.unique_id, "accept_reject_suggestion", { +        posthog_logger.capture_event("accept_reject_suggestion", {              "accepted": accepted          })      def onAcceptRejectDiff(self, accepted: bool): -        capture_event(self.unique_id, "accept_reject_diff", { +        posthog_logger.capture_event("accept_reject_diff", {              "accepted": accepted          }) @@ -450,8 +451,8 @@ async def websocket_endpoint(websocket: WebSocket, session_id: str = None):          if session_id is not None:              session_manager.registered_ides[session_id] = ideProtocolServer          other_msgs = await ideProtocolServer.initialize(session_id) -        capture_event(ideProtocolServer.unique_id, "session_started", { -                      "session_id": ideProtocolServer.session_id}) +        posthog_logger.capture_event("session_started", { +            "session_id": ideProtocolServer.session_id})          for other_msg in other_msgs:              handle_msg(other_msg) @@ -465,13 +466,13 @@ async def websocket_endpoint(websocket: WebSocket, session_id: str = None):          print("IDE wbsocket disconnected")      except Exception as e:          print("Error in ide websocket: ", e) -        capture_event(ideProtocolServer.unique_id, "gui_error", { -                      "error_title": e.__str__() or e.__repr__(), "error_message": '\n'.join(traceback.format_exception(e))}) +        posthog_logger.capture_event("gui_error", { +            "error_title": e.__str__() or e.__repr__(), "error_message": '\n'.join(traceback.format_exception(e))})          raise e      finally:          if websocket.client_state != WebSocketState.DISCONNECTED:              await websocket.close() -        capture_event(ideProtocolServer.unique_id, "session_ended", { -                      "session_id": ideProtocolServer.session_id}) +        posthog_logger.capture_event("session_ended", { +            "session_id": ideProtocolServer.session_id})          session_manager.registered_ides.pop(ideProtocolServer.session_id)  | 
