summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-24 19:19:33 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-24 19:19:33 -0700
commit000e9c0735c50bd6cb63866441d7f73083665902 (patch)
treee721ae8223e4683f12522861d82036ead1f7993d /continuedev/src/continuedev/server
parent0672fa836c9e2b242fbc530ebdb645192c4b0590 (diff)
downloadsncontinue-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.py16
-rw-r--r--continuedev/src/continuedev/server/gui_protocol.py4
-rw-r--r--continuedev/src/continuedev/server/ide.py31
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)