原创文章。转载请注明出处:server非业余研究http://blog.csdn.net/erlib 作者Sunface
联系邮箱:[email protected]
Chapter 5 Runtime Metrics
执行时指标(Runtime Metrics)
One of the best selling points of the Erlang VM for production use is how transparent it can be for all kinds of introspection, debugging, profiling, and analysis at run time.
?The advantage of having these runtime metrics accessible programmatically is that building tools relying on them is easy, and building automation for some tasks or watchdogs is equally simple 1.
?Then, in times of need, it’s also possible to bypass the tools and go direct to the VM for information.
Erlang VM透明的自省机制是Erlang最好的卖点之中的一个:VM执行时的debug,性能測试和系统分析。
?这些可供执行时以程序方式訪问的指标长处在于:用它们构建工具很easy,并且使得某些任务构建自己主动化或监管机制(watchdogs)也很easy1。
甚至在须要时,直接向VM获取信息(无需使用工具)。?A practical approach to growing a system and keeping it healthy in production is to make sure all angles are observable: in the large, and in the small. There’s no generic recipe to tell in advance what is going to be normal or not.
?You want to keep a lot of data and to look at it from time to time to form an idea about what your system looks like under normal circumstances. The day something goes awry, you will have all these angles you’ve grown to know, and it will be simpler to find what is off and needs fixing.?当系统不断庞大时假设还要保证系统健康,那么一个很好的实践办法就是保证系统的各个方面都是能够被监測的,这里并没有预測系统行为的通用方法。
?你须要不断地保存查看系统的相关数据。了解你的系统在正常情况下是什么状态。等遇到问题时。你就能及时发现问题。然后轻松地找出错误并修复它。?For this chapter (and most of those that follow), most of the concepts or features to be shown are accessible through code in the standard library, part of the regular OTP distribution.
?However, these features aren’t all in one place, and can make it too easy to shoot yourself in the foot within a production system. They also tend to be closer to building blocks than usable tools.?这一章节(以及接下来的大部分章节),绝大部分的概念或特性都是能够通过标准库来訪问的。另一部分是经常使用的OTP分布(OTP distuibution)。
?但这些特性并非都在同一个地方。并且在生产系统中很容易让你搬石头砸自己的脚。相比那些可用工具(usable tools)来说。他们更倾向于构建块。?Therefore, to make the text lighter and to be more usable, common operations have been regrouped in the recon 2 library, and are generally production-safe.?因此,为了使文本更加轻。更实用,经常使用的操作都被放在了recon2库里。他们都是能够放心使用的。[1] Making sure your automated processes don’t run away and go overboard with whatever corrective actions they take is more complex
[2] http://ferd.github.io/recon/[注1]:确保你的自己主动化过程不走极端,不跑偏。
[注2]:http://ferd.github.io/recon/。