-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
增加使用统计功能 #965
Comments
实现简述客户端:提供一个python脚本,通过指定参数或者自动获取,将上传所需的数据(包括可能的文件内容)搜集到,并发送http(s)请求,上传数据给服务器。更进一步的话,可封装为类似 服务器:在官网<www.paddlepaddle.org> 上新增一个接口,类似 特殊处理:考虑到paddlepaddle的用户中,不少是百度内部用户,而内部的运行环境可能不方便访问公司外的官网。如果确实有这种情况发生,可以在内部开一个转发服务,同时客户端脚本改为支持按 官网 > 内部服务 的顺序依次尝试上传。 |
接口定义服务器:
客户端:
|
实现方案服务器可采用任何主流的web实现方案(我个人习惯python+django……)。 不过可能要确认下:
如果正常的话,服务器在收到请求后要做的事情……
客户端提供python脚本,按之前所述获取几个参数的值,拼成POST请求发送给服务器即可。注意点是:
|
欢迎大家讨论:D |
@wangkuiyi 如果某次运行是用户ctrl+c结束的,或者长期运行没结束,那是不是和程序运行错误无法分辨了? 个人觉得如果正常运行只要统计次数、name、时间即可;反而是错误运行应该多搜集些信息,分析后有助于bug修复或用户体验改进。所以想在接口中把log文件和config文件上传。 另外土土问一下,paddle该怎么配置参数,能把log输出到文件呢?我说的不是 tee命令哈,我在paddle train时加上--log_dir=/xxxx/logs,但是没看到/xxxx/logs里面有日志文件反而还是屏幕输出了 |
@yebie tee是既保存为文件又可以输出在屏幕上吧,如果只想保存 log 到文件内,可以试试 |
@livc 我不是说shell的实现方式把log重定向到文件里,我是想要在paddle的命令中支持log写入到文件。 你说的是例如: 后者的好处是,如果要把log文件上传的功能集成到paddle之中,这种方式至少能知道从哪个目录里找log文件……前者就只能手动指定了。 |
个人感觉收集日志和配置文件,并不太合适。对用户的隐私不太尊重。 |
不要使用python。。因为不同用户的python解释器版本不一致,同时安装的第三方包不一致。这个很脆弱的。 如果只是请求服务的话,curl+bash应该足够搞定这些。 |
另外,如果真要做的话,不要存文件系统。直接扔数据库。一些常见的数据库性能上不会比文件系统差太多,同时还有更好的可扩展性。 |
需求
原始需求参考 #547 :想要统计用户demo或example中使用次数、时间、用户名等。
如果扩展一下,可以提供一个在线的 log 和/或 config 的上传工具,后续一方面可以为开发人员提供统计功能(次数统计、错误统计、用户习惯统计等)以优化代码;另一方面可以通过提炼规则,为用户提供自动的优化建议。
The text was updated successfully, but these errors were encountered: