`
mryufeng
  • 浏览: 982282 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

erlang的profile工具原理和优缺点

阅读更多
erlang的tools application下包含了一系列的profile工具, 包括 eprof cprof fprof, 具体的使用可以参看文档和<< erlang effective guide>>.

我这里要说的是他们的工作原理。 这些模块的核心都是根据erlang的trace机制实现的。在模块执行的时候,trace机制会通知那个函数被调用 返回。根据这些信息就可以统计出来函数调用的频度,调用栈等。

但是利用这个机制会有严重的性能损失。因为每个函数调用都要发送一条trace信息,每个trace 信息会引起上下文切换 而且要耗费2-3的时间。这个对大型的系统是不可接受的。

所以知道这些原理以后, 我们在profile大型的系统的时候,我们可以在dbg模块的帮助下, 只收集我们感兴趣的东西,而且严格限定范围,避免对系统造成大的干扰,这样收集出来的东西才有意义。
分享到:
评论
1 楼 litaocheng 2009-10-10  
trace真是一切工具之源啊...

相关推荐

    erlang高级原理和应用PPT

    "erlang高级原理和应用PPT" 这个标题表明了文档的主要内容,即关于Erlang编程语言的高级概念和技术在实际应用中的讲解。Erlang是一种面向并发、分布式计算的函数式编程语言,常用于构建高可用性、容错性强的系统,...

    二郎助手erlang开发工具、erlang编辑器

    在IT领域,Erlang是一种强大的编程语言,尤其在并发处理和分布式系统方面表现出色。为了更好地支持Erlang的开发,二郎助手应运而生,它是一款专为Elang语言定制的开发工具,旨在提升开发者的效率,提供更友好的编程...

    ErlangB和ErlangC计算工具(exe可执行文件+excel两个)

    总的来说,Erlang B和Erlang C模型是电信系统设计中的基础工具,而提供的计算工具则是将理论转化为实践的关键桥梁。通过这些工具,我们可以更深入地理解通信网络的性能瓶颈,并制定相应的优化方案,以提高服务质量和...

    eclipse erlang 开发工具插件 2011-3 月 the stable releases

    Eclipse Erlang 开发工具插件是为Eclipse IDE量身定制的一款扩展,旨在提供一个高效、便捷的环境来编写、测试和调试Erlang代码。这款插件名为"Erlide",它在2011年3月发布了稳定版本,以满足开发者对Erlang语言日益...

    Erlang高级应用和原理

    【Erlang高级应用和原理】深入探讨 Erlang是一种高级编程语言,以其在并发处理、分布式计算和容错性方面的强大能力而闻名。它在国内和国外都有多个成功的应用案例,例如校内的广告平台、Sohu的白社会、阿里巴巴的...

    erlang打包工具

    erlang打包工具

    Erlang OTP 设计原理 - 中文版

    本文档将详细介绍这些概念,并在后续章节中进一步深入讲解每种行为模块的设计原理和用法。 在监督树的概念中,我们有两类关键的进程:督程(supervisor)和佣程(worker)。督程进程负责监视佣程进程的状态,一旦佣...

    Erlang常用工具介绍

    对Erlang的一些常用的开发或调试工具进行了介绍

    Erlang的高级特性和应用

    Erlang 的进程模型支持抢占式调度,通信机制基于消息传递,且有专门的监控和调试工具,如etop。 **Erlang 的系统组成** - 编译器:负责将Erlang代码编译为opcode - 库:包含各种标准模块和函数 - VM + 基本库:...

    Erlang OTP设计原理文档 中文版本

    Erlang OTP(Open Telephony Platform)是Erlang编程语言的一个核心部分,它提供了一套强大的工具和库,用于构建可靠、可扩展和容错的分布式系统。OTP设计原则着重于实现高度并发、容错性和高效能。下面将详细讨论...

    Erlang高级原理和应用 并行编程

    Erlang 高级原理和应用 并行编程 脚本语言

    rebar工具开发erlang工程项目和发布erlang工程项目

    【描述】: 本文将详细介绍如何利用rebar工具来开发和发布Erlang工程,包括项目结构、配置文件的编写以及具体操作步骤。 【标签】: Erlang, rebar, 项目开发, 发布 【正文】: 在Erlang开发中,rebar是一个非常重要...

    Erlang_OTP_设计原理(含目录).pdf

    Erlang OTP设计原理是一份深入探讨Erlang/OTP(Open Telecom Platform)框架中设计模式和组织代码原则的文档。Erlang OTP作为Erlang语言的中间件平台,提供了构建可扩展和容错系统的标准方法。 文档开篇就介绍了...

    scala erlang groovy python 原理 比较 分析

    标题和描述均提到了对五种编程语言——Scala、Erlang、Groovy、Python以及它们各自的原理、比较和分析。这些语言各自拥有独特的特性和应用场景,在编程领域扮演着不同的角色。下面,我们将深入探讨每种语言的关键...

    Erlang和RabbitMQ安装包

    总结来说,Erlang和RabbitMQ是构建高并发、分布式系统的重要工具,RabbitMQ利用Erlang的强大特性提供了稳定、高效的消息传递服务。理解并熟练掌握这两者,对于开发大规模、高可用性的应用程序具有重要意义。

    erlang25.0 windows版本

    - **Rebar3**:Erlang的构建和依赖管理工具,帮助你组织项目结构、编译代码和管理依赖。 - **OTP(Open Telephony Platform)**:Erlang的核心库,包含大量预先设计的模块,用于处理常见的系统任务,如错误处理、...

    Erlang--性能分析工具之eprof

    通过深入理解eprof的工作原理和使用方法,我们可以更好地优化Erlang程序。 eprof工具主要提供了以下几个核心功能: 1. **调用树(Call Tree)**:eprof通过记录函数调用关系,构建出调用树。这使得我们能直观地...

    erlang编程 Introducing Erlang

    "Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心概念和特性。 ### 1. 函数式编程基础 Erlang基于函数式编程范式,这意味着程序由纯函数构成,没有副作用。...

    erlang22最新下载包

    Erlang22是Erlang的第22个主要版本,它包含了对语言特性的改进、性能优化以及一些新的库和工具。 在“erlang22最新下载包”中,提供的文件是`otp_src_22.1`,这表明这是一个源代码包,包含Erlang/OTP(开放电信平台...

    erlang深度分析.pdf

    Erlang社区提供了多种工具帮助开发和调试,例如调试器erts_debug和observer用于监控运行时性能。hotreplace模块允许代码热替换,不必重启节点即可更新模块。 #### 5. Erlang的分布式应用 Erlang的分布式应用通过VM...

Global site tag (gtag.js) - Google Analytics