Skip to content
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

Arthas 在线教程整理和编写补充 #1239

Closed
wants to merge 27 commits into from

Conversation

HollowMan6
Copy link
Contributor

@HollowMan6 HollowMan6 commented Jun 4, 2020

开发记录

Issue

开发中的在线教程实时预览

中文版

English Version

参考资料

Github: https://github.com/alibaba/arthas
文档: https://alibaba.github.io/arthas/

教程编写部分

To-do List

案例

  • Web Console
    • 中文
    • English
  • arthas-boot支持的参数
    • 中文
    • English
  • 排查函数调用异常现象
    • 中文
    • English
  • 热更新代码
    • 中文
    • English
  • 动态更新应用Logger Level
    • 中文
    • English
  • 排查logger冲突问题
    • 中文
    • English
  • 获取Spring Context
    • 中文
    • English
  • 排查HTTP请求返回401
    • 中文
    • English
  • 排查HTTP请求返回404
    • 中文
    • English
  • 理解Spring Boot应用的ClassLoader结构
    • 中文
    • English
  • 查找Top N线程
    • 中文
    • English
  • arthas-boot支持的参数
    • 中文
    • English
  • 以Java Agent的方式启动
    • 中文
    • English
  • 用户数据回报
    • 中文
    • English
  • 执行结果存日志
    • 中文
    • English
  • 批处理功能
    • 中文
    • English

更多案例等待添加中......

命令

  • 基础命令
    • 中文
    • English
  • dashboard
    • 中文
    • English
  • thread
    • 中文
    • English
  • jvm
    • 中文
    • English
  • sysprop
    • 中文
    • English
  • sysenv
    • 中文
    • English
  • vmoption
    • 中文
    • English
  • perfcounter
    • 中文
    • English
  • logger
    • 中文
    • English
  • mbean
    • 中文
    • English
  • getstatic
    • 中文
    • English
  • ognl
    • 中文
    • English
  • sc
    • 中文
    • English
  • sm
    • 中文
    • English
  • dump
    • 中文
    • English
  • heapdump
    • 中文
    • English
  • jad
    • 中文
    • English
  • classloader
    • 中文
    • English
  • mc
    • 中文
    • English
  • redefine
    • 中文
    • English
  • monitor
    • 中文
    • English
  • watch
    • 中文
    • English
  • trace
    • 中文
    • English
  • stack
    • 中文
    • English
  • tt
    • 中文
    • English
  • profiler
    • 中文
    • English
  • cat
    • 中文
    • English
  • echo
    • 中文
    • English
  • grep
    • 中文
    • English
  • tee
    • 中文
    • English
  • pwd
    • 中文
    • English
  • options
    • 中文
    • English

附:基础命令

help——查看命令帮助信息
cls——清空当前屏幕区域
session——查看当前会话的信息
reset——重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类
version——输出当前目标 Java 进程所加载的 Arthas 版本号
history——打印命令历史
quit——退出当前 Arthas 客户端,其他 Arthas 客户端不受影响
stop——关闭 Arthas 服务端,所有 Arthas 客户端全部退出
keymap——Arthas快捷键列表及自定义快捷键
cat——打印文件内容,和linux里的cat命令类似
echo–打印参数,和linux里的echo命令类似
grep——匹配查找,和linux里的grep命令类似
tee——复制标准输入到标准输出和指定的文件,和linux里的tee命令类似
pwd——返回当前的工作目录,和linux命令类似

第一部分

需要做的事情:

更新相关JS函数和页面,增加嵌套菜单,增加courses常量, scenarios常量, categories常量分别储存相关信息。

对于我所编写的多scenarios教程,网页URL的参数id设定为[course id]+" "+[scenarios id] 。

内嵌的katacoda id设定为arthas/courses/[course id]/[scenarios id] 。

页面示例:

深度截图_选择区域_20200616103821

To-do List

  • 相关JS函数和菜单编写
  • 案例
  • 基础命令和知识
  • dashboard
  • thread
  • jvm
  • sysprop
  • sysenv
  • vmoption
  • perfcounter
  • logger
  • mbean
  • getstatic
  • ognl
  • sc
  • sm
  • dump
  • heapdump
  • jad
  • classloader
  • mc
  • redefine
  • monitor
  • watch
  • trace
  • stack
  • tt
  • profiler
  • options

第二部分

为每个命令教程页首增加到在线教程的链接: https://github.com/alibaba/arthas/tree/master/site/src/site/sphinx/*.md

image

To-do List

  • cat
    • 中文
    • English
  • echo
    • 中文
    • English
  • grep
    • 中文
    • English
  • tee
    • 中文
    • English
  • pwd
    • 中文
    • English
  • reset
    • 中文
    • English
  • keymap
    • 中文
    • English
  • dashboard
    • 中文
    • English
  • thread
    • 中文
    • English
  • jvm
    • 中文
    • English
  • sysprop
    • 中文
    • English
  • sysenv
    • 中文
    • English
  • vmoption
    • 中文
    • English
  • perfcounter
    • 中文
    • English
  • logger
    • 中文
    • English
  • mbean
    • 中文
    • English
  • getstatic
    • 中文
    • English
  • ognl
    • 中文
    • English
  • sc
    • 中文
    • English
  • sm
    • 中文
    • English
  • dump
    • 中文
    • English
  • heapdump
    • 中文
    • English
  • jad
    • 中文
    • English
  • classloader
    • 中文
    • English
  • mc
    • 中文
    • English
  • redefine
    • 中文
    • English
  • monitor
    • 中文
    • English
  • watch
    • 中文
    • English
  • trace
    • 中文
    • English
  • stack
    • 中文
    • English
  • tt
    • 中文
    • English
  • profiler
    • 中文
    • English
  • options
    • 中文
    • English

@HollowMan6 HollowMan6 force-pushed the master branch 3 times, most recently from 8afe4b5 to f80a3b2 Compare June 4, 2020 15:09
@HollowMan6
Copy link
Contributor Author

HollowMan6 commented Jun 4, 2020

阶段汇报

@HollowMan6
Copy link
Contributor Author

HollowMan6 commented Jun 9, 2020

阶段汇报

  • 完成thread命令的教程编纂
  • 为每个scenarios增加了难度分级和预估时间
  • 进一步完善基本命令教程
    • 更改Arthas demo为basic教程中的并删除了Web Port 80选项卡
    • keymap命令中键盘位由图片展示改为了直接表格展示
    • 完善reset命令教程,增强可互动性

@CLAassistant
Copy link

CLAassistant commented Jun 12, 2020

CLA assistant check
All committers have signed the CLA.

@HollowMan6 HollowMan6 force-pushed the master branch 3 times, most recently from 87ffda4 to d4898c8 Compare June 15, 2020 19:07
@HollowMan6
Copy link
Contributor Author

阶段汇报

  • 增加了一些用户案例
    • 以Java Agent的方式启动
    • 用户数据回报
    • 执行结果存日志
    • 批处理功能
  • 进一步完善基本命令教程,增加了一些基本命令
    • cat
    • echo
    • grep
    • tee
    • pwd

@HollowMan6
Copy link
Contributor Author

阶段汇报

@hengyunabc
Copy link
Collaborator

  1. 这个PR太大了,需要拆分开来
  2. 菜单上,可能要重新设计下。 也许可以考虑为出多个菜单,比如 入门教程命令教程, 案例教程

@HollowMan6
Copy link
Contributor Author

  1. 这个PR太大了,需要拆分开来

OK, 那我后面一个一个命令,一个一个案例的发。

  1. 菜单上,可能要重新设计下。 也许可以考虑为出多个菜单,比如 入门教程命令教程, 案例教程

这样的话,能否案例教程设置一个Senario, 入门教程设置一个Senario, 命令教程按我上面的分类分别各设置一个Senario,然后菜单按这三个总教程作为主菜单,对于命令教程,二级菜单分别指向这些Senario? 因为我觉得不把命令分类,直接一股脑展现出来的话菜单看着比较乱,对用户不太友好。

如果您觉得把同类命令放在一个Senario中不太好的话,我觉得可以继续维持现在我的菜单设计。

@HollowMan6 HollowMan6 closed this Jul 8, 2020
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.

3 participants