feat: Add datetime tracking to TelemetryService shutdown
This commit is contained in:
parent
d08b9bfd3d
commit
94be16eb43
1 changed files with 5 additions and 6 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
|
from datetime import datetime, timezone
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
import httpx
|
import httpx
|
||||||
|
|
@ -16,7 +17,7 @@ if TYPE_CHECKING:
|
||||||
|
|
||||||
class RunPayload(BaseModel):
|
class RunPayload(BaseModel):
|
||||||
isEndpointName: str
|
isEndpointName: str
|
||||||
isWebhook: bool
|
IsWebhook: bool
|
||||||
seconds: int
|
seconds: int
|
||||||
success: bool
|
success: bool
|
||||||
errorMessage: str
|
errorMessage: str
|
||||||
|
|
@ -24,10 +25,6 @@ class RunPayload(BaseModel):
|
||||||
|
|
||||||
class ShutdownPayload(BaseModel):
|
class ShutdownPayload(BaseModel):
|
||||||
timeRunning: int
|
timeRunning: int
|
||||||
startingFlowsCount: int
|
|
||||||
finalFlowsCount: int
|
|
||||||
startingCompCount: int
|
|
||||||
finalCompCount: int
|
|
||||||
|
|
||||||
|
|
||||||
class VersionPayload(BaseModel):
|
class VersionPayload(BaseModel):
|
||||||
|
|
@ -100,7 +97,8 @@ class TelemetryService(Service):
|
||||||
async def log_package_run(self, payload: RunPayload):
|
async def log_package_run(self, payload: RunPayload):
|
||||||
await self.telemetry_queue.put((self.send_telemetry_data, payload, "run"))
|
await self.telemetry_queue.put((self.send_telemetry_data, payload, "run"))
|
||||||
|
|
||||||
async def log_package_shutdown(self, payload: ShutdownPayload):
|
async def log_package_shutdown(self):
|
||||||
|
payload = ShutdownPayload(timeRunning=(datetime.now(timezone.utc) - self._start_time).seconds)
|
||||||
await self.telemetry_queue.put((self.send_telemetry_data, payload, "shutdown"))
|
await self.telemetry_queue.put((self.send_telemetry_data, payload, "shutdown"))
|
||||||
|
|
||||||
async def log_package_version(self):
|
async def log_package_version(self):
|
||||||
|
|
@ -129,6 +127,7 @@ class TelemetryService(Service):
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
self.running = True
|
self.running = True
|
||||||
|
self._start_time = datetime.now(timezone.utc)
|
||||||
self.worker_task = asyncio.create_task(self.telemetry_worker())
|
self.worker_task = asyncio.create_task(self.telemetry_worker())
|
||||||
asyncio.create_task(self.log_package_version())
|
asyncio.create_task(self.log_package_version())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue