Skip to content

feat: add analytics page with multi-dimensional filtering - #2005

Merged
looplj merged 1 commit into
looplj:unstablefrom
ChancenJ:feat/analytics-page
Jul 12, 2026
Merged

looplj merged 1 commit into
looplj:unstablefrom
ChancenJ:feat/analytics-page

Conversation

@ChancenJ

Copy link
Copy Markdown
Contributor

功能介绍

新增数据分析页面,提供多维度、可视化的使用数据分析能力。

入口

仪表盘页面新增"数据详情分析"入口卡片,点击进入数据分析页面。

主要功能

筛选系统

  • 时间范围筛选:支持自定义日期选择,提供快捷按钮(今天、近7天、近30天、本月、本年、使用以来)
  • 多维度筛选:支持按项目、渠道、模型、API密钥、用户进行筛选
  • 筛选状态以标签形式展示,支持单独移除

数据概览

  • 概览卡片:展示总Token、总请求数、总费用、缓存命中率等关键指标
  • 支持输入/输出/缓存Token的细分展示

可视化图表

  • 使用趋势图:组合图表展示Token消耗、请求数、费用的时间趋势
  • 维度分布饼图:按渠道、模型、API密钥、用户四个维度展示Token分布、请求分布、费用分布

数据详情

  • 维度详情表格:支持按渠道、模型、API密钥、用户切换查看详细数据

实现效果

入口:
image

数据分析:
image
image
image

@greptile-apps

greptile-apps Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a new analytics page for multi-dimensional usage reporting. The main changes are:

  • New analytics filters, overview cards, trend charts, pie charts, and detail tables in the frontend.
  • A dashboard entry point and authenticated analytics route.
  • GraphQL analytics queries for metadata, overview totals, daily stats, and dimension breakdowns.
  • Backend aggregation helpers for date, project, channel, model, API key, and user filters.
  • English and Chinese localization for the new analytics UI.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.
  • The API key and user filter behavior now matches the documented combined-filter semantics.
  • Empty user-key matches now return empty analytics results instead of widening the query.

Important Files Changed

Filename Overview
internal/server/gql/analytics_helpers.go Adds shared analytics filter logic, including corrected API key and user filter handling.
internal/server/gql/analytics.resolvers.go Adds analytics metadata, overview, daily, and dimension aggregation resolvers.
internal/server/gql/analytics.graphql Defines analytics filter inputs and query result types.
frontend/src/features/analytics/index.tsx Adds the main analytics page layout and data wiring.
frontend/src/features/analytics/components/analytics-filter-bar.tsx Adds date and dimension filter controls for the analytics page.

Reviews (3): Last reviewed commit: "feat: add analytics page with multi-dime..." | Re-trigger Greptile

Comment thread internal/server/gql/analytics_helpers.go Outdated
Comment thread internal/server/gql/analytics_helpers.go
@ChancenJ
ChancenJ force-pushed the feat/analytics-page branch from 28f9d96 to b293f7f Compare July 12, 2026 07:07
@ChancenJ
ChancenJ marked this pull request as draft July 12, 2026 07:10
@ChancenJ
ChancenJ force-pushed the feat/analytics-page branch from b293f7f to ebe4e8f Compare July 12, 2026 07:57
@ChancenJ
ChancenJ marked this pull request as ready for review July 12, 2026 07:58
@looplj
looplj merged commit 6346a4f into looplj:unstable Jul 12, 2026
5 checks passed
@ChancenJ
ChancenJ deleted the feat/analytics-page branch July 17, 2026 03:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants