Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2301_76266857
unidocs-zh
提交
162ecd75
U
unidocs-zh
项目概览
2301_76266857
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
162ecd75
编写于
4月 24, 2022
作者:
JiaRongPing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update: uni统计说明文档增加配置项说明和服务端说明
上级
7e6479ea
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
198 addition
and
0 deletion
+198
-0
docs/uni-stat-v2.md
docs/uni-stat-v2.md
+198
-0
未找到文件。
docs/uni-stat-v2.md
浏览文件 @
162ecd75
...
...
@@ -158,6 +158,183 @@ uni统计2.0是基于uniCloud开发的开源、免费统计平台。
3.
发行项目到对应平台 ,此时数据已经成功采集到
`uni-admin`
中
### uni统计公共模块配置项说明
uni统计配置项存放于uniCloud配置中心(
`uni-config-center`
)下的
`uni-stat/config.json`
文件中,用户可根据自身系统需要自定义各配置项的值。
-
注意:修改uni统计配置项后需要重新上传公共模块
`uni-config-center`
后才会生效。
#### 基础参数
|配置项 |默认值 |说明 |
| :--------: |:---------:|:-------------------: |
| debug | false |开启调试模式 true: 开启,false:关闭,开启后会产生大量日志,生产环境请关闭。 |
| redis | false |开启redis缓存,开启后可以降低数据库查询压力,提升uni统计性能,可按需决定是否开启。
[
开启方法
](
#开启redis缓存
)
|
| cachetime | 604800 |redis缓存有效期,单位秒。 |
| sessionExpireTime| 1800 |会话过期时间,该配置用来判断当前会话是否已过期,一般情况下无需修改此项。 |
| realtimeStat | true |开启实时统计,true: 开启,false:关闭,开启后会每小时统计一次,数据库读写次数会增多,可按需决定是否开启。 |
| cronMin | false |开启分钟级定时任务,true: 开启,false:关闭。开启后定时任务将细分到分钟级执行,分摊数据计算压力,适合应用日活较大或有特殊需求的用户群体。开启方法见下方
[
开启分钟级定时任务
](
#开启分钟级定时任务
)
。 |
| cron | - |用于配置定时任务触发时间,详情见下方
[
定时任务配置说明
](
#定时任务配置说明
)
。 |
| batchInsertNum | 5000 |当有批量写入操作时,限制单次写入数据库的最大条数。为防止写入超时,最大值为5000条。 |
| errorCheck | - |错误检测,此项用于在规定时间内限制相同的错误日志写入数据库,防止有高频错误产生时造成大量的数据库写入操作。
[
详情
](
#错误检测配置说明
)
|
| cleanLog | - |日志清理,此项用于配置定时清理过期的日志,减少数据库数据的存储量,提升uni统计性能。
[
详情
](
#日志清理配置说明
)
|
#### 开启redis缓存
-
注意:开启redis缓存前,需要先确认是否已在布署uni统计的服务空间内购买redis服务,如果没有购买则需要先购买redis服务。
开启步骤:
1.
修改uni统计配置项将
`redis`
参数的值改为
`true`
。
2.
分别在数据
`上报数据接收器(uni-stat-receiver)`
和
`定时任务云函数(uni-stat-cron)`
下的
`package.json`
文件中添加redis拓展库。
3.
重新上传部署数据
`上报数据接收器(uni-stat-receiver)`
、
`定时任务云函数(uni-stat-cron)`
和
`配置中心(uni-config-center)`
。
```
javascript
//配置uni-stat-receiver的redis拓展库
{
"
name
"
:
"
uni-stat-receiver
"
,
"
dependencies
"
:
{
"
uni-id
"
:
"
file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id
"
,
"
uni-stat
"
:
"
file:../common/uni-stat
"
},
"
extensions
"
:
{
"
uni-cloud-jql
"
:
{},
"
uni-cloud-redis
"
:
{}
// 配置为此云函数开启redis扩展库,值为空对象留作后续追加参数,暂无内容。如拷贝此配置项到package.json文件,切记去除注释。
}
}
//配置uni-stat-cron的redis拓展库
{
"
name
"
:
"
uni-stat-cron
"
,
"
version
"
:
"
1.0.0
"
,
"
description
"
:
""
,
"
main
"
:
"
index.js
"
,
"
scripts
"
:
{
"
test
"
:
"
echo
\"
Error: no test specified
\"
&& exit 1
"
},
"
author
"
:
""
,
"
license
"
:
"
ISC
"
,
"
dependencies
"
:
{
"
uni-stat
"
:
"
file:../common/uni-stat
"
},
"
extensions
"
:
{
"
uni-cloud-redis
"
:
{}
// 配置为此云函数开启redis扩展库,值为空对象留作后续追加参数,暂无内容。如拷贝此配置项到package.json文件,切记去除注释。
},
"
cloudfunction-config
"
:
{
"
concurrency
"
:
1
,
"
memorySize
"
:
512
,
"
timeout
"
:
600
,
"
triggers
"
:
[
{
"
name
"
:
"
uni-stat-cron
"
,
"
type
"
:
"
timer
"
,
"
config
"
:
"
0 0 * * * * *
"
}
]
}
}
```
#### 定时任务配置说明
`cron`
参数用于配置定时任务触发时间,一般无需修改此项。
|参数 |说明 |
| :--------:|:-------------------: |
| type |定时任务类型:如
`stat`
:基础数据统计 |
| time |触发时间表达式:
`* * * *`
共四位,由左到右分别代表:星期(1-7代表周一到周日)/日/时/分。例:每天晚上0点0分触发,应写作
`* * 0 0`
|
目前定时任务类型有:
-
`stat`
:基础数据统计
-
`retention-device`
:设备留存数据统计
-
`retention-user`
:用户留存数据统计
-
`active-device`
:活跃设备数据归档
-
`active-user`
:活跃用户数据归档
-
`page`
:页面数据统计
-
`event`
:事件数据统计
-
`error`
:错误数据统计
#### 开启分钟级定时任务
-
阿里云服务空间开启步骤:
1.
因阿里云服务空间默认不支持分钟级定时器,必须先向DCloud申请分钟级定时器后再开启。
[
申请方式
](
https://uniapp.dcloud.io/uniCloud/price.html#aliyun
)
2.
修改uni统计配置项将
`cronMin`
参数的值改为
`true`
。
3.
修改
`定时任务云函数(uni-stat-cron)`
下的
`package.json`
文件中的触发器配置。
4.
重新上传部署
`定时任务云函数(uni-stat-cron)`
和
`配置中心(uni-config-center)`
。
```
javascript
//config选项为阿里云定时器的cron表达式 将原小时级表达式 "config": "0 0 * * * * *" 更改为分钟级表达式 "config": "0 * * * * * *" 后重新上传部署云函数即可.
"
cloudfunction-config
"
:
{
"
concurrency
"
:
1
,
"
memorySize
"
:
256
,
"
timeout
"
:
600
,
"
triggers
"
:
[
{
"
name
"
:
"
uni-stat-cron
"
,
"
type
"
:
"
timer
"
,
"
config
"
:
"
0 * * * * * *
"
}
]
}
```
-
腾讯云服务空间开启步骤:
1.
修改uni统计配置项将
`cronMin`
参数的值改为
`true`
。
2.
修改
`定时任务云函数(uni-stat-cron)`
下的
`package.json`
文件中的触发器配置。
3.
重新上传部署
`定时任务云函数(uni-stat-cron)`
和
`配置中心(uni-config-center)`
。
```
javascript
//config选项为阿里云定时器的cron表达式 将原小时级表达式 "config": "0 0 * * * * *" 更改为分钟级表达式 "config": "0 * * * * * *" 后重新上传部署云函数即可.
"
cloudfunction-config
"
:
{
"
concurrency
"
:
1
,
"
memorySize
"
:
256
,
"
timeout
"
:
600
,
"
triggers
"
:
[
{
"
name
"
:
"
uni-stat-cron
"
,
"
type
"
:
"
timer
"
,
"
config
"
:
"
0 * * * * * *
"
}
]
}
```
#### 错误检测配置说明
`errorCheck`
参数用于在规定时间内限制相同的错误日志写入数据库,防止有高频错误产生时造成大量的数据库写入操作,可按需开启或关闭。
|参数 |说明 |
| :--------:|:-------------------: |
| needCheck|是否需要检测:true:是;false:否 |
| checkTime|错误检测间隔时间,单位
`分钟`
。 |
#### 日志清理配置说明
`cleanLog`
参数用于配置定时清理过期的日志,减少数据库数据的存储量,提升uni统计性能。注意:因为留存统计的需要,基础会话日志和用户会话日志要至少保存31天的日志,否则会对留存统计造成影响。
|参数 |说明 |
| :--------: |:-------------------: |
| open |是否开启日志清理:true:是;false:否 |
| reserveDays |各项日志的保留天数配置,参数格式:
`日志类型:保留天数`
,例如:
`sessionLog:31`
代表保留31天的会话日志,保留天数设置为0时表示永久保留(此举会累积大量无用数据,不推荐) |
目前可配置的日志类型有:
-
`基础会话日志:sessionLog`
-
`用户会话日志:userSessionLog`
-
`页面日志:pageLog`
-
`事件日志:eventLog`
-
`分享日志:shareLog`
-
`错误日志:errorLog`
### 注意事项
-
客户端和统计后台两个项目务必关联同一个服务空间,且uni-admin中所有云函数、公共模板等都已经上传部署到该服务空间
-
使用 uni 统计必须配置 APPID 才能正常使用。
[
DCloud的Appid有什么用,如需转让应用怎么做
](
https://ask.dcloud.net.cn/article/35907
)
...
...
@@ -165,4 +342,25 @@ uni统计2.0是基于uniCloud开发的开源、免费统计平台。
-
不支持 CLI 项目
### 开源代码解读
#### 前端SDK说明
#### uni-admin说明
#### 服务端说明
##### 1. 服务端构成
-
`uni-config-center/uni-stat 配置模块`
:给
`uni-stat 公共模块`
提供运行必要的配置参数。
-
`uni-stat 公共模块`
:数据处理模块,包括收集上报数据的处理入库及定时任务的数据处理。
-
`uni-stat-receiver 上报数据接收器`
:接收客户端上报数据并转发给公共模块处理。注意:该云对象依赖于
`uni-id`
公共模块。
-
`uni-stat-cron 定时任务云函数`
:触发定时任务并转发给公共模块处理
##### 2. 公共模块结构说明
-
`shared目录`
公共模块,提供公共函数库等支持。
-
`stat/mod目录`
数据模型,提供具体业务实现。
-
`stat/lib目录`
工具类类库,提供日期计算、数据加密等额外功能支持。
-
`stat/report.js文件`
数据上报功能的分发入口文件。
-
`stat/stat.js文件`
数据统计及日志清理功能的分发入口文件。
-
`index.js文件`
代理入口文件。
### 扩展和自定义方式
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录