taolib.testing.analytics#

用户行为分析模块。

提供用户行为追踪和分析功能,支持: - 页面浏览和点击追踪 - 功能使用情况分析 - 用户导航路径追踪 - 区域停留时间统计 - 关键流程流失点分析

使用方式:

from taolib.testing.analytics.models import EventCreate, EventType from taolib.testing.analytics.services import AnalyticsService

# 通过 AnalyticsService 摄入事件 service = AnalyticsService(event_repo, session_repo) result = await service.ingest_events(events)

启动 Web 服务器:

from taolib.testing.analytics.server.app import create_app

app = create_app() # 使用 uvicorn.run(app, host="0.0.0.0", port=8002)

Submodules#

Attributes#

Exceptions#

AggregationError

MongoDB 聚合管道执行失败。

AnalyticsError

分析模块基础异常。

AppNotFoundError

未知的应用标识。

EventValidationError

事件数据验证错误。

Classes#

DeviceType

设备类型。

EventBase

事件基础字段。

EventBatchCreate

批量创建事件的输入模型。

EventCreate

创建事件的输入模型。

EventDocument

事件的 MongoDB 文档模型。

EventResponse

事件的 API 响应模型。

EventType

事件类型。

SessionDocument

聚合会话的 MongoDB 文档模型。

Package Contents#

exception taolib.testing.analytics.AggregationError#

Bases: AnalyticsError

MongoDB 聚合管道执行失败。

exception taolib.testing.analytics.AnalyticsError#

Bases: Exception

分析模块基础异常。

exception taolib.testing.analytics.AppNotFoundError#

Bases: AnalyticsError

未知的应用标识。

exception taolib.testing.analytics.EventValidationError#

Bases: AnalyticsError

事件数据验证错误。

class taolib.testing.analytics.DeviceType#

Bases: enum.StrEnum

设备类型。

DESKTOP = 'desktop'#
MOBILE = 'mobile'#
TABLET = 'tablet'#
UNKNOWN = 'unknown'#
class taolib.testing.analytics.EventBase#

Bases: pydantic.BaseModel

事件基础字段。

event_type: taolib.testing.analytics.models.enums.EventType#
app_id: str#
session_id: str#
user_id: str | None#
timestamp: datetime.datetime#
page_url: str#
page_title: str#
referrer: str | None#
device_type: taolib.testing.analytics.models.enums.DeviceType#
user_agent: str | None#
screen_width: int | None#
screen_height: int | None#
metadata: dict[str, Any]#
class taolib.testing.analytics.EventBatchCreate#

Bases: pydantic.BaseModel

批量创建事件的输入模型。

events: list[EventCreate]#
class taolib.testing.analytics.EventCreate#

Bases: EventBase

创建事件的输入模型。

class taolib.testing.analytics.EventDocument#

Bases: EventBase

事件的 MongoDB 文档模型。

id: str#
model_config#
to_response() EventResponse#

转换为 API 响应。

class taolib.testing.analytics.EventResponse#

Bases: EventBase

事件的 API 响应模型。

id: str#
model_config#
class taolib.testing.analytics.EventType#

Bases: enum.StrEnum

事件类型。

PAGE_VIEW = 'page_view'#
CLICK = 'click'#
FEATURE_USE = 'feature_use'#
SESSION_START = 'session_start'#
SESSION_END = 'session_end'#
NAVIGATION = 'navigation'#
TIME_ON_SECTION = 'time_on_section'#
CUSTOM = 'custom'#
class taolib.testing.analytics.SessionDocument#

Bases: pydantic.BaseModel

聚合会话的 MongoDB 文档模型。

id: str#
app_id: str#
user_id: str | None#
device_type: taolib.testing.analytics.models.enums.DeviceType#
started_at: datetime.datetime#
ended_at: datetime.datetime | None#
duration_seconds: float | None#
page_count: int#
event_count: int#
entry_page: str#
exit_page: str | None#
pages_visited: list[str]#
model_config#
taolib.testing.analytics.__version__ = '0.1.0'#